expressir 0.2.5-x64-mingw32 → 0.2.11-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 (534) 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 +83 -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.rb +21 -21
  21. data/lib/expressir/cli.rb +27 -27
  22. data/lib/expressir/cli/ui.rb +36 -36
  23. data/lib/expressir/config.rb +23 -23
  24. data/lib/expressir/express.rb +11 -11
  25. data/lib/expressir/express/aggregate_dimension.rb +38 -38
  26. data/lib/expressir/express/attribute.rb +15 -15
  27. data/lib/expressir/express/comment.rb +7 -7
  28. data/lib/expressir/express/defined_type.rb +36 -36
  29. data/lib/expressir/express/derived.rb +65 -65
  30. data/lib/expressir/express/derived_aggregate.rb +43 -43
  31. data/lib/expressir/express/entity.rb +137 -137
  32. data/lib/expressir/express/explicit.rb +70 -70
  33. data/lib/expressir/express/explicit_aggregate.rb +46 -46
  34. data/lib/expressir/express/explicit_or_derived.rb +16 -16
  35. data/lib/expressir/express/global_rule.rb +44 -44
  36. data/lib/expressir/express/interface_specification.rb +51 -51
  37. data/lib/expressir/express/interfaced_item.rb +38 -38
  38. data/lib/expressir/express/inverse.rb +46 -46
  39. data/lib/expressir/express/inverse_aggregate.rb +37 -37
  40. data/lib/expressir/express/model_element.rb +7 -7
  41. data/lib/expressir/express/named_type.rb +19 -19
  42. data/lib/expressir/express/remark.rb +8 -8
  43. data/lib/expressir/express/repository.rb +306 -306
  44. data/lib/expressir/express/schema_definition.rb +96 -96
  45. data/lib/expressir/express/subtype_constraint.rb +14 -14
  46. data/lib/expressir/express/type.rb +26 -26
  47. data/lib/expressir/express/type_aggregate.rb +42 -42
  48. data/lib/expressir/express/type_enum.rb +29 -29
  49. data/lib/expressir/express/type_parser.rb +45 -45
  50. data/lib/expressir/express/type_select.rb +82 -82
  51. data/lib/expressir/express/unique_rule.rb +35 -35
  52. data/lib/expressir/express/where_rule.rb +32 -32
  53. data/lib/expressir/express_exp/2.4/express_parser.so +0 -0
  54. data/lib/expressir/express_exp/2.5/express_parser.so +0 -0
  55. data/lib/expressir/express_exp/2.6/express_parser.so +0 -0
  56. data/lib/expressir/express_exp/2.7/express_parser.so +0 -0
  57. data/lib/expressir/express_exp/3.0/express_parser.so +0 -0
  58. data/lib/expressir/express_exp/formatter.rb +1500 -1449
  59. data/lib/expressir/express_exp/parser.rb +53 -35
  60. data/lib/expressir/express_exp/visitor.rb +2551 -2450
  61. data/lib/expressir/express_parser.rb +30 -30
  62. data/lib/expressir/model.rb +67 -64
  63. data/lib/expressir/model/attribute.rb +28 -26
  64. data/lib/expressir/model/constant.rb +18 -16
  65. data/lib/expressir/model/entity.rb +38 -45
  66. data/lib/expressir/model/enumeration_item.rb +12 -10
  67. data/lib/expressir/model/expressions/aggregate_initializer.rb +12 -12
  68. data/lib/expressir/model/expressions/aggregate_item.rb +14 -14
  69. data/lib/expressir/model/expressions/attribute_reference.rb +14 -14
  70. data/lib/expressir/model/expressions/binary_expression.rb +39 -39
  71. data/lib/expressir/model/expressions/call.rb +14 -14
  72. data/lib/expressir/model/expressions/entity_constructor.rb +14 -14
  73. data/lib/expressir/model/expressions/group_reference.rb +14 -14
  74. data/lib/expressir/model/expressions/index_reference.rb +16 -16
  75. data/lib/expressir/model/expressions/interval.rb +20 -20
  76. data/lib/expressir/model/expressions/query_expression.rb +27 -25
  77. data/lib/expressir/model/expressions/simple_reference.rb +12 -12
  78. data/lib/expressir/model/expressions/unary_expression.rb +18 -18
  79. data/lib/expressir/model/function.rb +55 -61
  80. data/lib/expressir/model/identifier.rb +9 -8
  81. data/lib/expressir/model/informal_proposition.rb +13 -0
  82. data/lib/expressir/model/interface.rb +17 -17
  83. data/lib/expressir/model/literals/binary.rb +12 -12
  84. data/lib/expressir/model/literals/integer.rb +12 -12
  85. data/lib/expressir/model/literals/logical.rb +16 -16
  86. data/lib/expressir/model/literals/real.rb +12 -12
  87. data/lib/expressir/model/literals/string.rb +14 -14
  88. data/lib/expressir/model/model_element.rb +73 -0
  89. data/lib/expressir/model/parameter.rb +18 -16
  90. data/lib/expressir/model/procedure.rb +53 -59
  91. data/lib/expressir/model/renamed_ref.rb +12 -12
  92. data/lib/expressir/model/repository.rb +18 -18
  93. data/lib/expressir/model/rule.rb +58 -61
  94. data/lib/expressir/model/schema.rb +55 -66
  95. data/lib/expressir/model/scope.rb +70 -16
  96. data/lib/expressir/model/statements/alias.rb +27 -25
  97. data/lib/expressir/model/statements/assignment.rb +14 -14
  98. data/lib/expressir/model/statements/call.rb +14 -14
  99. data/lib/expressir/model/statements/case.rb +16 -16
  100. data/lib/expressir/model/statements/case_action.rb +14 -14
  101. data/lib/expressir/model/statements/compound.rb +12 -12
  102. data/lib/expressir/model/statements/escape.rb +7 -7
  103. data/lib/expressir/model/statements/if.rb +16 -16
  104. data/lib/expressir/model/statements/null.rb +7 -7
  105. data/lib/expressir/model/statements/repeat.rb +35 -33
  106. data/lib/expressir/model/statements/return.rb +12 -12
  107. data/lib/expressir/model/statements/skip.rb +7 -7
  108. data/lib/expressir/model/subtype_constraint.rb +28 -26
  109. data/lib/expressir/model/type.rb +33 -23
  110. data/lib/expressir/model/types/aggregate.rb +18 -16
  111. data/lib/expressir/model/types/array.rb +20 -20
  112. data/lib/expressir/model/types/bag.rb +16 -16
  113. data/lib/expressir/model/types/binary.rb +14 -14
  114. data/lib/expressir/model/types/boolean.rb +7 -7
  115. data/lib/expressir/model/types/enumeration.rb +18 -18
  116. data/lib/expressir/model/types/generic.rb +14 -12
  117. data/lib/expressir/model/types/generic_entity.rb +14 -12
  118. data/lib/expressir/model/types/integer.rb +7 -7
  119. data/lib/expressir/model/types/list.rb +18 -18
  120. data/lib/expressir/model/types/logical.rb +7 -7
  121. data/lib/expressir/model/types/number.rb +7 -7
  122. data/lib/expressir/model/types/real.rb +12 -12
  123. data/lib/expressir/model/types/select.rb +20 -20
  124. data/lib/expressir/model/types/set.rb +16 -16
  125. data/lib/expressir/model/types/string.rb +14 -14
  126. data/lib/expressir/model/unique.rb +16 -14
  127. data/lib/expressir/model/variable.rb +18 -16
  128. data/lib/expressir/model/where.rb +16 -14
  129. data/lib/expressir/parser.rb +6 -6
  130. data/lib/expressir/parser/owl_parser.rb +8 -8
  131. data/lib/expressir/version.rb +3 -3
  132. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp +9589 -9589
  133. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl +36619 -36619
  134. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.xml +13293 -13293
  135. data/original/examples/employment/eclipse/.project +17 -17
  136. data/original/examples/employment/eclipse/Express/employment_schema.exp +33 -33
  137. data/original/examples/employment/eclipse/Express/employment_schema.xmi +77 -77
  138. data/original/examples/employment/eclipse/Express/employment_schema.xml +92 -92
  139. data/original/examples/employment/eclipse/Models/Employment.uml +4 -4
  140. data/original/examples/employment/eclipse/Models/Employment.umldi +240 -240
  141. data/original/examples/employment/eclipse/readme.txt +6 -6
  142. data/original/examples/employment/employment_schema.exp +33 -33
  143. data/original/examples/employment/employment_schema.rb +232 -232
  144. data/original/examples/employment/employment_schema.xml +92 -92
  145. data/original/examples/employment/employment_schema___module.rb +46 -46
  146. data/original/examples/employment/employment_schema___p28attr.rb +126 -126
  147. data/original/examples/employment/employment_schema___p28inst.rb +26 -26
  148. data/original/examples/employment/example_employment_data.xml +1 -1
  149. data/original/examples/employment/example_employment_data_copy.xml +1 -1
  150. data/original/examples/employment/example_employment_reader.rb +30 -30
  151. data/original/examples/employment/example_employment_writer.rb +51 -51
  152. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.exp +3710 -3710
  153. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.owl +35880 -35880
  154. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xmi +15357 -15357
  155. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xml +9467 -9467
  156. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.exp +8404 -8404
  157. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl +43147 -43147
  158. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi +18341 -18341
  159. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml +11631 -11631
  160. data/original/examples/syntax/remark.exp +189 -145
  161. data/original/examples/syntax/remark_formatted.exp +213 -174
  162. data/original/examples/syntax/simple.exp +3 -0
  163. data/original/examples/syntax/source.exp +16 -0
  164. data/original/examples/syntax/syntax.exp +323 -310
  165. data/original/examples/syntax/syntax_formatted.exp +753 -1186
  166. data/original/exp2ruby.rb +525 -525
  167. data/original/expsm.rb +34 -34
  168. data/original/mapping_owl.rb +1018 -1018
  169. data/original/mapping_sysml.rb +2281 -2281
  170. data/original/mapping_uml2.rb +598 -598
  171. data/original/mapping_uml2_eclipse.rb +433 -433
  172. data/original/reeper.rb +134 -134
  173. data/rakelib/cross-ruby.rake +308 -0
  174. data/spec/acceptance/express_to_owl_spec.rb +18 -18
  175. data/spec/acceptance/version_spec.rb +12 -12
  176. data/spec/expressir/express/repository_spec.rb +25 -25
  177. data/spec/expressir/express_exp/ap233_spec.rb +22 -22
  178. data/spec/expressir/express_exp/format_remark_spec.rb +28 -28
  179. data/spec/expressir/express_exp/format_syntax_spec.rb +28 -28
  180. data/spec/expressir/express_exp/head_source_spec.rb +38 -0
  181. data/spec/expressir/express_exp/parse_multiple_spec.rb +32 -0
  182. data/spec/expressir/express_exp/parse_remark_spec.rb +411 -345
  183. data/spec/expressir/express_exp/parse_syntax_spec.rb +3048 -2998
  184. data/spec/expressir/express_exp/source_spec.rb +29 -0
  185. data/spec/expressir/model/model_element_spec.rb +77 -0
  186. data/spec/expressir/model/{find_spec.rb → scope_spec.rb} +123 -110
  187. data/spec/expressr_spec.rb +5 -5
  188. data/spec/spec_helper.rb +17 -17
  189. data/spec/support/console_helper.rb +29 -29
  190. metadata +41 -371
  191. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +0 -118
  192. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj +0 -637
  193. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj.filters +0 -984
  194. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj +0 -652
  195. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj.filters +0 -990
  196. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj +0 -652
  197. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj.filters +0 -990
  198. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +0 -652
  199. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +0 -990
  200. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/Info.plist +0 -26
  201. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/antlrcpp_ios.h +0 -17
  202. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +0 -3024
  203. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  204. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  205. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4.xcscheme +0 -76
  206. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_ios.xcscheme +0 -80
  207. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +0 -80
  208. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +0 -10
  209. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.h +0 -167
  210. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +0 -10
  211. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +0 -121
  212. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +0 -34
  213. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +0 -27
  214. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +0 -155
  215. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +0 -69
  216. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +0 -61
  217. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.h +0 -59
  218. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.cpp +0 -25
  219. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.h +0 -36
  220. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +0 -414
  221. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.h +0 -200
  222. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.cpp +0 -11
  223. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.h +0 -37
  224. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +0 -195
  225. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.h +0 -158
  226. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +0 -39
  227. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +0 -74
  228. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.cpp +0 -78
  229. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.h +0 -79
  230. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +0 -15
  231. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.h +0 -35
  232. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +0 -333
  233. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +0 -466
  234. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +0 -84
  235. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +0 -80
  236. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +0 -64
  237. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +0 -99
  238. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +0 -51
  239. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +0 -32
  240. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.cpp +0 -18
  241. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.h +0 -24
  242. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.cpp +0 -12
  243. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +0 -218
  244. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +0 -19
  245. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.h +0 -45
  246. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +0 -295
  247. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +0 -196
  248. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +0 -75
  249. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +0 -52
  250. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +0 -36
  251. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.h +0 -31
  252. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +0 -92
  253. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +0 -88
  254. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.cpp +0 -46
  255. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.h +0 -42
  256. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +0 -648
  257. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +0 -467
  258. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +0 -306
  259. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +0 -179
  260. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +0 -141
  261. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +0 -147
  262. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +0 -53
  263. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.h +0 -38
  264. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +0 -66
  265. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.h +0 -98
  266. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +0 -167
  267. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +0 -164
  268. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +0 -143
  269. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +0 -137
  270. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +0 -27
  271. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +0 -32
  272. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +0 -53
  273. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.h +0 -155
  274. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.cpp +0 -9
  275. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +0 -92
  276. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenFactory.h +0 -30
  277. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.cpp +0 -9
  278. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +0 -85
  279. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.cpp +0 -11
  280. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.h +0 -137
  281. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +0 -425
  282. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +0 -293
  283. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +0 -211
  284. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +0 -123
  285. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +0 -270
  286. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +0 -115
  287. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +0 -104
  288. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +0 -193
  289. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.cpp +0 -9
  290. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.h +0 -23
  291. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +0 -137
  292. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +0 -167
  293. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +0 -209
  294. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +0 -112
  295. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +0 -113
  296. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +0 -148
  297. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +0 -228
  298. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +0 -110
  299. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +0 -64
  300. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +0 -50
  301. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +0 -758
  302. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +0 -85
  303. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.cpp +0 -621
  304. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.h +0 -61
  305. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +0 -63
  306. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +0 -87
  307. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +0 -72
  308. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +0 -133
  309. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNType.h +0 -20
  310. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.cpp +0 -14
  311. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.h +0 -24
  312. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +0 -33
  313. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +0 -33
  314. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +0 -16
  315. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +0 -68
  316. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +0 -82
  317. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +0 -43
  318. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +0 -31
  319. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +0 -30
  320. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.cpp +0 -12
  321. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +0 -22
  322. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.cpp +0 -12
  323. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +0 -21
  324. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.cpp +0 -15
  325. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +0 -24
  326. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.cpp +0 -9
  327. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +0 -21
  328. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +0 -14
  329. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +0 -47
  330. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +0 -14
  331. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +0 -70
  332. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +0 -25
  333. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +0 -227
  334. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +0 -17
  335. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +0 -30
  336. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.cpp +0 -35
  337. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.h +0 -27
  338. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +0 -35
  339. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +0 -39
  340. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +0 -15
  341. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.h +0 -43
  342. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +0 -158
  343. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +0 -109
  344. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +0 -84
  345. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +0 -44
  346. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +0 -628
  347. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +0 -210
  348. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +0 -9
  349. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +0 -66
  350. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +0 -107
  351. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +0 -115
  352. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +0 -55
  353. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +0 -55
  354. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +0 -63
  355. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +0 -62
  356. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +0 -87
  357. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +0 -63
  358. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +0 -82
  359. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +0 -56
  360. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +0 -61
  361. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +0 -47
  362. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +0 -57
  363. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +0 -47
  364. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +0 -57
  365. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +0 -56
  366. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +0 -61
  367. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +0 -47
  368. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +0 -55
  369. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +0 -56
  370. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +0 -55
  371. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +0 -16
  372. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +0 -42
  373. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.cpp +0 -12
  374. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +0 -22
  375. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Makefile +0 -67
  376. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +0 -27
  377. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +0 -25
  378. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +0 -12
  379. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +0 -20
  380. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +0 -102
  381. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.h +0 -102
  382. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +0 -1366
  383. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +0 -904
  384. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.cpp +0 -12
  385. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +0 -25
  386. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.cpp +0 -12
  387. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +0 -22
  388. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +0 -32
  389. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +0 -29
  390. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +0 -17
  391. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +0 -62
  392. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +0 -34
  393. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +0 -39
  394. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +0 -662
  395. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +0 -254
  396. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +0 -201
  397. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +0 -436
  398. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +0 -179
  399. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +0 -60
  400. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +0 -30
  401. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +0 -29
  402. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.cpp +0 -16
  403. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +0 -25
  404. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.cpp +0 -12
  405. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +0 -25
  406. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +0 -37
  407. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +0 -40
  408. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +0 -377
  409. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +0 -222
  410. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +0 -32
  411. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +0 -30
  412. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +0 -81
  413. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +0 -36
  414. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.cpp +0 -12
  415. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +0 -21
  416. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.cpp +0 -15
  417. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +0 -35
  418. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +0 -19
  419. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +0 -21
  420. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.cpp +0 -12
  421. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +0 -21
  422. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +0 -44
  423. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +0 -76
  424. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +0 -25
  425. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +0 -25
  426. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +0 -127
  427. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +0 -91
  428. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +0 -67
  429. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +0 -32
  430. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +0 -100
  431. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +0 -144
  432. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +0 -20
  433. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +0 -23
  434. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +0 -124
  435. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +0 -31
  436. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +0 -89
  437. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +0 -84
  438. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +0 -521
  439. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +0 -198
  440. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +0 -134
  441. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +0 -76
  442. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.cpp +0 -4
  443. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.h +0 -21
  444. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +0 -13
  445. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +0 -170
  446. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +0 -43
  447. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +0 -110
  448. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +0 -76
  449. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +0 -248
  450. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +0 -78
  451. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +0 -163
  452. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +0 -36
  453. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +0 -54
  454. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.cpp +0 -303
  455. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.h +0 -112
  456. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +0 -128
  457. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.cpp +0 -9
  458. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +0 -19
  459. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +0 -23
  460. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +0 -33
  461. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +0 -71
  462. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +0 -53
  463. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +0 -15
  464. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +0 -102
  465. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +0 -9
  466. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +0 -39
  467. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +0 -50
  468. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +0 -9
  469. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +0 -57
  470. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +0 -49
  471. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +0 -31
  472. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.cpp +0 -9
  473. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +0 -32
  474. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +0 -57
  475. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +0 -33
  476. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +0 -241
  477. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.h +0 -78
  478. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +0 -9
  479. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +0 -44
  480. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +0 -69
  481. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +0 -132
  482. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +0 -64
  483. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +0 -105
  484. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +0 -371
  485. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +0 -185
  486. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +0 -77
  487. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +0 -117
  488. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +0 -39
  489. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +0 -86
  490. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +0 -28
  491. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +0 -51
  492. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +0 -36
  493. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +0 -80
  494. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +0 -154
  495. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.h +0 -86
  496. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +0 -31
  497. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +0 -40
  498. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +0 -173
  499. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.g4 +0 -64
  500. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +0 -56
  501. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.tokens +0 -12
  502. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +0 -13
  503. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +0 -22
  504. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +0 -20
  505. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +0 -27
  506. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +0 -30
  507. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +0 -26
  508. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +0 -20
  509. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +0 -25
  510. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +0 -33
  511. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +0 -26
  512. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +0 -23
  513. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +0 -23
  514. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +0 -24
  515. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +0 -23
  516. data/ext/express-parser/antlrgen/Express.interp +0 -532
  517. data/ext/express-parser/antlrgen/Express.tokens +0 -190
  518. data/ext/express-parser/antlrgen/ExpressBaseListener.cpp +0 -7
  519. data/ext/express-parser/antlrgen/ExpressBaseListener.h +0 -623
  520. data/ext/express-parser/antlrgen/ExpressBaseVisitor.cpp +0 -7
  521. data/ext/express-parser/antlrgen/ExpressBaseVisitor.h +0 -816
  522. data/ext/express-parser/antlrgen/ExpressLexer.cpp +0 -1169
  523. data/ext/express-parser/antlrgen/ExpressLexer.h +0 -85
  524. data/ext/express-parser/antlrgen/ExpressLexer.interp +0 -534
  525. data/ext/express-parser/antlrgen/ExpressLexer.tokens +0 -190
  526. data/ext/express-parser/antlrgen/ExpressListener.cpp +0 -7
  527. data/ext/express-parser/antlrgen/ExpressListener.h +0 -616
  528. data/ext/express-parser/antlrgen/ExpressParser.cpp +0 -17284
  529. data/ext/express-parser/antlrgen/ExpressParser.h +0 -3696
  530. data/ext/express-parser/antlrgen/ExpressVisitor.cpp +0 -7
  531. data/ext/express-parser/antlrgen/ExpressVisitor.h +0 -422
  532. data/ext/express-parser/express_parser.cpp +0 -17931
  533. data/ext/express-parser/extconf.rb +0 -34
  534. data/lib/express_parser.so +0 -0
@@ -1,88 +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 "TokenSource.h"
9
- #include "CommonTokenFactory.h"
10
-
11
- namespace antlr4 {
12
-
13
- /// Provides an implementation of <seealso cref="TokenSource"/> as a wrapper around a list
14
- /// of <seealso cref="Token"/> objects.
15
- ///
16
- /// If the final token in the list is an <seealso cref="Token#EOF"/> token, it will be used
17
- /// as the EOF token for every call to <seealso cref="#nextToken"/> after the end of the
18
- /// list is reached. Otherwise, an EOF token will be created.
19
- class ANTLR4CPP_PUBLIC ListTokenSource : public TokenSource {
20
- protected:
21
- // This list will be emptied token by token as we call nextToken().
22
- // Token streams can be used to buffer tokens for a while.
23
- std::vector<std::unique_ptr<Token>> tokens;
24
-
25
- private:
26
- /// <summary>
27
- /// The name of the input source. If this value is {@code null}, a call to
28
- /// <seealso cref="#getSourceName"/> should return the source name used to create the
29
- /// the next token in <seealso cref="#tokens"/> (or the previous token if the end of
30
- /// the input has been reached).
31
- /// </summary>
32
- const std::string sourceName;
33
-
34
- protected:
35
- /// The index into <seealso cref="#tokens"/> of token to return by the next call to
36
- /// <seealso cref="#nextToken"/>. The end of the input is indicated by this value
37
- /// being greater than or equal to the number of items in <seealso cref="#tokens"/>.
38
- size_t i;
39
-
40
- private:
41
- /// This is the backing field for <seealso cref="#getTokenFactory"/> and
42
- /// <seealso cref="setTokenFactory"/>.
43
- Ref<TokenFactory<CommonToken>> _factory = CommonTokenFactory::DEFAULT;
44
-
45
- public:
46
- /// Constructs a new <seealso cref="ListTokenSource"/> instance from the specified
47
- /// collection of <seealso cref="Token"/> objects.
48
- ///
49
- /// <param name="tokens"> The collection of <seealso cref="Token"/> objects to provide as a
50
- /// <seealso cref="TokenSource"/>. </param>
51
- /// <exception cref="NullPointerException"> if {@code tokens} is {@code null} </exception>
52
- ListTokenSource(std::vector<std::unique_ptr<Token>> tokens);
53
- ListTokenSource(const ListTokenSource& other) = delete;
54
-
55
- ListTokenSource& operator = (const ListTokenSource& other) = delete;
56
-
57
- /// <summary>
58
- /// Constructs a new <seealso cref="ListTokenSource"/> instance from the specified
59
- /// collection of <seealso cref="Token"/> objects and source name.
60
- /// </summary>
61
- /// <param name="tokens"> The collection of <seealso cref="Token"/> objects to provide as a
62
- /// <seealso cref="TokenSource"/>. </param>
63
- /// <param name="sourceName"> The name of the <seealso cref="TokenSource"/>. If this value is
64
- /// {@code null}, <seealso cref="#getSourceName"/> will attempt to infer the name from
65
- /// the next <seealso cref="Token"/> (or the previous token if the end of the input has
66
- /// been reached).
67
- /// </param>
68
- /// <exception cref="NullPointerException"> if {@code tokens} is {@code null} </exception>
69
- ListTokenSource(std::vector<std::unique_ptr<Token>> tokens_, const std::string &sourceName_);
70
-
71
- virtual size_t getCharPositionInLine() override;
72
- virtual std::unique_ptr<Token> nextToken() override;
73
- virtual size_t getLine() const override;
74
- virtual CharStream* getInputStream() override;
75
- virtual std::string getSourceName() override;
76
-
77
- template<typename T1>
78
- void setTokenFactory(TokenFactory<T1> *factory) {
79
- this->_factory = factory;
80
- }
81
-
82
- virtual Ref<TokenFactory<CommonToken>> getTokenFactory() override;
83
-
84
- private:
85
- void InitializeInstanceFields();
86
- };
87
-
88
- } // namespace antlr4
@@ -1,46 +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 "Parser.h"
7
-
8
- #include "NoViableAltException.h"
9
-
10
- using namespace antlr4;
11
-
12
- namespace {
13
-
14
- // Create a normal shared pointer if the configurations are to be deleted. If not, then
15
- // the shared pointer is created with a deleter that does nothing.
16
- Ref<atn::ATNConfigSet> buildConfigsRef(atn::ATNConfigSet *configs, bool deleteConfigs) {
17
- if (deleteConfigs) {
18
- return Ref<atn::ATNConfigSet>(configs);
19
- } else {
20
- return Ref<atn::ATNConfigSet>(configs, [](atn::ATNConfigSet *){});
21
- }
22
- }
23
-
24
- }
25
-
26
- NoViableAltException::NoViableAltException(Parser *recognizer)
27
- : NoViableAltException(recognizer, recognizer->getTokenStream(), recognizer->getCurrentToken(),
28
- recognizer->getCurrentToken(), nullptr, recognizer->getContext(), false) {
29
- }
30
-
31
- NoViableAltException::NoViableAltException(Parser *recognizer, TokenStream *input,Token *startToken,
32
- Token *offendingToken, atn::ATNConfigSet *deadEndConfigs, ParserRuleContext *ctx, bool deleteConfigs)
33
- : RecognitionException("No viable alternative", recognizer, input, ctx, offendingToken),
34
- _deadEndConfigs(buildConfigsRef(deadEndConfigs, deleteConfigs)), _startToken(startToken) {
35
- }
36
-
37
- NoViableAltException::~NoViableAltException() {
38
- }
39
-
40
- Token* NoViableAltException::getStartToken() const {
41
- return _startToken;
42
- }
43
-
44
- atn::ATNConfigSet* NoViableAltException::getDeadEndConfigs() const {
45
- return _deadEndConfigs.get();
46
- }
@@ -1,42 +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 "RecognitionException.h"
9
- #include "Token.h"
10
- #include "atn/ATNConfigSet.h"
11
-
12
- namespace antlr4 {
13
-
14
- /// Indicates that the parser could not decide which of two or more paths
15
- /// to take based upon the remaining input. It tracks the starting token
16
- /// of the offending input and also knows where the parser was
17
- /// in the various paths when the error. Reported by reportNoViableAlternative()
18
- class ANTLR4CPP_PUBLIC NoViableAltException : public RecognitionException {
19
- public:
20
- NoViableAltException(Parser *recognizer); // LL(1) error
21
- NoViableAltException(Parser *recognizer, TokenStream *input,Token *startToken,
22
- Token *offendingToken, atn::ATNConfigSet *deadEndConfigs, ParserRuleContext *ctx, bool deleteConfigs);
23
- ~NoViableAltException();
24
-
25
- virtual Token* getStartToken() const;
26
- virtual atn::ATNConfigSet* getDeadEndConfigs() const;
27
-
28
- private:
29
- /// Which configurations did we try at input.index() that couldn't match input.LT(1)?
30
- /// Shared pointer that conditionally deletes the configurations (based on flag
31
- /// passed during construction)
32
- Ref<atn::ATNConfigSet> _deadEndConfigs;
33
-
34
- /// The token object at the start index; the input stream might
35
- /// not be buffering tokens so get a reference to it. (At the
36
- /// time the error occurred, of course the stream needs to keep a
37
- /// buffer all of the tokens but later we might not have access to those.)
38
- Token *_startToken;
39
-
40
- };
41
-
42
- } // namespace antlr4
@@ -1,648 +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 "atn/ATNDeserializationOptions.h"
7
- #include "tree/pattern/ParseTreePatternMatcher.h"
8
- #include "dfa/DFA.h"
9
- #include "ParserRuleContext.h"
10
- #include "tree/TerminalNode.h"
11
- #include "tree/ErrorNodeImpl.h"
12
- #include "Lexer.h"
13
- #include "atn/ParserATNSimulator.h"
14
- #include "misc/IntervalSet.h"
15
- #include "atn/RuleStartState.h"
16
- #include "DefaultErrorStrategy.h"
17
- #include "atn/ATNDeserializer.h"
18
- #include "atn/RuleTransition.h"
19
- #include "atn/ATN.h"
20
- #include "Exceptions.h"
21
- #include "ANTLRErrorListener.h"
22
- #include "tree/pattern/ParseTreePattern.h"
23
-
24
- #include "atn/ProfilingATNSimulator.h"
25
- #include "atn/ParseInfo.h"
26
-
27
- #include "Parser.h"
28
-
29
- using namespace antlr4;
30
- using namespace antlr4::atn;
31
-
32
- using namespace antlrcpp;
33
-
34
- std::map<std::vector<uint16_t>, atn::ATN> Parser::bypassAltsAtnCache;
35
-
36
- Parser::TraceListener::TraceListener(Parser *outerInstance_) : outerInstance(outerInstance_) {
37
- }
38
-
39
- Parser::TraceListener::~TraceListener() {
40
- }
41
-
42
- void Parser::TraceListener::enterEveryRule(ParserRuleContext *ctx) {
43
- std::cout << "enter " << outerInstance->getRuleNames()[ctx->getRuleIndex()]
44
- << ", LT(1)=" << outerInstance->_input->LT(1)->getText() << std::endl;
45
- }
46
-
47
- void Parser::TraceListener::visitTerminal(tree::TerminalNode *node) {
48
- std::cout << "consume " << node->getSymbol() << " rule "
49
- << outerInstance->getRuleNames()[outerInstance->getContext()->getRuleIndex()] << std::endl;
50
- }
51
-
52
- void Parser::TraceListener::visitErrorNode(tree::ErrorNode * /*node*/) {
53
- }
54
-
55
- void Parser::TraceListener::exitEveryRule(ParserRuleContext *ctx) {
56
- std::cout << "exit " << outerInstance->getRuleNames()[ctx->getRuleIndex()]
57
- << ", LT(1)=" << outerInstance->_input->LT(1)->getText() << std::endl;
58
- }
59
-
60
- Parser::TrimToSizeListener Parser::TrimToSizeListener::INSTANCE;
61
-
62
- Parser::TrimToSizeListener::~TrimToSizeListener() {
63
- }
64
-
65
- void Parser::TrimToSizeListener::enterEveryRule(ParserRuleContext * /*ctx*/) {
66
- }
67
-
68
- void Parser::TrimToSizeListener::visitTerminal(tree::TerminalNode * /*node*/) {
69
- }
70
-
71
- void Parser::TrimToSizeListener::visitErrorNode(tree::ErrorNode * /*node*/) {
72
- }
73
-
74
- void Parser::TrimToSizeListener::exitEveryRule(ParserRuleContext * ctx) {
75
- ctx->children.shrink_to_fit();
76
- }
77
-
78
- Parser::Parser(TokenStream *input) {
79
- InitializeInstanceFields();
80
- setInputStream(input);
81
- }
82
-
83
- Parser::~Parser() {
84
- _tracker.reset();
85
- delete _tracer;
86
- }
87
-
88
- void Parser::reset() {
89
- if (getInputStream() != nullptr) {
90
- getInputStream()->seek(0);
91
- }
92
- _errHandler->reset(this); // Watch out, this is not shared_ptr.reset().
93
-
94
- _matchedEOF = false;
95
- _syntaxErrors = 0;
96
- setTrace(false);
97
- _precedenceStack.clear();
98
- _precedenceStack.push_back(0);
99
- _ctx = nullptr;
100
- _tracker.reset();
101
-
102
- atn::ATNSimulator *interpreter = getInterpreter<atn::ParserATNSimulator>();
103
- if (interpreter != nullptr) {
104
- interpreter->reset();
105
- }
106
- }
107
-
108
- Token* Parser::match(size_t ttype) {
109
- Token *t = getCurrentToken();
110
- if (t->getType() == ttype) {
111
- if (ttype == EOF) {
112
- _matchedEOF = true;
113
- }
114
- _errHandler->reportMatch(this);
115
- consume();
116
- } else {
117
- t = _errHandler->recoverInline(this);
118
- if (_buildParseTrees && t->getTokenIndex() == INVALID_INDEX) {
119
- // we must have conjured up a new token during single token insertion
120
- // if it's not the current symbol
121
- _ctx->addChild(createErrorNode(t));
122
- }
123
- }
124
- return t;
125
- }
126
-
127
- Token* Parser::matchWildcard() {
128
- Token *t = getCurrentToken();
129
- if (t->getType() > 0) {
130
- _errHandler->reportMatch(this);
131
- consume();
132
- } else {
133
- t = _errHandler->recoverInline(this);
134
- if (_buildParseTrees && t->getTokenIndex() == INVALID_INDEX) {
135
- // we must have conjured up a new token during single token insertion
136
- // if it's not the current symbol
137
- _ctx->addChild(createErrorNode(t));
138
- }
139
- }
140
-
141
- return t;
142
- }
143
-
144
- void Parser::setBuildParseTree(bool buildParseTrees) {
145
- this->_buildParseTrees = buildParseTrees;
146
- }
147
-
148
- bool Parser::getBuildParseTree() {
149
- return _buildParseTrees;
150
- }
151
-
152
- void Parser::setTrimParseTree(bool trimParseTrees) {
153
- if (trimParseTrees) {
154
- if (getTrimParseTree()) {
155
- return;
156
- }
157
- addParseListener(&TrimToSizeListener::INSTANCE);
158
- } else {
159
- removeParseListener(&TrimToSizeListener::INSTANCE);
160
- }
161
- }
162
-
163
- bool Parser::getTrimParseTree() {
164
- return std::find(getParseListeners().begin(), getParseListeners().end(), &TrimToSizeListener::INSTANCE) != getParseListeners().end();
165
- }
166
-
167
- std::vector<tree::ParseTreeListener *> Parser::getParseListeners() {
168
- return _parseListeners;
169
- }
170
-
171
- void Parser::addParseListener(tree::ParseTreeListener *listener) {
172
- if (!listener) {
173
- throw NullPointerException("listener");
174
- }
175
-
176
- this->_parseListeners.push_back(listener);
177
- }
178
-
179
- void Parser::removeParseListener(tree::ParseTreeListener *listener) {
180
- if (!_parseListeners.empty()) {
181
- auto it = std::find(_parseListeners.begin(), _parseListeners.end(), listener);
182
- if (it != _parseListeners.end()) {
183
- _parseListeners.erase(it);
184
- }
185
- }
186
- }
187
-
188
- void Parser::removeParseListeners() {
189
- _parseListeners.clear();
190
- }
191
-
192
- void Parser::triggerEnterRuleEvent() {
193
- for (auto listener : _parseListeners) {
194
- listener->enterEveryRule(_ctx);
195
- _ctx->enterRule(listener);
196
- }
197
- }
198
-
199
- void Parser::triggerExitRuleEvent() {
200
- // reverse order walk of listeners
201
- for (auto it = _parseListeners.rbegin(); it != _parseListeners.rend(); ++it) {
202
- _ctx->exitRule(*it);
203
- (*it)->exitEveryRule(_ctx);
204
- }
205
- }
206
-
207
- size_t Parser::getNumberOfSyntaxErrors() {
208
- return _syntaxErrors;
209
- }
210
-
211
- Ref<TokenFactory<CommonToken>> Parser::getTokenFactory() {
212
- return _input->getTokenSource()->getTokenFactory();
213
- }
214
-
215
-
216
- const atn::ATN& Parser::getATNWithBypassAlts() {
217
- std::vector<uint16_t> serializedAtn = getSerializedATN();
218
- if (serializedAtn.empty()) {
219
- throw UnsupportedOperationException("The current parser does not support an ATN with bypass alternatives.");
220
- }
221
-
222
- std::lock_guard<std::mutex> lck(_mutex);
223
-
224
- // XXX: using the entire serialized ATN as key into the map is a big resource waste.
225
- // How large can that thing become?
226
- if (bypassAltsAtnCache.find(serializedAtn) == bypassAltsAtnCache.end())
227
- {
228
- atn::ATNDeserializationOptions deserializationOptions;
229
- deserializationOptions.setGenerateRuleBypassTransitions(true);
230
-
231
- atn::ATNDeserializer deserializer(deserializationOptions);
232
- bypassAltsAtnCache[serializedAtn] = deserializer.deserialize(serializedAtn);
233
- }
234
-
235
- return bypassAltsAtnCache[serializedAtn];
236
- }
237
-
238
- tree::pattern::ParseTreePattern Parser::compileParseTreePattern(const std::string &pattern, int patternRuleIndex) {
239
- if (getTokenStream() != nullptr) {
240
- TokenSource *tokenSource = getTokenStream()->getTokenSource();
241
- if (is<Lexer*>(tokenSource)) {
242
- Lexer *lexer = dynamic_cast<Lexer *>(tokenSource);
243
- return compileParseTreePattern(pattern, patternRuleIndex, lexer);
244
- }
245
- }
246
- throw UnsupportedOperationException("Parser can't discover a lexer to use");
247
- }
248
-
249
- tree::pattern::ParseTreePattern Parser::compileParseTreePattern(const std::string &pattern, int patternRuleIndex,
250
- Lexer *lexer) {
251
- tree::pattern::ParseTreePatternMatcher m(lexer, this);
252
- return m.compile(pattern, patternRuleIndex);
253
- }
254
-
255
- Ref<ANTLRErrorStrategy> Parser::getErrorHandler() {
256
- return _errHandler;
257
- }
258
-
259
- void Parser::setErrorHandler(Ref<ANTLRErrorStrategy> const& handler) {
260
- _errHandler = handler;
261
- }
262
-
263
- IntStream* Parser::getInputStream() {
264
- return getTokenStream();
265
- }
266
-
267
- void Parser::setInputStream(IntStream *input) {
268
- setTokenStream(static_cast<TokenStream*>(input));
269
- }
270
-
271
- TokenStream* Parser::getTokenStream() {
272
- return _input;
273
- }
274
-
275
- void Parser::setTokenStream(TokenStream *input) {
276
- _input = nullptr; // Just a reference we don't own.
277
- reset();
278
- _input = input;
279
- }
280
-
281
- Token* Parser::getCurrentToken() {
282
- return _input->LT(1);
283
- }
284
-
285
- void Parser::notifyErrorListeners(const std::string &msg) {
286
- notifyErrorListeners(getCurrentToken(), msg, nullptr);
287
- }
288
-
289
- void Parser::notifyErrorListeners(Token *offendingToken, const std::string &msg, std::exception_ptr e) {
290
- _syntaxErrors++;
291
- size_t line = offendingToken->getLine();
292
- size_t charPositionInLine = offendingToken->getCharPositionInLine();
293
-
294
- ProxyErrorListener &listener = getErrorListenerDispatch();
295
- listener.syntaxError(this, offendingToken, line, charPositionInLine, msg, e);
296
- }
297
-
298
- Token* Parser::consume() {
299
- Token *o = getCurrentToken();
300
- if (o->getType() != EOF) {
301
- getInputStream()->consume();
302
- }
303
-
304
- bool hasListener = _parseListeners.size() > 0 && !_parseListeners.empty();
305
- if (_buildParseTrees || hasListener) {
306
- if (_errHandler->inErrorRecoveryMode(this)) {
307
- tree::ErrorNode *node = createErrorNode(o);
308
- _ctx->addChild(node);
309
- if (_parseListeners.size() > 0) {
310
- for (auto listener : _parseListeners) {
311
- listener->visitErrorNode(node);
312
- }
313
- }
314
- } else {
315
- tree::TerminalNode *node = _ctx->addChild(createTerminalNode(o));
316
- if (_parseListeners.size() > 0) {
317
- for (auto listener : _parseListeners) {
318
- listener->visitTerminal(node);
319
- }
320
- }
321
- }
322
- }
323
- return o;
324
- }
325
-
326
- void Parser::addContextToParseTree() {
327
- // Add current context to parent if we have a parent.
328
- if (_ctx->parent == nullptr)
329
- return;
330
-
331
- ParserRuleContext *parent = dynamic_cast<ParserRuleContext *>(_ctx->parent);
332
- parent->addChild(_ctx);
333
- }
334
-
335
- void Parser::enterRule(ParserRuleContext *localctx, size_t state, size_t /*ruleIndex*/) {
336
- setState(state);
337
- _ctx = localctx;
338
- _ctx->start = _input->LT(1);
339
- if (_buildParseTrees) {
340
- addContextToParseTree();
341
- }
342
- if (_parseListeners.size() > 0) {
343
- triggerEnterRuleEvent();
344
- }
345
- }
346
-
347
- void Parser::exitRule() {
348
- if (_matchedEOF) {
349
- // if we have matched EOF, it cannot consume past EOF so we use LT(1) here
350
- _ctx->stop = _input->LT(1); // LT(1) will be end of file
351
- } else {
352
- _ctx->stop = _input->LT(-1); // stop node is what we just matched
353
- }
354
-
355
- // trigger event on ctx, before it reverts to parent
356
- if (_parseListeners.size() > 0) {
357
- triggerExitRuleEvent();
358
- }
359
- setState(_ctx->invokingState);
360
- _ctx = dynamic_cast<ParserRuleContext *>(_ctx->parent);
361
- }
362
-
363
- void Parser::enterOuterAlt(ParserRuleContext *localctx, size_t altNum) {
364
- localctx->setAltNumber(altNum);
365
-
366
- // if we have new localctx, make sure we replace existing ctx
367
- // that is previous child of parse tree
368
- if (_buildParseTrees && _ctx != localctx) {
369
- if (_ctx->parent != nullptr) {
370
- ParserRuleContext *parent = dynamic_cast<ParserRuleContext *>(_ctx->parent);
371
- parent->removeLastChild();
372
- parent->addChild(localctx);
373
- }
374
- }
375
- _ctx = localctx;
376
- }
377
-
378
- int Parser::getPrecedence() const {
379
- if (_precedenceStack.empty()) {
380
- return -1;
381
- }
382
-
383
- return _precedenceStack.back();
384
- }
385
-
386
- void Parser::enterRecursionRule(ParserRuleContext *localctx, size_t ruleIndex) {
387
- enterRecursionRule(localctx, getATN().ruleToStartState[ruleIndex]->stateNumber, ruleIndex, 0);
388
- }
389
-
390
- void Parser::enterRecursionRule(ParserRuleContext *localctx, size_t state, size_t /*ruleIndex*/, int precedence) {
391
- setState(state);
392
- _precedenceStack.push_back(precedence);
393
- _ctx = localctx;
394
- _ctx->start = _input->LT(1);
395
- if (!_parseListeners.empty()) {
396
- triggerEnterRuleEvent(); // simulates rule entry for left-recursive rules
397
- }
398
- }
399
-
400
- void Parser::pushNewRecursionContext(ParserRuleContext *localctx, size_t state, size_t /*ruleIndex*/) {
401
- ParserRuleContext *previous = _ctx;
402
- previous->parent = localctx;
403
- previous->invokingState = state;
404
- previous->stop = _input->LT(-1);
405
-
406
- _ctx = localctx;
407
- _ctx->start = previous->start;
408
- if (_buildParseTrees) {
409
- _ctx->addChild(previous);
410
- }
411
-
412
- if (_parseListeners.size() > 0) {
413
- triggerEnterRuleEvent(); // simulates rule entry for left-recursive rules
414
- }
415
- }
416
-
417
- void Parser::unrollRecursionContexts(ParserRuleContext *parentctx) {
418
- _precedenceStack.pop_back();
419
- _ctx->stop = _input->LT(-1);
420
- ParserRuleContext *retctx = _ctx; // save current ctx (return value)
421
-
422
- // unroll so ctx is as it was before call to recursive method
423
- if (_parseListeners.size() > 0) {
424
- while (_ctx != parentctx) {
425
- triggerExitRuleEvent();
426
- _ctx = dynamic_cast<ParserRuleContext *>(_ctx->parent);
427
- }
428
- } else {
429
- _ctx = parentctx;
430
- }
431
-
432
- // hook into tree
433
- retctx->parent = parentctx;
434
-
435
- if (_buildParseTrees && parentctx != nullptr) {
436
- // add return ctx into invoking rule's tree
437
- parentctx->addChild(retctx);
438
- }
439
- }
440
-
441
- ParserRuleContext* Parser::getInvokingContext(size_t ruleIndex) {
442
- ParserRuleContext *p = _ctx;
443
- while (p) {
444
- if (p->getRuleIndex() == ruleIndex) {
445
- return p;
446
- }
447
- if (p->parent == nullptr)
448
- break;
449
- p = dynamic_cast<ParserRuleContext *>(p->parent);
450
- }
451
- return nullptr;
452
- }
453
-
454
- ParserRuleContext* Parser::getContext() {
455
- return _ctx;
456
- }
457
-
458
- void Parser::setContext(ParserRuleContext *ctx) {
459
- _ctx = ctx;
460
- }
461
-
462
- bool Parser::precpred(RuleContext * /*localctx*/, int precedence) {
463
- return precedence >= _precedenceStack.back();
464
- }
465
-
466
- bool Parser::inContext(const std::string &/*context*/) {
467
- // TODO: useful in parser?
468
- return false;
469
- }
470
-
471
- bool Parser::isExpectedToken(size_t symbol) {
472
- const atn::ATN &atn = getInterpreter<atn::ParserATNSimulator>()->atn;
473
- ParserRuleContext *ctx = _ctx;
474
- atn::ATNState *s = atn.states[getState()];
475
- misc::IntervalSet following = atn.nextTokens(s);
476
-
477
- if (following.contains(symbol)) {
478
- return true;
479
- }
480
-
481
- if (!following.contains(Token::EPSILON)) {
482
- return false;
483
- }
484
-
485
- while (ctx && ctx->invokingState != ATNState::INVALID_STATE_NUMBER && following.contains(Token::EPSILON)) {
486
- atn::ATNState *invokingState = atn.states[ctx->invokingState];
487
- atn::RuleTransition *rt = static_cast<atn::RuleTransition*>(invokingState->transitions[0]);
488
- following = atn.nextTokens(rt->followState);
489
- if (following.contains(symbol)) {
490
- return true;
491
- }
492
-
493
- ctx = dynamic_cast<ParserRuleContext *>(ctx->parent);
494
- }
495
-
496
- if (following.contains(Token::EPSILON) && symbol == EOF) {
497
- return true;
498
- }
499
-
500
- return false;
501
- }
502
-
503
- bool Parser::isMatchedEOF() const {
504
- return _matchedEOF;
505
- }
506
-
507
- misc::IntervalSet Parser::getExpectedTokens() {
508
- return getATN().getExpectedTokens(getState(), getContext());
509
- }
510
-
511
- misc::IntervalSet Parser::getExpectedTokensWithinCurrentRule() {
512
- const atn::ATN &atn = getInterpreter<atn::ParserATNSimulator>()->atn;
513
- atn::ATNState *s = atn.states[getState()];
514
- return atn.nextTokens(s);
515
- }
516
-
517
- size_t Parser::getRuleIndex(const std::string &ruleName) {
518
- const std::map<std::string, size_t> &m = getRuleIndexMap();
519
- auto iterator = m.find(ruleName);
520
- if (iterator == m.end()) {
521
- return INVALID_INDEX;
522
- }
523
- return iterator->second;
524
- }
525
-
526
- ParserRuleContext* Parser::getRuleContext() {
527
- return _ctx;
528
- }
529
-
530
- std::vector<std::string> Parser::getRuleInvocationStack() {
531
- return getRuleInvocationStack(_ctx);
532
- }
533
-
534
- std::vector<std::string> Parser::getRuleInvocationStack(RuleContext *p) {
535
- std::vector<std::string> const& ruleNames = getRuleNames();
536
- std::vector<std::string> stack;
537
- RuleContext *run = p;
538
- while (run != nullptr) {
539
- // compute what follows who invoked us
540
- size_t ruleIndex = run->getRuleIndex();
541
- if (ruleIndex == INVALID_INDEX ) {
542
- stack.push_back("n/a");
543
- } else {
544
- stack.push_back(ruleNames[ruleIndex]);
545
- }
546
- if (p->parent == nullptr)
547
- break;
548
- run = dynamic_cast<RuleContext *>(run->parent);
549
- }
550
- return stack;
551
- }
552
-
553
- std::vector<std::string> Parser::getDFAStrings() {
554
- atn::ParserATNSimulator *simulator = getInterpreter<atn::ParserATNSimulator>();
555
- if (!simulator->decisionToDFA.empty()) {
556
- std::lock_guard<std::mutex> lck(_mutex);
557
-
558
- std::vector<std::string> s;
559
- for (size_t d = 0; d < simulator->decisionToDFA.size(); d++) {
560
- dfa::DFA &dfa = simulator->decisionToDFA[d];
561
- s.push_back(dfa.toString(getVocabulary()));
562
- }
563
- return s;
564
- }
565
- return std::vector<std::string>();
566
- }
567
-
568
- void Parser::dumpDFA() {
569
- atn::ParserATNSimulator *simulator = getInterpreter<atn::ParserATNSimulator>();
570
- if (!simulator->decisionToDFA.empty()) {
571
- std::lock_guard<std::mutex> lck(_mutex);
572
- bool seenOne = false;
573
- for (size_t d = 0; d < simulator->decisionToDFA.size(); d++) {
574
- dfa::DFA &dfa = simulator->decisionToDFA[d];
575
- if (!dfa.states.empty()) {
576
- if (seenOne) {
577
- std::cout << std::endl;
578
- }
579
- std::cout << "Decision " << dfa.decision << ":" << std::endl;
580
- std::cout << dfa.toString(getVocabulary());
581
- seenOne = true;
582
- }
583
- }
584
- }
585
- }
586
-
587
- std::string Parser::getSourceName() {
588
- return _input->getSourceName();
589
- }
590
-
591
- atn::ParseInfo Parser::getParseInfo() const {
592
- atn::ProfilingATNSimulator *interp = getInterpreter<atn::ProfilingATNSimulator>();
593
- return atn::ParseInfo(interp);
594
- }
595
-
596
- void Parser::setProfile(bool profile) {
597
- atn::ParserATNSimulator *interp = getInterpreter<atn::ProfilingATNSimulator>();
598
- atn::PredictionMode saveMode = interp != nullptr ? interp->getPredictionMode() : atn::PredictionMode::LL;
599
- if (profile) {
600
- if (!is<atn::ProfilingATNSimulator *>(interp)) {
601
- setInterpreter(new atn::ProfilingATNSimulator(this)); /* mem-check: replacing existing interpreter which gets deleted. */
602
- }
603
- } else if (is<atn::ProfilingATNSimulator *>(interp)) {
604
- /* mem-check: replacing existing interpreter which gets deleted. */
605
- atn::ParserATNSimulator *sim = new atn::ParserATNSimulator(this, getATN(), interp->decisionToDFA, interp->getSharedContextCache());
606
- setInterpreter(sim);
607
- }
608
- getInterpreter<atn::ParserATNSimulator>()->setPredictionMode(saveMode);
609
- }
610
-
611
- void Parser::setTrace(bool trace) {
612
- if (!trace) {
613
- if (_tracer)
614
- removeParseListener(_tracer);
615
- delete _tracer;
616
- _tracer = nullptr;
617
- } else {
618
- if (_tracer)
619
- removeParseListener(_tracer); // Just in case this is triggered multiple times.
620
- _tracer = new TraceListener(this);
621
- addParseListener(_tracer);
622
- }
623
- }
624
-
625
- bool Parser::isTrace() const {
626
- return _tracer != nullptr;
627
- }
628
-
629
- tree::TerminalNode *Parser::createTerminalNode(Token *t) {
630
- return _tracker.createInstance<tree::TerminalNodeImpl>(t);
631
- }
632
-
633
- tree::ErrorNode *Parser::createErrorNode(Token *t) {
634
- return _tracker.createInstance<tree::ErrorNodeImpl>(t);
635
- }
636
-
637
- void Parser::InitializeInstanceFields() {
638
- _errHandler = std::make_shared<DefaultErrorStrategy>();
639
- _precedenceStack.clear();
640
- _precedenceStack.push_back(0);
641
- _buildParseTrees = true;
642
- _syntaxErrors = 0;
643
- _matchedEOF = false;
644
- _input = nullptr;
645
- _tracer = nullptr;
646
- _ctx = nullptr;
647
- }
648
-