expressir 0.2.5-x64-mingw32 → 0.2.11-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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,110 +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 "support/BitSet.h"
9
- #include "atn/PredictionContext.h"
10
-
11
- namespace antlr4 {
12
- namespace atn {
13
-
14
- /// Specialized set that can track info about the set, with support for combining similar configurations using a
15
- /// graph-structured stack.
16
- class ANTLR4CPP_PUBLIC ATNConfigSet {
17
- public:
18
- /// Track the elements as they are added to the set; supports get(i)
19
- std::vector<Ref<ATNConfig>> configs;
20
-
21
- // TODO: these fields make me pretty uncomfortable but nice to pack up info together, saves recomputation
22
- // TODO: can we track conflicts as they are added to save scanning configs later?
23
- size_t uniqueAlt;
24
-
25
- /** Currently this is only used when we detect SLL conflict; this does
26
- * not necessarily represent the ambiguous alternatives. In fact,
27
- * I should also point out that this seems to include predicated alternatives
28
- * that have predicates that evaluate to false. Computed in computeTargetState().
29
- */
30
- antlrcpp::BitSet conflictingAlts;
31
-
32
- // Used in parser and lexer. In lexer, it indicates we hit a pred
33
- // while computing a closure operation. Don't make a DFA state from this.
34
- bool hasSemanticContext;
35
- bool dipsIntoOuterContext;
36
-
37
- /// Indicates that this configuration set is part of a full context
38
- /// LL prediction. It will be used to determine how to merge $. With SLL
39
- /// it's a wildcard whereas it is not for LL context merge.
40
- const bool fullCtx;
41
-
42
- ATNConfigSet(bool fullCtx = true);
43
- ATNConfigSet(const Ref<ATNConfigSet> &old);
44
-
45
- virtual ~ATNConfigSet();
46
-
47
- virtual bool add(const Ref<ATNConfig> &config);
48
-
49
- /// <summary>
50
- /// Adding a new config means merging contexts with existing configs for
51
- /// {@code (s, i, pi, _)}, where {@code s} is the
52
- /// <seealso cref="ATNConfig#state"/>, {@code i} is the <seealso cref="ATNConfig#alt"/>, and
53
- /// {@code pi} is the <seealso cref="ATNConfig#semanticContext"/>. We use
54
- /// {@code (s,i,pi)} as key.
55
- /// <p/>
56
- /// This method updates <seealso cref="#dipsIntoOuterContext"/> and
57
- /// <seealso cref="#hasSemanticContext"/> when necessary.
58
- /// </summary>
59
- virtual bool add(const Ref<ATNConfig> &config, PredictionContextMergeCache *mergeCache);
60
-
61
- virtual std::vector<ATNState *> getStates();
62
-
63
- /**
64
- * Gets the complete set of represented alternatives for the configuration
65
- * set.
66
- *
67
- * @return the set of represented alternatives in this configuration set
68
- *
69
- * @since 4.3
70
- */
71
- antlrcpp::BitSet getAlts();
72
- virtual std::vector<Ref<SemanticContext>> getPredicates();
73
-
74
- virtual Ref<ATNConfig> get(size_t i) const;
75
-
76
- virtual void optimizeConfigs(ATNSimulator *interpreter);
77
-
78
- bool addAll(const Ref<ATNConfigSet> &other);
79
-
80
- bool operator == (const ATNConfigSet &other);
81
- virtual size_t hashCode();
82
- virtual size_t size();
83
- virtual bool isEmpty();
84
- virtual void clear();
85
- virtual bool isReadonly();
86
- virtual void setReadonly(bool readonly);
87
- virtual std::string toString();
88
-
89
- protected:
90
- /// Indicates that the set of configurations is read-only. Do not
91
- /// allow any code to manipulate the set; DFA states will point at
92
- /// the sets and they must not change. This does not protect the other
93
- /// fields; in particular, conflictingAlts is set after
94
- /// we've made this readonly.
95
- bool _readonly;
96
-
97
- virtual size_t getHash(ATNConfig *c); // Hash differs depending on set type.
98
-
99
- private:
100
- size_t _cachedHashCode;
101
-
102
- /// All configs but hashed by (s, i, _, pi) not including context. Wiped out
103
- /// when we go readonly as this set becomes a DFA state.
104
- std::unordered_map<size_t, ATNConfig *> _configLookup;
105
-
106
- void InitializeInstanceFields();
107
- };
108
-
109
- } // namespace atn
110
- } // namespace antlr4
@@ -1,64 +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
-
8
- using namespace antlr4::atn;
9
-
10
- ATNDeserializationOptions ATNDeserializationOptions::defaultOptions;
11
-
12
- ATNDeserializationOptions::ATNDeserializationOptions() {
13
- InitializeInstanceFields();
14
- }
15
-
16
- ATNDeserializationOptions::ATNDeserializationOptions(ATNDeserializationOptions *options) : ATNDeserializationOptions() {
17
- this->verifyATN = options->verifyATN;
18
- this->generateRuleBypassTransitions = options->generateRuleBypassTransitions;
19
- }
20
-
21
- ATNDeserializationOptions::~ATNDeserializationOptions() {
22
- }
23
-
24
- const ATNDeserializationOptions& ATNDeserializationOptions::getDefaultOptions() {
25
- return defaultOptions;
26
- }
27
-
28
- bool ATNDeserializationOptions::isReadOnly() {
29
- return readOnly;
30
- }
31
-
32
- void ATNDeserializationOptions::makeReadOnly() {
33
- readOnly = true;
34
- }
35
-
36
- bool ATNDeserializationOptions::isVerifyATN() {
37
- return verifyATN;
38
- }
39
-
40
- void ATNDeserializationOptions::setVerifyATN(bool verify) {
41
- throwIfReadOnly();
42
- verifyATN = verify;
43
- }
44
-
45
- bool ATNDeserializationOptions::isGenerateRuleBypassTransitions() {
46
- return generateRuleBypassTransitions;
47
- }
48
-
49
- void ATNDeserializationOptions::setGenerateRuleBypassTransitions(bool generate) {
50
- throwIfReadOnly();
51
- generateRuleBypassTransitions = generate;
52
- }
53
-
54
- void ATNDeserializationOptions::throwIfReadOnly() {
55
- if (isReadOnly()) {
56
- throw "The object is read only.";
57
- }
58
- }
59
-
60
- void ATNDeserializationOptions::InitializeInstanceFields() {
61
- readOnly = false;
62
- verifyATN = true;
63
- generateRuleBypassTransitions = false;
64
- }
@@ -1,50 +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 "antlr4-common.h"
9
-
10
- namespace antlr4 {
11
- namespace atn {
12
-
13
- class ANTLR4CPP_PUBLIC ATNDeserializationOptions {
14
- private:
15
- static ATNDeserializationOptions defaultOptions;
16
-
17
- bool readOnly;
18
- bool verifyATN;
19
- bool generateRuleBypassTransitions;
20
-
21
- public:
22
- ATNDeserializationOptions();
23
- ATNDeserializationOptions(ATNDeserializationOptions *options);
24
- ATNDeserializationOptions(ATNDeserializationOptions const&) = default;
25
- virtual ~ATNDeserializationOptions();
26
- ATNDeserializationOptions& operator=(ATNDeserializationOptions const&) = default;
27
-
28
- static const ATNDeserializationOptions& getDefaultOptions();
29
-
30
- bool isReadOnly();
31
-
32
- void makeReadOnly();
33
-
34
- bool isVerifyATN();
35
-
36
- void setVerifyATN(bool verify);
37
-
38
- bool isGenerateRuleBypassTransitions();
39
-
40
- void setGenerateRuleBypassTransitions(bool generate);
41
-
42
- protected:
43
- virtual void throwIfReadOnly();
44
-
45
- private:
46
- void InitializeInstanceFields();
47
- };
48
-
49
- } // namespace atn
50
- } // namespace antlr4
@@ -1,758 +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
-
8
- #include "atn/ATNType.h"
9
- #include "atn/ATNState.h"
10
- #include "atn/ATN.h"
11
-
12
- #include "atn/LoopEndState.h"
13
- #include "atn/DecisionState.h"
14
- #include "atn/RuleStartState.h"
15
- #include "atn/RuleStopState.h"
16
- #include "atn/TokensStartState.h"
17
- #include "atn/RuleTransition.h"
18
- #include "atn/EpsilonTransition.h"
19
- #include "atn/PlusLoopbackState.h"
20
- #include "atn/PlusBlockStartState.h"
21
- #include "atn/StarLoopbackState.h"
22
- #include "atn/BasicBlockStartState.h"
23
- #include "atn/BasicState.h"
24
- #include "atn/BlockEndState.h"
25
- #include "atn/StarLoopEntryState.h"
26
-
27
- #include "atn/AtomTransition.h"
28
- #include "atn/StarBlockStartState.h"
29
- #include "atn/RangeTransition.h"
30
- #include "atn/PredicateTransition.h"
31
- #include "atn/PrecedencePredicateTransition.h"
32
- #include "atn/ActionTransition.h"
33
- #include "atn/SetTransition.h"
34
- #include "atn/NotSetTransition.h"
35
- #include "atn/WildcardTransition.h"
36
- #include "Token.h"
37
-
38
- #include "misc/IntervalSet.h"
39
- #include "Exceptions.h"
40
- #include "support/CPPUtils.h"
41
- #include "support/StringUtils.h"
42
-
43
- #include "atn/LexerCustomAction.h"
44
- #include "atn/LexerChannelAction.h"
45
- #include "atn/LexerModeAction.h"
46
- #include "atn/LexerMoreAction.h"
47
- #include "atn/LexerPopModeAction.h"
48
- #include "atn/LexerPushModeAction.h"
49
- #include "atn/LexerSkipAction.h"
50
- #include "atn/LexerTypeAction.h"
51
-
52
- #include "atn/ATNDeserializer.h"
53
-
54
- #include <string>
55
-
56
- using namespace antlr4;
57
- using namespace antlr4::atn;
58
- using namespace antlrcpp;
59
-
60
- const size_t ATNDeserializer::SERIALIZED_VERSION = 3;
61
-
62
- namespace {
63
-
64
- uint32_t deserializeInt32(const std::vector<uint16_t>& data, size_t offset) {
65
- return (uint32_t)data[offset] | ((uint32_t)data[offset + 1] << 16);
66
- }
67
-
68
- ssize_t readUnicodeInt(const std::vector<uint16_t>& data, int& p) {
69
- return static_cast<ssize_t>(data[p++]);
70
- }
71
-
72
- ssize_t readUnicodeInt32(const std::vector<uint16_t>& data, int& p) {
73
- auto result = deserializeInt32(data, p);
74
- p += 2;
75
- return static_cast<ssize_t>(result);
76
- }
77
-
78
- // We templatize this on the function type so the optimizer can inline
79
- // the 16- or 32-bit readUnicodeInt/readUnicodeInt32 as needed.
80
- template <typename F>
81
- void deserializeSets(
82
- const std::vector<uint16_t>& data,
83
- int& p,
84
- std::vector<misc::IntervalSet>& sets,
85
- F readUnicode) {
86
- int nsets = data[p++];
87
- for (int i = 0; i < nsets; i++) {
88
- int nintervals = data[p++];
89
- misc::IntervalSet set;
90
-
91
- bool containsEof = data[p++] != 0;
92
- if (containsEof) {
93
- set.add(-1);
94
- }
95
-
96
- for (int j = 0; j < nintervals; j++) {
97
- auto a = readUnicode(data, p);
98
- auto b = readUnicode(data, p);
99
- set.add(a, b);
100
- }
101
- sets.push_back(set);
102
- }
103
- }
104
-
105
- }
106
-
107
- ATNDeserializer::ATNDeserializer(): ATNDeserializer(ATNDeserializationOptions::getDefaultOptions()) {
108
- }
109
-
110
- ATNDeserializer::ATNDeserializer(const ATNDeserializationOptions& dso): deserializationOptions(dso) {
111
- }
112
-
113
- ATNDeserializer::~ATNDeserializer() {
114
- }
115
-
116
- /**
117
- * This value should never change. Updates following this version are
118
- * reflected as change in the unique ID SERIALIZED_UUID.
119
- */
120
- Guid ATNDeserializer::ADDED_PRECEDENCE_TRANSITIONS() {
121
- return Guid("1DA0C57D-6C06-438A-9B27-10BCB3CE0F61");
122
- }
123
-
124
- Guid ATNDeserializer::ADDED_LEXER_ACTIONS() {
125
- return Guid("AADB8D7E-AEEF-4415-AD2B-8204D6CF042E");
126
- }
127
-
128
- Guid ATNDeserializer::ADDED_UNICODE_SMP() {
129
- return Guid("59627784-3BE5-417A-B9EB-8131A7286089");
130
- }
131
-
132
- Guid ATNDeserializer::SERIALIZED_UUID() {
133
- return ADDED_UNICODE_SMP();
134
- }
135
-
136
- Guid ATNDeserializer::BASE_SERIALIZED_UUID() {
137
- return Guid("33761B2D-78BB-4A43-8B0B-4F5BEE8AACF3");
138
- }
139
-
140
- std::vector<Guid>& ATNDeserializer::SUPPORTED_UUIDS() {
141
- static std::vector<Guid> singleton = { BASE_SERIALIZED_UUID(), ADDED_PRECEDENCE_TRANSITIONS(), ADDED_LEXER_ACTIONS(), ADDED_UNICODE_SMP() };
142
- return singleton;
143
- }
144
-
145
- bool ATNDeserializer::isFeatureSupported(const Guid &feature, const Guid &actualUuid) {
146
- auto featureIterator = std::find(SUPPORTED_UUIDS().begin(), SUPPORTED_UUIDS().end(), feature);
147
- if (featureIterator == SUPPORTED_UUIDS().end()) {
148
- return false;
149
- }
150
- auto actualIterator = std::find(SUPPORTED_UUIDS().begin(), SUPPORTED_UUIDS().end(), actualUuid);
151
- if (actualIterator == SUPPORTED_UUIDS().end()) {
152
- return false;
153
- }
154
-
155
- return std::distance(featureIterator, actualIterator) >= 0;
156
- }
157
-
158
- ATN ATNDeserializer::deserialize(const std::vector<uint16_t>& input) {
159
- // Don't adjust the first value since that's the version number.
160
- std::vector<uint16_t> data(input.size());
161
- data[0] = input[0];
162
- for (size_t i = 1; i < input.size(); ++i) {
163
- data[i] = input[i] - 2;
164
- }
165
-
166
- int p = 0;
167
- int version = data[p++];
168
- if (version != SERIALIZED_VERSION) {
169
- std::string reason = "Could not deserialize ATN with version" + std::to_string(version) + "(expected " + std::to_string(SERIALIZED_VERSION) + ").";
170
-
171
- throw UnsupportedOperationException(reason);
172
- }
173
-
174
- Guid uuid = toUUID(data.data(), p);
175
- p += 8;
176
- auto uuidIterator = std::find(SUPPORTED_UUIDS().begin(), SUPPORTED_UUIDS().end(), uuid);
177
- if (uuidIterator == SUPPORTED_UUIDS().end()) {
178
- std::string reason = "Could not deserialize ATN with UUID " + uuid.toString() + " (expected " +
179
- SERIALIZED_UUID().toString() + " or a legacy UUID).";
180
-
181
- throw UnsupportedOperationException(reason);
182
- }
183
-
184
- bool supportsPrecedencePredicates = isFeatureSupported(ADDED_PRECEDENCE_TRANSITIONS(), uuid);
185
- bool supportsLexerActions = isFeatureSupported(ADDED_LEXER_ACTIONS(), uuid);
186
-
187
- ATNType grammarType = (ATNType)data[p++];
188
- size_t maxTokenType = data[p++];
189
- ATN atn(grammarType, maxTokenType);
190
-
191
- //
192
- // STATES
193
- //
194
- std::vector<std::pair<LoopEndState*, size_t>> loopBackStateNumbers;
195
- std::vector<std::pair<BlockStartState*, size_t>> endStateNumbers;
196
- size_t nstates = data[p++];
197
- for (size_t i = 0; i < nstates; i++) {
198
- size_t stype = data[p++];
199
- // ignore bad type of states
200
- if (stype == ATNState::ATN_INVALID_TYPE) {
201
- atn.addState(nullptr);
202
- continue;
203
- }
204
-
205
- size_t ruleIndex = data[p++];
206
- if (ruleIndex == 0xFFFF) {
207
- ruleIndex = INVALID_INDEX;
208
- }
209
-
210
- ATNState *s = stateFactory(stype, ruleIndex);
211
- if (stype == ATNState::LOOP_END) { // special case
212
- int loopBackStateNumber = data[p++];
213
- loopBackStateNumbers.push_back({ (LoopEndState*)s, loopBackStateNumber });
214
- } else if (is<BlockStartState*>(s)) {
215
- int endStateNumber = data[p++];
216
- endStateNumbers.push_back({ (BlockStartState*)s, endStateNumber });
217
- }
218
- atn.addState(s);
219
- }
220
-
221
- // delay the assignment of loop back and end states until we know all the state instances have been initialized
222
- for (auto &pair : loopBackStateNumbers) {
223
- pair.first->loopBackState = atn.states[pair.second];
224
- }
225
-
226
- for (auto &pair : endStateNumbers) {
227
- pair.first->endState = (BlockEndState*)atn.states[pair.second];
228
- }
229
-
230
- size_t numNonGreedyStates = data[p++];
231
- for (size_t i = 0; i < numNonGreedyStates; i++) {
232
- size_t stateNumber = data[p++];
233
- // The serialized ATN must be specifying the right states, so that the
234
- // cast below is correct.
235
- ((DecisionState *)atn.states[stateNumber])->nonGreedy = true;
236
- }
237
-
238
- if (supportsPrecedencePredicates) {
239
- size_t numPrecedenceStates = data[p++];
240
- for (size_t i = 0; i < numPrecedenceStates; i++) {
241
- size_t stateNumber = data[p++];
242
- ((RuleStartState *)atn.states[stateNumber])->isLeftRecursiveRule = true;
243
- }
244
- }
245
-
246
- //
247
- // RULES
248
- //
249
- size_t nrules = data[p++];
250
- for (size_t i = 0; i < nrules; i++) {
251
- size_t s = data[p++];
252
- // Also here, the serialized atn must ensure to point to the correct class type.
253
- RuleStartState *startState = (RuleStartState*)atn.states[s];
254
- atn.ruleToStartState.push_back(startState);
255
- if (atn.grammarType == ATNType::LEXER) {
256
- size_t tokenType = data[p++];
257
- if (tokenType == 0xFFFF) {
258
- tokenType = Token::EOF;
259
- }
260
-
261
- atn.ruleToTokenType.push_back(tokenType);
262
-
263
- if (!isFeatureSupported(ADDED_LEXER_ACTIONS(), uuid)) {
264
- // this piece of unused metadata was serialized prior to the
265
- // addition of LexerAction
266
- //int actionIndexIgnored = data[p++];
267
- p++;
268
- }
269
- }
270
- }
271
-
272
- atn.ruleToStopState.resize(nrules);
273
- for (ATNState *state : atn.states) {
274
- if (!is<RuleStopState*>(state)) {
275
- continue;
276
- }
277
-
278
- RuleStopState *stopState = static_cast<RuleStopState*>(state);
279
- atn.ruleToStopState[state->ruleIndex] = stopState;
280
- atn.ruleToStartState[state->ruleIndex]->stopState = stopState;
281
- }
282
-
283
- //
284
- // MODES
285
- //
286
- size_t nmodes = data[p++];
287
- for (size_t i = 0; i < nmodes; i++) {
288
- size_t s = data[p++];
289
- atn.modeToStartState.push_back(static_cast<TokensStartState*>(atn.states[s]));
290
- }
291
-
292
- //
293
- // SETS
294
- //
295
- std::vector<misc::IntervalSet> sets;
296
-
297
- // First, deserialize sets with 16-bit arguments <= U+FFFF.
298
- deserializeSets(data, p, sets, readUnicodeInt);
299
-
300
- // Next, if the ATN was serialized with the Unicode SMP feature,
301
- // deserialize sets with 32-bit arguments <= U+10FFFF.
302
- if (isFeatureSupported(ADDED_UNICODE_SMP(), uuid)) {
303
- deserializeSets(data, p, sets, readUnicodeInt32);
304
- }
305
-
306
- //
307
- // EDGES
308
- //
309
- int nedges = data[p++];
310
- for (int i = 0; i < nedges; i++) {
311
- size_t src = data[p];
312
- size_t trg = data[p + 1];
313
- size_t ttype = data[p + 2];
314
- size_t arg1 = data[p + 3];
315
- size_t arg2 = data[p + 4];
316
- size_t arg3 = data[p + 5];
317
- Transition *trans = edgeFactory(atn, ttype, src, trg, arg1, arg2, arg3, sets);
318
- ATNState *srcState = atn.states[src];
319
- srcState->addTransition(trans);
320
- p += 6;
321
- }
322
-
323
- // edges for rule stop states can be derived, so they aren't serialized
324
- for (ATNState *state : atn.states) {
325
- for (size_t i = 0; i < state->transitions.size(); i++) {
326
- Transition *t = state->transitions[i];
327
- if (!is<RuleTransition*>(t)) {
328
- continue;
329
- }
330
-
331
- RuleTransition *ruleTransition = static_cast<RuleTransition*>(t);
332
- size_t outermostPrecedenceReturn = INVALID_INDEX;
333
- if (atn.ruleToStartState[ruleTransition->target->ruleIndex]->isLeftRecursiveRule) {
334
- if (ruleTransition->precedence == 0) {
335
- outermostPrecedenceReturn = ruleTransition->target->ruleIndex;
336
- }
337
- }
338
-
339
- EpsilonTransition *returnTransition = new EpsilonTransition(ruleTransition->followState, outermostPrecedenceReturn); /* mem check: freed in ANTState d-tor */
340
- atn.ruleToStopState[ruleTransition->target->ruleIndex]->addTransition(returnTransition);
341
- }
342
- }
343
-
344
- for (ATNState *state : atn.states) {
345
- if (is<BlockStartState *>(state)) {
346
- BlockStartState *startState = static_cast<BlockStartState *>(state);
347
-
348
- // we need to know the end state to set its start state
349
- if (startState->endState == nullptr) {
350
- throw IllegalStateException();
351
- }
352
-
353
- // block end states can only be associated to a single block start state
354
- if (startState->endState->startState != nullptr) {
355
- throw IllegalStateException();
356
- }
357
-
358
- startState->endState->startState = static_cast<BlockStartState*>(state);
359
- }
360
-
361
- if (is<PlusLoopbackState*>(state)) {
362
- PlusLoopbackState *loopbackState = static_cast<PlusLoopbackState *>(state);
363
- for (size_t i = 0; i < loopbackState->transitions.size(); i++) {
364
- ATNState *target = loopbackState->transitions[i]->target;
365
- if (is<PlusBlockStartState *>(target)) {
366
- (static_cast<PlusBlockStartState *>(target))->loopBackState = loopbackState;
367
- }
368
- }
369
- } else if (is<StarLoopbackState *>(state)) {
370
- StarLoopbackState *loopbackState = static_cast<StarLoopbackState *>(state);
371
- for (size_t i = 0; i < loopbackState->transitions.size(); i++) {
372
- ATNState *target = loopbackState->transitions[i]->target;
373
- if (is<StarLoopEntryState *>(target)) {
374
- (static_cast<StarLoopEntryState*>(target))->loopBackState = loopbackState;
375
- }
376
- }
377
- }
378
- }
379
-
380
- //
381
- // DECISIONS
382
- //
383
- size_t ndecisions = data[p++];
384
- for (size_t i = 1; i <= ndecisions; i++) {
385
- size_t s = data[p++];
386
- DecisionState *decState = dynamic_cast<DecisionState*>(atn.states[s]);
387
- if (decState == nullptr)
388
- throw IllegalStateException();
389
-
390
- atn.decisionToState.push_back(decState);
391
- decState->decision = (int)i - 1;
392
- }
393
-
394
- //
395
- // LEXER ACTIONS
396
- //
397
- if (atn.grammarType == ATNType::LEXER) {
398
- if (supportsLexerActions) {
399
- atn.lexerActions.resize(data[p++]);
400
- for (size_t i = 0; i < atn.lexerActions.size(); i++) {
401
- LexerActionType actionType = (LexerActionType)data[p++];
402
- int data1 = data[p++];
403
- if (data1 == 0xFFFF) {
404
- data1 = -1;
405
- }
406
-
407
- int data2 = data[p++];
408
- if (data2 == 0xFFFF) {
409
- data2 = -1;
410
- }
411
-
412
- atn.lexerActions[i] = lexerActionFactory(actionType, data1, data2);
413
- }
414
- } else {
415
- // for compatibility with older serialized ATNs, convert the old
416
- // serialized action index for action transitions to the new
417
- // form, which is the index of a LexerCustomAction
418
- for (ATNState *state : atn.states) {
419
- for (size_t i = 0; i < state->transitions.size(); i++) {
420
- Transition *transition = state->transitions[i];
421
- if (!is<ActionTransition *>(transition)) {
422
- continue;
423
- }
424
-
425
- size_t ruleIndex = static_cast<ActionTransition *>(transition)->ruleIndex;
426
- size_t actionIndex = static_cast<ActionTransition *>(transition)->actionIndex;
427
- Ref<LexerCustomAction> lexerAction = std::make_shared<LexerCustomAction>(ruleIndex, actionIndex);
428
- state->transitions[i] = new ActionTransition(transition->target, ruleIndex, atn.lexerActions.size(), false); /* mem-check freed in ATNState d-tor */
429
- delete transition; // ml: no longer needed since we just replaced it.
430
- atn.lexerActions.push_back(lexerAction);
431
- }
432
- }
433
- }
434
- }
435
-
436
- markPrecedenceDecisions(atn);
437
-
438
- if (deserializationOptions.isVerifyATN()) {
439
- verifyATN(atn);
440
- }
441
-
442
- if (deserializationOptions.isGenerateRuleBypassTransitions() && atn.grammarType == ATNType::PARSER) {
443
- atn.ruleToTokenType.resize(atn.ruleToStartState.size());
444
- for (size_t i = 0; i < atn.ruleToStartState.size(); i++) {
445
- atn.ruleToTokenType[i] = int(atn.maxTokenType + i + 1);
446
- }
447
-
448
- for (std::vector<RuleStartState*>::size_type i = 0; i < atn.ruleToStartState.size(); i++) {
449
- BasicBlockStartState *bypassStart = new BasicBlockStartState(); /* mem check: freed in ATN d-tor */
450
- bypassStart->ruleIndex = (int)i;
451
- atn.addState(bypassStart);
452
-
453
- BlockEndState *bypassStop = new BlockEndState(); /* mem check: freed in ATN d-tor */
454
- bypassStop->ruleIndex = (int)i;
455
- atn.addState(bypassStop);
456
-
457
- bypassStart->endState = bypassStop;
458
- atn.defineDecisionState(bypassStart);
459
-
460
- bypassStop->startState = bypassStart;
461
-
462
- ATNState *endState;
463
- Transition *excludeTransition = nullptr;
464
- if (atn.ruleToStartState[i]->isLeftRecursiveRule) {
465
- // wrap from the beginning of the rule to the StarLoopEntryState
466
- endState = nullptr;
467
- for (ATNState *state : atn.states) {
468
- if (state->ruleIndex != i) {
469
- continue;
470
- }
471
-
472
- if (!is<StarLoopEntryState*>(state)) {
473
- continue;
474
- }
475
-
476
- ATNState *maybeLoopEndState = state->transitions[state->transitions.size() - 1]->target;
477
- if (!is<LoopEndState*>(maybeLoopEndState)) {
478
- continue;
479
- }
480
-
481
- if (maybeLoopEndState->epsilonOnlyTransitions && is<RuleStopState*>(maybeLoopEndState->transitions[0]->target)) {
482
- endState = state;
483
- break;
484
- }
485
- }
486
-
487
- if (endState == nullptr) {
488
- throw UnsupportedOperationException("Couldn't identify final state of the precedence rule prefix section.");
489
-
490
- }
491
-
492
- excludeTransition = (static_cast<StarLoopEntryState*>(endState))->loopBackState->transitions[0];
493
- } else {
494
- endState = atn.ruleToStopState[i];
495
- }
496
-
497
- // all non-excluded transitions that currently target end state need to target blockEnd instead
498
- for (ATNState *state : atn.states) {
499
- for (Transition *transition : state->transitions) {
500
- if (transition == excludeTransition) {
501
- continue;
502
- }
503
-
504
- if (transition->target == endState) {
505
- transition->target = bypassStop;
506
- }
507
- }
508
- }
509
-
510
- // all transitions leaving the rule start state need to leave blockStart instead
511
- while (atn.ruleToStartState[i]->transitions.size() > 0) {
512
- Transition *transition = atn.ruleToStartState[i]->removeTransition(atn.ruleToStartState[i]->transitions.size() - 1);
513
- bypassStart->addTransition(transition);
514
- }
515
-
516
- // link the new states
517
- atn.ruleToStartState[i]->addTransition(new EpsilonTransition(bypassStart)); /* mem check: freed in ATNState d-tor */
518
- bypassStop->addTransition(new EpsilonTransition(endState)); /* mem check: freed in ATNState d-tor */
519
-
520
- ATNState *matchState = new BasicState(); /* mem check: freed in ATN d-tor */
521
- atn.addState(matchState);
522
- matchState->addTransition(new AtomTransition(bypassStop, atn.ruleToTokenType[i])); /* mem check: freed in ATNState d-tor */
523
- bypassStart->addTransition(new EpsilonTransition(matchState)); /* mem check: freed in ATNState d-tor */
524
- }
525
-
526
- if (deserializationOptions.isVerifyATN()) {
527
- // reverify after modification
528
- verifyATN(atn);
529
- }
530
- }
531
-
532
- return atn;
533
- }
534
-
535
- /**
536
- * Analyze the {@link StarLoopEntryState} states in the specified ATN to set
537
- * the {@link StarLoopEntryState#isPrecedenceDecision} field to the
538
- * correct value.
539
- *
540
- * @param atn The ATN.
541
- */
542
- void ATNDeserializer::markPrecedenceDecisions(const ATN &atn) {
543
- for (ATNState *state : atn.states) {
544
- if (!is<StarLoopEntryState *>(state)) {
545
- continue;
546
- }
547
-
548
- /* We analyze the ATN to determine if this ATN decision state is the
549
- * decision for the closure block that determines whether a
550
- * precedence rule should continue or complete.
551
- */
552
- if (atn.ruleToStartState[state->ruleIndex]->isLeftRecursiveRule) {
553
- ATNState *maybeLoopEndState = state->transitions[state->transitions.size() - 1]->target;
554
- if (is<LoopEndState *>(maybeLoopEndState)) {
555
- if (maybeLoopEndState->epsilonOnlyTransitions && is<RuleStopState *>(maybeLoopEndState->transitions[0]->target)) {
556
- static_cast<StarLoopEntryState *>(state)->isPrecedenceDecision = true;
557
- }
558
- }
559
- }
560
- }
561
- }
562
-
563
- void ATNDeserializer::verifyATN(const ATN &atn) {
564
- // verify assumptions
565
- for (ATNState *state : atn.states) {
566
- if (state == nullptr) {
567
- continue;
568
- }
569
-
570
- checkCondition(state->epsilonOnlyTransitions || state->transitions.size() <= 1);
571
-
572
- if (is<PlusBlockStartState *>(state)) {
573
- checkCondition((static_cast<PlusBlockStartState *>(state))->loopBackState != nullptr);
574
- }
575
-
576
- if (is<StarLoopEntryState *>(state)) {
577
- StarLoopEntryState *starLoopEntryState = static_cast<StarLoopEntryState*>(state);
578
- checkCondition(starLoopEntryState->loopBackState != nullptr);
579
- checkCondition(starLoopEntryState->transitions.size() == 2);
580
-
581
- if (is<StarBlockStartState *>(starLoopEntryState->transitions[0]->target)) {
582
- checkCondition(static_cast<LoopEndState *>(starLoopEntryState->transitions[1]->target) != nullptr);
583
- checkCondition(!starLoopEntryState->nonGreedy);
584
- } else if (is<LoopEndState *>(starLoopEntryState->transitions[0]->target)) {
585
- checkCondition(is<StarBlockStartState *>(starLoopEntryState->transitions[1]->target));
586
- checkCondition(starLoopEntryState->nonGreedy);
587
- } else {
588
- throw IllegalStateException();
589
-
590
- }
591
- }
592
-
593
- if (is<StarLoopbackState *>(state)) {
594
- checkCondition(state->transitions.size() == 1);
595
- checkCondition(is<StarLoopEntryState *>(state->transitions[0]->target));
596
- }
597
-
598
- if (is<LoopEndState *>(state)) {
599
- checkCondition((static_cast<LoopEndState *>(state))->loopBackState != nullptr);
600
- }
601
-
602
- if (is<RuleStartState *>(state)) {
603
- checkCondition((static_cast<RuleStartState *>(state))->stopState != nullptr);
604
- }
605
-
606
- if (is<BlockStartState *>(state)) {
607
- checkCondition((static_cast<BlockStartState *>(state))->endState != nullptr);
608
- }
609
-
610
- if (is<BlockEndState *>(state)) {
611
- checkCondition((static_cast<BlockEndState *>(state))->startState != nullptr);
612
- }
613
-
614
- if (is<DecisionState *>(state)) {
615
- DecisionState *decisionState = static_cast<DecisionState *>(state);
616
- checkCondition(decisionState->transitions.size() <= 1 || decisionState->decision >= 0);
617
- } else {
618
- checkCondition(state->transitions.size() <= 1 || is<RuleStopState *>(state));
619
- }
620
- }
621
- }
622
-
623
- void ATNDeserializer::checkCondition(bool condition) {
624
- checkCondition(condition, "");
625
- }
626
-
627
- void ATNDeserializer::checkCondition(bool condition, const std::string &message) {
628
- if (!condition) {
629
- throw IllegalStateException(message);
630
- }
631
- }
632
-
633
- Guid ATNDeserializer::toUUID(const unsigned short *data, size_t offset) {
634
- return Guid((uint16_t *)data + offset, true);
635
- }
636
-
637
- /* mem check: all created instances are freed in the d-tor of the ATNState they are added to. */
638
- Transition *ATNDeserializer::edgeFactory(const ATN &atn, size_t type, size_t /*src*/, size_t trg, size_t arg1,
639
- size_t arg2, size_t arg3,
640
- const std::vector<misc::IntervalSet> &sets) {
641
-
642
- ATNState *target = atn.states[trg];
643
- switch (type) {
644
- case Transition::EPSILON:
645
- return new EpsilonTransition(target);
646
- case Transition::RANGE:
647
- if (arg3 != 0) {
648
- return new RangeTransition(target, Token::EOF, arg2);
649
- } else {
650
- return new RangeTransition(target, arg1, arg2);
651
- }
652
- case Transition::RULE:
653
- return new RuleTransition(static_cast<RuleStartState*>(atn.states[arg1]), arg2, (int)arg3, target);
654
- case Transition::PREDICATE:
655
- return new PredicateTransition(target, arg1, arg2, arg3 != 0);
656
- case Transition::PRECEDENCE:
657
- return new PrecedencePredicateTransition(target, (int)arg1);
658
- case Transition::ATOM:
659
- if (arg3 != 0) {
660
- return new AtomTransition(target, Token::EOF);
661
- } else {
662
- return new AtomTransition(target, arg1);
663
- }
664
- case Transition::ACTION:
665
- return new ActionTransition(target, arg1, arg2, arg3 != 0);
666
- case Transition::SET:
667
- return new SetTransition(target, sets[arg1]);
668
- case Transition::NOT_SET:
669
- return new NotSetTransition(target, sets[arg1]);
670
- case Transition::WILDCARD:
671
- return new WildcardTransition(target);
672
- }
673
-
674
- throw IllegalArgumentException("The specified transition type is not valid.");
675
- }
676
-
677
- /* mem check: all created instances are freed in the d-tor of the ATN. */
678
- ATNState* ATNDeserializer::stateFactory(size_t type, size_t ruleIndex) {
679
- ATNState *s;
680
- switch (type) {
681
- case ATNState::ATN_INVALID_TYPE:
682
- return nullptr;
683
- case ATNState::BASIC :
684
- s = new BasicState();
685
- break;
686
- case ATNState::RULE_START :
687
- s = new RuleStartState();
688
- break;
689
- case ATNState::BLOCK_START :
690
- s = new BasicBlockStartState();
691
- break;
692
- case ATNState::PLUS_BLOCK_START :
693
- s = new PlusBlockStartState();
694
- break;
695
- case ATNState::STAR_BLOCK_START :
696
- s = new StarBlockStartState();
697
- break;
698
- case ATNState::TOKEN_START :
699
- s = new TokensStartState();
700
- break;
701
- case ATNState::RULE_STOP :
702
- s = new RuleStopState();
703
- break;
704
- case ATNState::BLOCK_END :
705
- s = new BlockEndState();
706
- break;
707
- case ATNState::STAR_LOOP_BACK :
708
- s = new StarLoopbackState();
709
- break;
710
- case ATNState::STAR_LOOP_ENTRY :
711
- s = new StarLoopEntryState();
712
- break;
713
- case ATNState::PLUS_LOOP_BACK :
714
- s = new PlusLoopbackState();
715
- break;
716
- case ATNState::LOOP_END :
717
- s = new LoopEndState();
718
- break;
719
- default :
720
- std::string message = "The specified state type " + std::to_string(type) + " is not valid.";
721
- throw IllegalArgumentException(message);
722
- }
723
-
724
- s->ruleIndex = ruleIndex;
725
- return s;
726
- }
727
-
728
- Ref<LexerAction> ATNDeserializer::lexerActionFactory(LexerActionType type, int data1, int data2) {
729
- switch (type) {
730
- case LexerActionType::CHANNEL:
731
- return std::make_shared<LexerChannelAction>(data1);
732
-
733
- case LexerActionType::CUSTOM:
734
- return std::make_shared<LexerCustomAction>(data1, data2);
735
-
736
- case LexerActionType::MODE:
737
- return std::make_shared< LexerModeAction>(data1);
738
-
739
- case LexerActionType::MORE:
740
- return LexerMoreAction::getInstance();
741
-
742
- case LexerActionType::POP_MODE:
743
- return LexerPopModeAction::getInstance();
744
-
745
- case LexerActionType::PUSH_MODE:
746
- return std::make_shared<LexerPushModeAction>(data1);
747
-
748
- case LexerActionType::SKIP:
749
- return LexerSkipAction::getInstance();
750
-
751
- case LexerActionType::TYPE:
752
- return std::make_shared<LexerTypeAction>(data1);
753
-
754
- default:
755
- throw IllegalArgumentException("The specified lexer action type " + std::to_string(static_cast<size_t>(type)) +
756
- " is not valid.");
757
- }
758
- }