expressir 0.2.5-x64-mingw32 → 0.2.7-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (526) hide show
  1. checksums.yaml +5 -5
  2. data/.cross_rubies +30 -0
  3. data/.github/workflows/rake.yml +45 -46
  4. data/.github/workflows/release.yml +84 -75
  5. data/.gitignore +17 -15
  6. data/.gitmodules +3 -3
  7. data/.rspec +2 -2
  8. data/.rubocop.yml +508 -508
  9. data/Gemfile +4 -6
  10. data/README.adoc +147 -147
  11. data/Rakefile +11 -17
  12. data/bin/console +12 -12
  13. data/bin/rspec +29 -29
  14. data/bin/setup +8 -8
  15. data/demo.rb +18 -18
  16. data/docs/development.md +90 -90
  17. data/exe/expressir +20 -20
  18. data/exe/generate-parser +47 -47
  19. data/expressir.gemspec +43 -40
  20. data/lib/expressir/cli/ui.rb +36 -36
  21. data/lib/expressir/cli.rb +27 -27
  22. data/lib/expressir/config.rb +23 -23
  23. data/lib/expressir/express/aggregate_dimension.rb +38 -38
  24. data/lib/expressir/express/attribute.rb +15 -15
  25. data/lib/expressir/express/comment.rb +7 -7
  26. data/lib/expressir/express/defined_type.rb +36 -36
  27. data/lib/expressir/express/derived.rb +65 -65
  28. data/lib/expressir/express/derived_aggregate.rb +43 -43
  29. data/lib/expressir/express/entity.rb +137 -137
  30. data/lib/expressir/express/explicit.rb +70 -70
  31. data/lib/expressir/express/explicit_aggregate.rb +46 -46
  32. data/lib/expressir/express/explicit_or_derived.rb +16 -16
  33. data/lib/expressir/express/global_rule.rb +44 -44
  34. data/lib/expressir/express/interface_specification.rb +51 -51
  35. data/lib/expressir/express/interfaced_item.rb +38 -38
  36. data/lib/expressir/express/inverse.rb +46 -46
  37. data/lib/expressir/express/inverse_aggregate.rb +37 -37
  38. data/lib/expressir/express/model_element.rb +7 -7
  39. data/lib/expressir/express/named_type.rb +19 -19
  40. data/lib/expressir/express/remark.rb +8 -8
  41. data/lib/expressir/express/repository.rb +306 -306
  42. data/lib/expressir/express/schema_definition.rb +96 -96
  43. data/lib/expressir/express/subtype_constraint.rb +14 -14
  44. data/lib/expressir/express/type.rb +26 -26
  45. data/lib/expressir/express/type_aggregate.rb +42 -42
  46. data/lib/expressir/express/type_enum.rb +29 -29
  47. data/lib/expressir/express/type_parser.rb +45 -45
  48. data/lib/expressir/express/type_select.rb +82 -82
  49. data/lib/expressir/express/unique_rule.rb +35 -35
  50. data/lib/expressir/express/where_rule.rb +32 -32
  51. data/lib/expressir/express.rb +11 -11
  52. data/lib/expressir/express_exp/2.4/express_parser.so +0 -0
  53. data/lib/expressir/express_exp/2.5/express_parser.so +0 -0
  54. data/lib/expressir/express_exp/2.6/express_parser.so +0 -0
  55. data/lib/expressir/express_exp/2.7/express_parser.so +0 -0
  56. data/lib/expressir/express_exp/3.0/express_parser.so +0 -0
  57. data/lib/expressir/express_exp/formatter.rb +1449 -1449
  58. data/lib/expressir/express_exp/parser.rb +40 -35
  59. data/lib/expressir/express_exp/visitor.rb +2463 -2450
  60. data/lib/expressir/express_parser.rb +30 -30
  61. data/lib/expressir/model/attribute.rb +26 -26
  62. data/lib/expressir/model/constant.rb +16 -16
  63. data/lib/expressir/model/entity.rb +45 -45
  64. data/lib/expressir/model/enumeration_item.rb +10 -10
  65. data/lib/expressir/model/expressions/aggregate_initializer.rb +12 -12
  66. data/lib/expressir/model/expressions/aggregate_item.rb +14 -14
  67. data/lib/expressir/model/expressions/attribute_reference.rb +14 -14
  68. data/lib/expressir/model/expressions/binary_expression.rb +39 -39
  69. data/lib/expressir/model/expressions/call.rb +14 -14
  70. data/lib/expressir/model/expressions/entity_constructor.rb +14 -14
  71. data/lib/expressir/model/expressions/group_reference.rb +14 -14
  72. data/lib/expressir/model/expressions/index_reference.rb +16 -16
  73. data/lib/expressir/model/expressions/interval.rb +20 -20
  74. data/lib/expressir/model/expressions/query_expression.rb +25 -25
  75. data/lib/expressir/model/expressions/simple_reference.rb +12 -12
  76. data/lib/expressir/model/expressions/unary_expression.rb +18 -18
  77. data/lib/expressir/model/function.rb +61 -61
  78. data/lib/expressir/model/identifier.rb +9 -8
  79. data/lib/expressir/model/interface.rb +17 -17
  80. data/lib/expressir/model/literals/binary.rb +12 -12
  81. data/lib/expressir/model/literals/integer.rb +12 -12
  82. data/lib/expressir/model/literals/logical.rb +16 -16
  83. data/lib/expressir/model/literals/real.rb +12 -12
  84. data/lib/expressir/model/literals/string.rb +14 -14
  85. data/lib/expressir/model/parameter.rb +16 -16
  86. data/lib/expressir/model/procedure.rb +59 -59
  87. data/lib/expressir/model/renamed_ref.rb +12 -12
  88. data/lib/expressir/model/repository.rb +18 -18
  89. data/lib/expressir/model/rule.rb +61 -61
  90. data/lib/expressir/model/schema.rb +66 -66
  91. data/lib/expressir/model/scope.rb +16 -16
  92. data/lib/expressir/model/statements/alias.rb +25 -25
  93. data/lib/expressir/model/statements/assignment.rb +14 -14
  94. data/lib/expressir/model/statements/call.rb +14 -14
  95. data/lib/expressir/model/statements/case.rb +16 -16
  96. data/lib/expressir/model/statements/case_action.rb +14 -14
  97. data/lib/expressir/model/statements/compound.rb +12 -12
  98. data/lib/expressir/model/statements/escape.rb +7 -7
  99. data/lib/expressir/model/statements/if.rb +16 -16
  100. data/lib/expressir/model/statements/null.rb +7 -7
  101. data/lib/expressir/model/statements/repeat.rb +33 -33
  102. data/lib/expressir/model/statements/return.rb +12 -12
  103. data/lib/expressir/model/statements/skip.rb +7 -7
  104. data/lib/expressir/model/subtype_constraint.rb +26 -26
  105. data/lib/expressir/model/type.rb +23 -23
  106. data/lib/expressir/model/types/aggregate.rb +16 -16
  107. data/lib/expressir/model/types/array.rb +20 -20
  108. data/lib/expressir/model/types/bag.rb +16 -16
  109. data/lib/expressir/model/types/binary.rb +14 -14
  110. data/lib/expressir/model/types/boolean.rb +7 -7
  111. data/lib/expressir/model/types/enumeration.rb +18 -18
  112. data/lib/expressir/model/types/generic.rb +12 -12
  113. data/lib/expressir/model/types/generic_entity.rb +12 -12
  114. data/lib/expressir/model/types/integer.rb +7 -7
  115. data/lib/expressir/model/types/list.rb +18 -18
  116. data/lib/expressir/model/types/logical.rb +7 -7
  117. data/lib/expressir/model/types/number.rb +7 -7
  118. data/lib/expressir/model/types/real.rb +12 -12
  119. data/lib/expressir/model/types/select.rb +20 -20
  120. data/lib/expressir/model/types/set.rb +16 -16
  121. data/lib/expressir/model/types/string.rb +14 -14
  122. data/lib/expressir/model/unique.rb +14 -14
  123. data/lib/expressir/model/variable.rb +16 -16
  124. data/lib/expressir/model/where.rb +14 -14
  125. data/lib/expressir/model.rb +64 -64
  126. data/lib/expressir/parser/owl_parser.rb +8 -8
  127. data/lib/expressir/parser.rb +6 -6
  128. data/lib/expressir/version.rb +3 -3
  129. data/lib/expressir.rb +21 -21
  130. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp +9589 -9589
  131. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl +36619 -36619
  132. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.xml +13293 -13293
  133. data/original/examples/employment/eclipse/.project +17 -17
  134. data/original/examples/employment/eclipse/Express/employment_schema.exp +33 -33
  135. data/original/examples/employment/eclipse/Express/employment_schema.xmi +77 -77
  136. data/original/examples/employment/eclipse/Express/employment_schema.xml +92 -92
  137. data/original/examples/employment/eclipse/Models/Employment.uml +4 -4
  138. data/original/examples/employment/eclipse/Models/Employment.umldi +240 -240
  139. data/original/examples/employment/eclipse/readme.txt +6 -6
  140. data/original/examples/employment/employment_schema.exp +33 -33
  141. data/original/examples/employment/employment_schema.rb +232 -232
  142. data/original/examples/employment/employment_schema.xml +92 -92
  143. data/original/examples/employment/employment_schema___module.rb +46 -46
  144. data/original/examples/employment/employment_schema___p28attr.rb +126 -126
  145. data/original/examples/employment/employment_schema___p28inst.rb +26 -26
  146. data/original/examples/employment/example_employment_data.xml +1 -1
  147. data/original/examples/employment/example_employment_data_copy.xml +1 -1
  148. data/original/examples/employment/example_employment_reader.rb +30 -30
  149. data/original/examples/employment/example_employment_writer.rb +51 -51
  150. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.exp +3710 -3710
  151. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.owl +35880 -35880
  152. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xmi +15357 -15357
  153. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xml +9467 -9467
  154. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.exp +8404 -8404
  155. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl +43147 -43147
  156. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi +18341 -18341
  157. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml +11631 -11631
  158. data/original/examples/syntax/remark.exp +146 -145
  159. data/original/examples/syntax/remark_formatted.exp +174 -173
  160. data/original/examples/syntax/syntax.exp +311 -310
  161. data/original/examples/syntax/syntax_formatted.exp +1190 -1186
  162. data/original/exp2ruby.rb +525 -525
  163. data/original/expsm.rb +34 -34
  164. data/original/mapping_owl.rb +1018 -1018
  165. data/original/mapping_sysml.rb +2281 -2281
  166. data/original/mapping_uml2.rb +598 -598
  167. data/original/mapping_uml2_eclipse.rb +433 -433
  168. data/original/reeper.rb +134 -134
  169. data/rakelib/cross-ruby.rake +308 -0
  170. data/spec/acceptance/express_to_owl_spec.rb +18 -18
  171. data/spec/acceptance/version_spec.rb +12 -12
  172. data/spec/expressir/express/repository_spec.rb +25 -25
  173. data/spec/expressir/express_exp/ap233_spec.rb +22 -22
  174. data/spec/expressir/express_exp/format_remark_spec.rb +28 -28
  175. data/spec/expressir/express_exp/format_syntax_spec.rb +28 -28
  176. data/spec/expressir/express_exp/parse_remark_spec.rb +346 -345
  177. data/spec/expressir/express_exp/parse_syntax_spec.rb +3003 -2998
  178. data/spec/expressir/model/find_spec.rb +110 -110
  179. data/spec/expressr_spec.rb +5 -5
  180. data/spec/spec_helper.rb +17 -17
  181. data/spec/support/console_helper.rb +29 -29
  182. metadata +32 -370
  183. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +0 -118
  184. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj +0 -637
  185. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj.filters +0 -984
  186. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj +0 -652
  187. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj.filters +0 -990
  188. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj +0 -652
  189. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj.filters +0 -990
  190. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +0 -652
  191. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +0 -990
  192. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/Info.plist +0 -26
  193. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/antlrcpp_ios.h +0 -17
  194. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +0 -3024
  195. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  196. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  197. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4.xcscheme +0 -76
  198. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_ios.xcscheme +0 -80
  199. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +0 -80
  200. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +0 -10
  201. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.h +0 -167
  202. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +0 -10
  203. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +0 -121
  204. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +0 -34
  205. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +0 -27
  206. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +0 -155
  207. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +0 -69
  208. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +0 -61
  209. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.h +0 -59
  210. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.cpp +0 -25
  211. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.h +0 -36
  212. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +0 -414
  213. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.h +0 -200
  214. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.cpp +0 -11
  215. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.h +0 -37
  216. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +0 -195
  217. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.h +0 -158
  218. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +0 -39
  219. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +0 -74
  220. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.cpp +0 -78
  221. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.h +0 -79
  222. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +0 -15
  223. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.h +0 -35
  224. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +0 -333
  225. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +0 -466
  226. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +0 -84
  227. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +0 -80
  228. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +0 -64
  229. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +0 -99
  230. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +0 -51
  231. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +0 -32
  232. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.cpp +0 -18
  233. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.h +0 -24
  234. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.cpp +0 -12
  235. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +0 -218
  236. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +0 -19
  237. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.h +0 -45
  238. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +0 -295
  239. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +0 -196
  240. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +0 -75
  241. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +0 -52
  242. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +0 -36
  243. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.h +0 -31
  244. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +0 -92
  245. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +0 -88
  246. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.cpp +0 -46
  247. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.h +0 -42
  248. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +0 -648
  249. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +0 -467
  250. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +0 -306
  251. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +0 -179
  252. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +0 -141
  253. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +0 -147
  254. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +0 -53
  255. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.h +0 -38
  256. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +0 -66
  257. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.h +0 -98
  258. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +0 -167
  259. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +0 -164
  260. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +0 -143
  261. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +0 -137
  262. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +0 -27
  263. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +0 -32
  264. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +0 -53
  265. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.h +0 -155
  266. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.cpp +0 -9
  267. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +0 -92
  268. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenFactory.h +0 -30
  269. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.cpp +0 -9
  270. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +0 -85
  271. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.cpp +0 -11
  272. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.h +0 -137
  273. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +0 -425
  274. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +0 -293
  275. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +0 -211
  276. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +0 -123
  277. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +0 -270
  278. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +0 -115
  279. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +0 -104
  280. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +0 -193
  281. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.cpp +0 -9
  282. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.h +0 -23
  283. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +0 -137
  284. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +0 -167
  285. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +0 -209
  286. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +0 -112
  287. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +0 -113
  288. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +0 -148
  289. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +0 -228
  290. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +0 -110
  291. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +0 -64
  292. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +0 -50
  293. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +0 -758
  294. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +0 -85
  295. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.cpp +0 -621
  296. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.h +0 -61
  297. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +0 -63
  298. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +0 -87
  299. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +0 -72
  300. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +0 -133
  301. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNType.h +0 -20
  302. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.cpp +0 -14
  303. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.h +0 -24
  304. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +0 -33
  305. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +0 -33
  306. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +0 -16
  307. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +0 -68
  308. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +0 -82
  309. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +0 -43
  310. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +0 -31
  311. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +0 -30
  312. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.cpp +0 -12
  313. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +0 -22
  314. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.cpp +0 -12
  315. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +0 -21
  316. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.cpp +0 -15
  317. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +0 -24
  318. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.cpp +0 -9
  319. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +0 -21
  320. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +0 -14
  321. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +0 -47
  322. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +0 -14
  323. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +0 -70
  324. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +0 -25
  325. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +0 -227
  326. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +0 -17
  327. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +0 -30
  328. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.cpp +0 -35
  329. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.h +0 -27
  330. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +0 -35
  331. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +0 -39
  332. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +0 -15
  333. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.h +0 -43
  334. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +0 -158
  335. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +0 -109
  336. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +0 -84
  337. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +0 -44
  338. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +0 -628
  339. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +0 -210
  340. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +0 -9
  341. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +0 -66
  342. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +0 -107
  343. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +0 -115
  344. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +0 -55
  345. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +0 -55
  346. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +0 -63
  347. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +0 -62
  348. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +0 -87
  349. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +0 -63
  350. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +0 -82
  351. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +0 -56
  352. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +0 -61
  353. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +0 -47
  354. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +0 -57
  355. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +0 -47
  356. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +0 -57
  357. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +0 -56
  358. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +0 -61
  359. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +0 -47
  360. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +0 -55
  361. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +0 -56
  362. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +0 -55
  363. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +0 -16
  364. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +0 -42
  365. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.cpp +0 -12
  366. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +0 -22
  367. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Makefile +0 -67
  368. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +0 -27
  369. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +0 -25
  370. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +0 -12
  371. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +0 -20
  372. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +0 -102
  373. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.h +0 -102
  374. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +0 -1366
  375. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +0 -904
  376. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.cpp +0 -12
  377. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +0 -25
  378. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.cpp +0 -12
  379. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +0 -22
  380. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +0 -32
  381. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +0 -29
  382. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +0 -17
  383. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +0 -62
  384. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +0 -34
  385. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +0 -39
  386. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +0 -662
  387. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +0 -254
  388. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +0 -201
  389. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +0 -436
  390. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +0 -179
  391. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +0 -60
  392. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +0 -30
  393. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +0 -29
  394. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.cpp +0 -16
  395. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +0 -25
  396. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.cpp +0 -12
  397. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +0 -25
  398. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +0 -37
  399. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +0 -40
  400. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +0 -377
  401. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +0 -222
  402. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +0 -32
  403. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +0 -30
  404. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +0 -81
  405. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +0 -36
  406. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.cpp +0 -12
  407. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +0 -21
  408. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.cpp +0 -15
  409. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +0 -35
  410. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +0 -19
  411. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +0 -21
  412. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.cpp +0 -12
  413. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +0 -21
  414. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +0 -44
  415. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +0 -76
  416. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +0 -25
  417. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +0 -25
  418. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +0 -127
  419. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +0 -91
  420. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +0 -67
  421. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +0 -32
  422. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +0 -100
  423. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +0 -144
  424. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +0 -20
  425. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +0 -23
  426. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +0 -124
  427. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +0 -31
  428. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +0 -89
  429. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +0 -84
  430. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +0 -521
  431. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +0 -198
  432. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +0 -134
  433. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +0 -76
  434. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.cpp +0 -4
  435. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.h +0 -21
  436. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +0 -13
  437. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +0 -170
  438. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +0 -43
  439. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +0 -110
  440. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +0 -76
  441. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +0 -248
  442. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +0 -78
  443. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +0 -163
  444. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +0 -36
  445. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +0 -54
  446. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.cpp +0 -303
  447. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.h +0 -112
  448. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +0 -128
  449. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.cpp +0 -9
  450. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +0 -19
  451. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +0 -23
  452. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +0 -33
  453. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +0 -71
  454. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +0 -53
  455. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +0 -15
  456. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +0 -102
  457. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +0 -9
  458. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +0 -39
  459. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +0 -50
  460. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +0 -9
  461. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +0 -57
  462. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +0 -49
  463. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +0 -31
  464. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.cpp +0 -9
  465. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +0 -32
  466. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +0 -57
  467. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +0 -33
  468. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +0 -241
  469. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.h +0 -78
  470. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +0 -9
  471. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +0 -44
  472. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +0 -69
  473. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +0 -132
  474. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +0 -64
  475. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +0 -105
  476. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +0 -371
  477. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +0 -185
  478. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +0 -77
  479. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +0 -117
  480. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +0 -39
  481. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +0 -86
  482. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +0 -28
  483. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +0 -51
  484. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +0 -36
  485. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +0 -80
  486. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +0 -154
  487. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.h +0 -86
  488. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +0 -31
  489. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +0 -40
  490. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +0 -173
  491. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.g4 +0 -64
  492. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +0 -56
  493. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.tokens +0 -12
  494. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +0 -13
  495. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +0 -22
  496. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +0 -20
  497. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +0 -27
  498. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +0 -30
  499. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +0 -26
  500. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +0 -20
  501. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +0 -25
  502. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +0 -33
  503. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +0 -26
  504. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +0 -23
  505. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +0 -23
  506. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +0 -24
  507. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +0 -23
  508. data/ext/express-parser/antlrgen/Express.interp +0 -532
  509. data/ext/express-parser/antlrgen/Express.tokens +0 -190
  510. data/ext/express-parser/antlrgen/ExpressBaseListener.cpp +0 -7
  511. data/ext/express-parser/antlrgen/ExpressBaseListener.h +0 -623
  512. data/ext/express-parser/antlrgen/ExpressBaseVisitor.cpp +0 -7
  513. data/ext/express-parser/antlrgen/ExpressBaseVisitor.h +0 -816
  514. data/ext/express-parser/antlrgen/ExpressLexer.cpp +0 -1169
  515. data/ext/express-parser/antlrgen/ExpressLexer.h +0 -85
  516. data/ext/express-parser/antlrgen/ExpressLexer.interp +0 -534
  517. data/ext/express-parser/antlrgen/ExpressLexer.tokens +0 -190
  518. data/ext/express-parser/antlrgen/ExpressListener.cpp +0 -7
  519. data/ext/express-parser/antlrgen/ExpressListener.h +0 -616
  520. data/ext/express-parser/antlrgen/ExpressParser.cpp +0 -17284
  521. data/ext/express-parser/antlrgen/ExpressParser.h +0 -3696
  522. data/ext/express-parser/antlrgen/ExpressVisitor.cpp +0 -7
  523. data/ext/express-parser/antlrgen/ExpressVisitor.h +0 -422
  524. data/ext/express-parser/express_parser.cpp +0 -17931
  525. data/ext/express-parser/extconf.rb +0 -34
  526. data/lib/express_parser.so +0 -0
@@ -1,293 +0,0 @@
1
- /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2
- * Use of this file is governed by the BSD 3-clause license that
3
- * can be found in the LICENSE.txt file in the project root.
4
- */
5
-
6
- #pragma once
7
-
8
- namespace antlr4 {
9
-
10
- /**
11
- * Useful for rewriting out a buffered input token stream after doing some
12
- * augmentation or other manipulations on it.
13
- *
14
- * <p>
15
- * You can insert stuff, replace, and delete chunks. Note that the operations
16
- * are done lazily--only if you convert the buffer to a {@link String} with
17
- * {@link TokenStream#getText()}. This is very efficient because you are not
18
- * moving data around all the time. As the buffer of tokens is converted to
19
- * strings, the {@link #getText()} method(s) scan the input token stream and
20
- * check to see if there is an operation at the current index. If so, the
21
- * operation is done and then normal {@link String} rendering continues on the
22
- * buffer. This is like having multiple Turing machine instruction streams
23
- * (programs) operating on a single input tape. :)</p>
24
- *
25
- * <p>
26
- * This rewriter makes no modifications to the token stream. It does not ask the
27
- * stream to fill itself up nor does it advance the input cursor. The token
28
- * stream {@link TokenStream#index()} will return the same value before and
29
- * after any {@link #getText()} call.</p>
30
- *
31
- * <p>
32
- * The rewriter only works on tokens that you have in the buffer and ignores the
33
- * current input cursor. If you are buffering tokens on-demand, calling
34
- * {@link #getText()} halfway through the input will only do rewrites for those
35
- * tokens in the first half of the file.</p>
36
- *
37
- * <p>
38
- * Since the operations are done lazily at {@link #getText}-time, operations do
39
- * not screw up the token index values. That is, an insert operation at token
40
- * index {@code i} does not change the index values for tokens
41
- * {@code i}+1..n-1.</p>
42
- *
43
- * <p>
44
- * Because operations never actually alter the buffer, you may always get the
45
- * original token stream back without undoing anything. Since the instructions
46
- * are queued up, you can easily simulate transactions and roll back any changes
47
- * if there is an error just by removing instructions. For example,</p>
48
- *
49
- * <pre>
50
- * CharStream input = new ANTLRFileStream("input");
51
- * TLexer lex = new TLexer(input);
52
- * CommonTokenStream tokens = new CommonTokenStream(lex);
53
- * T parser = new T(tokens);
54
- * TokenStreamRewriter rewriter = new TokenStreamRewriter(tokens);
55
- * parser.startRule();
56
- * </pre>
57
- *
58
- * <p>
59
- * Then in the rules, you can execute (assuming rewriter is visible):</p>
60
- *
61
- * <pre>
62
- * Token t,u;
63
- * ...
64
- * rewriter.insertAfter(t, "text to put after t");}
65
- * rewriter.insertAfter(u, "text after u");}
66
- * System.out.println(rewriter.getText());
67
- * </pre>
68
- *
69
- * <p>
70
- * You can also have multiple "instruction streams" and get multiple rewrites
71
- * from a single pass over the input. Just name the instruction streams and use
72
- * that name again when printing the buffer. This could be useful for generating
73
- * a C file and also its header file--all from the same buffer:</p>
74
- *
75
- * <pre>
76
- * rewriter.insertAfter("pass1", t, "text to put after t");}
77
- * rewriter.insertAfter("pass2", u, "text after u");}
78
- * System.out.println(rewriter.getText("pass1"));
79
- * System.out.println(rewriter.getText("pass2"));
80
- * </pre>
81
- *
82
- * <p>
83
- * If you don't use named rewrite streams, a "default" stream is used as the
84
- * first example shows.</p>
85
- */
86
- class ANTLR4CPP_PUBLIC TokenStreamRewriter {
87
- public:
88
- static const std::string DEFAULT_PROGRAM_NAME;
89
- static const size_t PROGRAM_INIT_SIZE = 100;
90
- static const size_t MIN_TOKEN_INDEX = 0;
91
-
92
- TokenStreamRewriter(TokenStream *tokens);
93
- virtual ~TokenStreamRewriter();
94
-
95
- TokenStream *getTokenStream();
96
-
97
- virtual void rollback(size_t instructionIndex);
98
-
99
- /// Rollback the instruction stream for a program so that
100
- /// the indicated instruction (via instructionIndex) is no
101
- /// longer in the stream. UNTESTED!
102
- virtual void rollback(const std::string &programName, size_t instructionIndex);
103
-
104
- virtual void deleteProgram();
105
-
106
- /// Reset the program so that no instructions exist.
107
- virtual void deleteProgram(const std::string &programName);
108
- virtual void insertAfter(Token *t, const std::string& text);
109
- virtual void insertAfter(size_t index, const std::string& text);
110
- virtual void insertAfter(const std::string &programName, Token *t, const std::string& text);
111
- virtual void insertAfter(const std::string &programName, size_t index, const std::string& text);
112
-
113
- virtual void insertBefore(Token *t, const std::string& text);
114
- virtual void insertBefore(size_t index, const std::string& text);
115
- virtual void insertBefore(const std::string &programName, Token *t, const std::string& text);
116
- virtual void insertBefore(const std::string &programName, size_t index, const std::string& text);
117
-
118
- virtual void replace(size_t index, const std::string& text);
119
- virtual void replace(size_t from, size_t to, const std::string& text);
120
- virtual void replace(Token *indexT, const std::string& text);
121
- virtual void replace(Token *from, Token *to, const std::string& text);
122
- virtual void replace(const std::string &programName, size_t from, size_t to, const std::string& text);
123
- virtual void replace(const std::string &programName, Token *from, Token *to, const std::string& text);
124
-
125
- virtual void Delete(size_t index);
126
- virtual void Delete(size_t from, size_t to);
127
- virtual void Delete(Token *indexT);
128
- virtual void Delete(Token *from, Token *to);
129
- virtual void Delete(const std::string &programName, size_t from, size_t to);
130
- virtual void Delete(const std::string &programName, Token *from, Token *to);
131
-
132
- virtual size_t getLastRewriteTokenIndex();
133
-
134
- /// Return the text from the original tokens altered per the
135
- /// instructions given to this rewriter.
136
- virtual std::string getText();
137
-
138
- /** Return the text from the original tokens altered per the
139
- * instructions given to this rewriter in programName.
140
- */
141
- std::string getText(std::string programName);
142
-
143
- /// Return the text associated with the tokens in the interval from the
144
- /// original token stream but with the alterations given to this rewriter.
145
- /// The interval refers to the indexes in the original token stream.
146
- /// We do not alter the token stream in any way, so the indexes
147
- /// and intervals are still consistent. Includes any operations done
148
- /// to the first and last token in the interval. So, if you did an
149
- /// insertBefore on the first token, you would get that insertion.
150
- /// The same is true if you do an insertAfter the stop token.
151
- virtual std::string getText(const misc::Interval &interval);
152
-
153
- virtual std::string getText(const std::string &programName, const misc::Interval &interval);
154
-
155
- protected:
156
- class RewriteOperation {
157
- public:
158
- /// What index into rewrites List are we?
159
- size_t index;
160
- std::string text;
161
-
162
- /// Token buffer index.
163
- size_t instructionIndex;
164
-
165
- RewriteOperation(TokenStreamRewriter *outerInstance, size_t index);
166
- RewriteOperation(TokenStreamRewriter *outerInstance, size_t index, const std::string& text);
167
- virtual ~RewriteOperation();
168
-
169
- /// Execute the rewrite operation by possibly adding to the buffer.
170
- /// Return the index of the next token to operate on.
171
-
172
- virtual size_t execute(std::string *buf);
173
- virtual std::string toString();
174
-
175
- private:
176
- TokenStreamRewriter *const outerInstance;
177
- void InitializeInstanceFields();
178
- };
179
-
180
- class InsertBeforeOp : public RewriteOperation {
181
- private:
182
- TokenStreamRewriter *const outerInstance;
183
-
184
- public:
185
- InsertBeforeOp(TokenStreamRewriter *outerInstance, size_t index, const std::string& text);
186
-
187
- virtual size_t execute(std::string *buf) override;
188
- };
189
-
190
- class ReplaceOp : public RewriteOperation {
191
- private:
192
- TokenStreamRewriter *const outerInstance;
193
-
194
- public:
195
- size_t lastIndex;
196
-
197
- ReplaceOp(TokenStreamRewriter *outerInstance, size_t from, size_t to, const std::string& text);
198
- virtual size_t execute(std::string *buf) override;
199
- virtual std::string toString() override;
200
-
201
- private:
202
- void InitializeInstanceFields();
203
- };
204
-
205
- /// Our source stream
206
- TokenStream *const tokens;
207
-
208
- /// You may have multiple, named streams of rewrite operations.
209
- /// I'm calling these things "programs."
210
- /// Maps String (name) -> rewrite (List)
211
- std::map<std::string, std::vector<RewriteOperation*>> _programs;
212
-
213
- /// <summary>
214
- /// Map String (program name) -> Integer index </summary>
215
- std::map<std::string, size_t> _lastRewriteTokenIndexes;
216
- virtual size_t getLastRewriteTokenIndex(const std::string &programName);
217
- virtual void setLastRewriteTokenIndex(const std::string &programName, size_t i);
218
- virtual std::vector<RewriteOperation*>& getProgram(const std::string &name);
219
-
220
- /// <summary>
221
- /// We need to combine operations and report invalid operations (like
222
- /// overlapping replaces that are not completed nested). Inserts to
223
- /// same index need to be combined etc... Here are the cases:
224
- ///
225
- /// I.i.u I.j.v leave alone, nonoverlapping
226
- /// I.i.u I.i.v combine: Iivu
227
- ///
228
- /// R.i-j.u R.x-y.v | i-j in x-y delete first R
229
- /// R.i-j.u R.i-j.v delete first R
230
- /// R.i-j.u R.x-y.v | x-y in i-j ERROR
231
- /// R.i-j.u R.x-y.v | boundaries overlap ERROR
232
- ///
233
- /// Delete special case of replace (text==null):
234
- /// D.i-j.u D.x-y.v | boundaries overlap combine to max(min)..max(right)
235
- ///
236
- /// I.i.u R.x-y.v | i in (x+1)-y delete I (since insert before
237
- /// we're not deleting i)
238
- /// I.i.u R.x-y.v | i not in (x+1)-y leave alone, nonoverlapping
239
- /// R.x-y.v I.i.u | i in x-y ERROR
240
- /// R.x-y.v I.x.u R.x-y.uv (combine, delete I)
241
- /// R.x-y.v I.i.u | i not in x-y leave alone, nonoverlapping
242
- ///
243
- /// I.i.u = insert u before op @ index i
244
- /// R.x-y.u = replace x-y indexed tokens with u
245
- ///
246
- /// First we need to examine replaces. For any replace op:
247
- ///
248
- /// 1. wipe out any insertions before op within that range.
249
- /// 2. Drop any replace op before that is contained completely within
250
- /// that range.
251
- /// 3. Throw exception upon boundary overlap with any previous replace.
252
- ///
253
- /// Then we can deal with inserts:
254
- ///
255
- /// 1. for any inserts to same index, combine even if not adjacent.
256
- /// 2. for any prior replace with same left boundary, combine this
257
- /// insert with replace and delete this replace.
258
- /// 3. throw exception if index in same range as previous replace
259
- ///
260
- /// Don't actually delete; make op null in list. Easier to walk list.
261
- /// Later we can throw as we add to index -> op map.
262
- ///
263
- /// Note that I.2 R.2-2 will wipe out I.2 even though, technically, the
264
- /// inserted stuff would be before the replace range. But, if you
265
- /// add tokens in front of a method body '{' and then delete the method
266
- /// body, I think the stuff before the '{' you added should disappear too.
267
- ///
268
- /// Return a map from token index to operation.
269
- /// </summary>
270
- virtual std::unordered_map<size_t, RewriteOperation*> reduceToSingleOperationPerIndex(std::vector<RewriteOperation*> &rewrites);
271
-
272
- virtual std::string catOpText(std::string *a, std::string *b);
273
-
274
- /// Get all operations before an index of a particular kind.
275
- template <typename T>
276
- std::vector<T *> getKindOfOps(std::vector<RewriteOperation *> rewrites, size_t before) {
277
- std::vector<T *> ops;
278
- for (size_t i = 0; i < before && i < rewrites.size(); i++) {
279
- T *op = dynamic_cast<T *>(rewrites[i]);
280
- if (op == nullptr) { // ignore deleted or non matching entries
281
- continue;
282
- }
283
- ops.push_back(op);
284
- }
285
- return ops;
286
- }
287
-
288
- private:
289
- std::vector<RewriteOperation *>& initializeProgram(const std::string &name);
290
-
291
- };
292
-
293
- } // namespace antlr4
@@ -1,211 +0,0 @@
1
- /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2
- * Use of this file is governed by the BSD 3-clause license that
3
- * can be found in the LICENSE.txt file in the project root.
4
- */
5
-
6
- #include "misc/Interval.h"
7
- #include "Exceptions.h"
8
- #include "support/StringUtils.h"
9
-
10
- #include "UnbufferedCharStream.h"
11
-
12
- using namespace antlrcpp;
13
- using namespace antlr4;
14
- using namespace antlr4::misc;
15
-
16
- UnbufferedCharStream::UnbufferedCharStream(std::wistream &input) : _input(input) {
17
- InitializeInstanceFields();
18
-
19
- // The vector's size is what used to be n in Java code.
20
- fill(1); // prime
21
- }
22
-
23
- void UnbufferedCharStream::consume() {
24
- if (LA(1) == EOF) {
25
- throw IllegalStateException("cannot consume EOF");
26
- }
27
-
28
- // buf always has at least data[p==0] in this method due to ctor
29
- _lastChar = _data[_p]; // track last char for LA(-1)
30
-
31
- if (_p == _data.size() - 1 && _numMarkers == 0) {
32
- size_t capacity = _data.capacity();
33
- _data.clear();
34
- _data.reserve(capacity);
35
-
36
- _p = 0;
37
- _lastCharBufferStart = _lastChar;
38
- } else {
39
- _p++;
40
- }
41
-
42
- _currentCharIndex++;
43
- sync(1);
44
- }
45
-
46
- void UnbufferedCharStream::sync(size_t want) {
47
- if (_p + want <= _data.size()) // Already enough data loaded?
48
- return;
49
-
50
- fill(_p + want - _data.size());
51
- }
52
-
53
- size_t UnbufferedCharStream::fill(size_t n) {
54
- for (size_t i = 0; i < n; i++) {
55
- if (_data.size() > 0 && _data.back() == 0xFFFF) {
56
- return i;
57
- }
58
-
59
- try {
60
- char32_t c = nextChar();
61
- add(c);
62
- #if defined(_MSC_FULL_VER) && _MSC_FULL_VER < 190023026
63
- } catch (IOException &ioe) {
64
- // throw_with_nested is not available before VS 2015.
65
- throw ioe;
66
- #else
67
- } catch (IOException & /*ioe*/) {
68
- std::throw_with_nested(RuntimeException());
69
- #endif
70
- }
71
- }
72
-
73
- return n;
74
- }
75
-
76
- char32_t UnbufferedCharStream::nextChar() {
77
- wchar_t result = 0;
78
- _input >> result;
79
- return result;
80
- }
81
-
82
- void UnbufferedCharStream::add(char32_t c) {
83
- _data += c;
84
- }
85
-
86
- size_t UnbufferedCharStream::LA(ssize_t i) {
87
- if (i == -1) { // special case
88
- return _lastChar;
89
- }
90
-
91
- // We can look back only as many chars as we have buffered.
92
- ssize_t index = static_cast<ssize_t>(_p) + i - 1;
93
- if (index < 0) {
94
- throw IndexOutOfBoundsException();
95
- }
96
-
97
- if (i > 0) {
98
- sync(static_cast<size_t>(i)); // No need to sync if we look back.
99
- }
100
- if (static_cast<size_t>(index) >= _data.size()) {
101
- return EOF;
102
- }
103
-
104
- if (_data[static_cast<size_t>(index)] == 0xFFFF) {
105
- return EOF;
106
- }
107
-
108
- return _data[static_cast<size_t>(index)];
109
- }
110
-
111
- ssize_t UnbufferedCharStream::mark() {
112
- if (_numMarkers == 0) {
113
- _lastCharBufferStart = _lastChar;
114
- }
115
-
116
- ssize_t mark = -static_cast<ssize_t>(_numMarkers) - 1;
117
- _numMarkers++;
118
- return mark;
119
- }
120
-
121
- void UnbufferedCharStream::release(ssize_t marker) {
122
- ssize_t expectedMark = -static_cast<ssize_t>(_numMarkers);
123
- if (marker != expectedMark) {
124
- throw IllegalStateException("release() called with an invalid marker.");
125
- }
126
-
127
- _numMarkers--;
128
- if (_numMarkers == 0 && _p > 0) {
129
- _data.erase(0, _p);
130
- _p = 0;
131
- _lastCharBufferStart = _lastChar;
132
- }
133
- }
134
-
135
- size_t UnbufferedCharStream::index() {
136
- return _currentCharIndex;
137
- }
138
-
139
- void UnbufferedCharStream::seek(size_t index) {
140
- if (index == _currentCharIndex) {
141
- return;
142
- }
143
-
144
- if (index > _currentCharIndex) {
145
- sync(index - _currentCharIndex);
146
- index = std::min(index, getBufferStartIndex() + _data.size() - 1);
147
- }
148
-
149
- // index == to bufferStartIndex should set p to 0
150
- ssize_t i = static_cast<ssize_t>(index) - static_cast<ssize_t>(getBufferStartIndex());
151
- if (i < 0) {
152
- throw IllegalArgumentException(std::string("cannot seek to negative index ") + std::to_string(index));
153
- } else if (i >= static_cast<ssize_t>(_data.size())) {
154
- throw UnsupportedOperationException("Seek to index outside buffer: " + std::to_string(index) +
155
- " not in " + std::to_string(getBufferStartIndex()) + ".." +
156
- std::to_string(getBufferStartIndex() + _data.size()));
157
- }
158
-
159
- _p = static_cast<size_t>(i);
160
- _currentCharIndex = index;
161
- if (_p == 0) {
162
- _lastChar = _lastCharBufferStart;
163
- } else {
164
- _lastChar = _data[_p - 1];
165
- }
166
- }
167
-
168
- size_t UnbufferedCharStream::size() {
169
- throw UnsupportedOperationException("Unbuffered stream cannot know its size");
170
- }
171
-
172
- std::string UnbufferedCharStream::getSourceName() const {
173
- if (name.empty()) {
174
- return UNKNOWN_SOURCE_NAME;
175
- }
176
-
177
- return name;
178
- }
179
-
180
- std::string UnbufferedCharStream::getText(const misc::Interval &interval) {
181
- if (interval.a < 0 || interval.b >= interval.a - 1) {
182
- throw IllegalArgumentException("invalid interval");
183
- }
184
-
185
- size_t bufferStartIndex = getBufferStartIndex();
186
- if (!_data.empty() && _data.back() == 0xFFFF) {
187
- if (interval.a + interval.length() > bufferStartIndex + _data.size()) {
188
- throw IllegalArgumentException("the interval extends past the end of the stream");
189
- }
190
- }
191
-
192
- if (interval.a < static_cast<ssize_t>(bufferStartIndex) || interval.b >= ssize_t(bufferStartIndex + _data.size())) {
193
- throw UnsupportedOperationException("interval " + interval.toString() + " outside buffer: " +
194
- std::to_string(bufferStartIndex) + ".." + std::to_string(bufferStartIndex + _data.size() - 1));
195
- }
196
- // convert from absolute to local index
197
- size_t i = interval.a - bufferStartIndex;
198
- return utf32_to_utf8(_data.substr(i, interval.length()));
199
- }
200
-
201
- size_t UnbufferedCharStream::getBufferStartIndex() const {
202
- return _currentCharIndex - _p;
203
- }
204
-
205
- void UnbufferedCharStream::InitializeInstanceFields() {
206
- _p = 0;
207
- _numMarkers = 0;
208
- _lastChar = 0;
209
- _lastCharBufferStart = 0;
210
- _currentCharIndex = 0;
211
- }
@@ -1,123 +0,0 @@
1
- /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2
- * Use of this file is governed by the BSD 3-clause license that
3
- * can be found in the LICENSE.txt file in the project root.
4
- */
5
-
6
- #pragma once
7
-
8
- #include "CharStream.h"
9
-
10
- namespace antlr4 {
11
-
12
- /// Do not buffer up the entire char stream. It does keep a small buffer
13
- /// for efficiency and also buffers while a mark exists (set by the
14
- /// lookahead prediction in parser). "Unbuffered" here refers to fact
15
- /// that it doesn't buffer all data, not that's it's on demand loading of char.
16
- class ANTLR4CPP_PUBLIC UnbufferedCharStream : public CharStream {
17
- public:
18
- /// The name or source of this char stream.
19
- std::string name;
20
-
21
- UnbufferedCharStream(std::wistream &input);
22
-
23
- virtual void consume() override;
24
- virtual size_t LA(ssize_t i) override;
25
-
26
- /// <summary>
27
- /// Return a marker that we can release later.
28
- /// <p/>
29
- /// The specific marker value used for this class allows for some level of
30
- /// protection against misuse where {@code seek()} is called on a mark or
31
- /// {@code release()} is called in the wrong order.
32
- /// </summary>
33
- virtual ssize_t mark() override;
34
-
35
- /// <summary>
36
- /// Decrement number of markers, resetting buffer if we hit 0. </summary>
37
- /// <param name="marker"> </param>
38
- virtual void release(ssize_t marker) override;
39
- virtual size_t index() override;
40
-
41
- /// <summary>
42
- /// Seek to absolute character index, which might not be in the current
43
- /// sliding window. Move {@code p} to {@code index-bufferStartIndex}.
44
- /// </summary>
45
- virtual void seek(size_t index) override;
46
- virtual size_t size() override;
47
- virtual std::string getSourceName() const override;
48
- virtual std::string getText(const misc::Interval &interval) override;
49
-
50
- protected:
51
- /// A moving window buffer of the data being scanned. While there's a marker,
52
- /// we keep adding to buffer. Otherwise, <seealso cref="#consume consume()"/> resets so
53
- /// we start filling at index 0 again.
54
- // UTF-32 encoded.
55
- #if defined(_MSC_VER) && _MSC_VER == 1900
56
- i32string _data; // Custom type for VS 2015.
57
- typedef __int32 storage_type;
58
- #else
59
- std::u32string _data;
60
- typedef char32_t storage_type;
61
- #endif
62
-
63
- /// <summary>
64
- /// 0..n-1 index into <seealso cref="#data data"/> of next character.
65
- /// <p/>
66
- /// The {@code LA(1)} character is {@code data[p]}. If {@code p == n}, we are
67
- /// out of buffered characters.
68
- /// </summary>
69
- size_t _p;
70
-
71
- /// <summary>
72
- /// Count up with <seealso cref="#mark mark()"/> and down with
73
- /// <seealso cref="#release release()"/>. When we {@code release()} the last mark,
74
- /// {@code numMarkers} reaches 0 and we reset the buffer. Copy
75
- /// {@code data[p]..data[n-1]} to {@code data[0]..data[(n-1)-p]}.
76
- /// </summary>
77
- size_t _numMarkers;
78
-
79
- /// This is the {@code LA(-1)} character for the current position.
80
- size_t _lastChar; // UTF-32
81
-
82
- /// <summary>
83
- /// When {@code numMarkers > 0}, this is the {@code LA(-1)} character for the
84
- /// first character in <seealso cref="#data data"/>. Otherwise, this is unspecified.
85
- /// </summary>
86
- size_t _lastCharBufferStart; // UTF-32
87
-
88
- /// <summary>
89
- /// Absolute character index. It's the index of the character about to be
90
- /// read via {@code LA(1)}. Goes from 0 to the number of characters in the
91
- /// entire stream, although the stream size is unknown before the end is
92
- /// reached.
93
- /// </summary>
94
- size_t _currentCharIndex;
95
-
96
- std::wistream &_input;
97
-
98
- /// <summary>
99
- /// Make sure we have 'want' elements from current position <seealso cref="#p p"/>.
100
- /// Last valid {@code p} index is {@code data.length-1}. {@code p+need-1} is
101
- /// the char index 'need' elements ahead. If we need 1 element,
102
- /// {@code (p+1-1)==p} must be less than {@code data.length}.
103
- /// </summary>
104
- virtual void sync(size_t want);
105
-
106
- /// <summary>
107
- /// Add {@code n} characters to the buffer. Returns the number of characters
108
- /// actually added to the buffer. If the return value is less than {@code n},
109
- /// then EOF was reached before {@code n} characters could be added.
110
- /// </summary>
111
- virtual size_t fill(size_t n);
112
-
113
- /// Override to provide different source of characters than
114
- /// <seealso cref="#input input"/>.
115
- virtual char32_t nextChar();
116
- virtual void add(char32_t c);
117
- size_t getBufferStartIndex() const;
118
-
119
- private:
120
- void InitializeInstanceFields();
121
- };
122
-
123
- } // namespace antlr4