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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (526) hide show
  1. checksums.yaml +5 -5
  2. data/.cross_rubies +30 -0
  3. data/.github/workflows/rake.yml +45 -46
  4. data/.github/workflows/release.yml +84 -75
  5. data/.gitignore +17 -15
  6. data/.gitmodules +3 -3
  7. data/.rspec +2 -2
  8. data/.rubocop.yml +508 -508
  9. data/Gemfile +4 -6
  10. data/README.adoc +147 -147
  11. data/Rakefile +11 -17
  12. data/bin/console +12 -12
  13. data/bin/rspec +29 -29
  14. data/bin/setup +8 -8
  15. data/demo.rb +18 -18
  16. data/docs/development.md +90 -90
  17. data/exe/expressir +20 -20
  18. data/exe/generate-parser +47 -47
  19. data/expressir.gemspec +43 -40
  20. data/lib/expressir/cli/ui.rb +36 -36
  21. data/lib/expressir/cli.rb +27 -27
  22. data/lib/expressir/config.rb +23 -23
  23. data/lib/expressir/express/aggregate_dimension.rb +38 -38
  24. data/lib/expressir/express/attribute.rb +15 -15
  25. data/lib/expressir/express/comment.rb +7 -7
  26. data/lib/expressir/express/defined_type.rb +36 -36
  27. data/lib/expressir/express/derived.rb +65 -65
  28. data/lib/expressir/express/derived_aggregate.rb +43 -43
  29. data/lib/expressir/express/entity.rb +137 -137
  30. data/lib/expressir/express/explicit.rb +70 -70
  31. data/lib/expressir/express/explicit_aggregate.rb +46 -46
  32. data/lib/expressir/express/explicit_or_derived.rb +16 -16
  33. data/lib/expressir/express/global_rule.rb +44 -44
  34. data/lib/expressir/express/interface_specification.rb +51 -51
  35. data/lib/expressir/express/interfaced_item.rb +38 -38
  36. data/lib/expressir/express/inverse.rb +46 -46
  37. data/lib/expressir/express/inverse_aggregate.rb +37 -37
  38. data/lib/expressir/express/model_element.rb +7 -7
  39. data/lib/expressir/express/named_type.rb +19 -19
  40. data/lib/expressir/express/remark.rb +8 -8
  41. data/lib/expressir/express/repository.rb +306 -306
  42. data/lib/expressir/express/schema_definition.rb +96 -96
  43. data/lib/expressir/express/subtype_constraint.rb +14 -14
  44. data/lib/expressir/express/type.rb +26 -26
  45. data/lib/expressir/express/type_aggregate.rb +42 -42
  46. data/lib/expressir/express/type_enum.rb +29 -29
  47. data/lib/expressir/express/type_parser.rb +45 -45
  48. data/lib/expressir/express/type_select.rb +82 -82
  49. data/lib/expressir/express/unique_rule.rb +35 -35
  50. data/lib/expressir/express/where_rule.rb +32 -32
  51. data/lib/expressir/express.rb +11 -11
  52. data/lib/expressir/express_exp/2.4/express_parser.so +0 -0
  53. data/lib/expressir/express_exp/2.5/express_parser.so +0 -0
  54. data/lib/expressir/express_exp/2.6/express_parser.so +0 -0
  55. data/lib/expressir/express_exp/2.7/express_parser.so +0 -0
  56. data/lib/expressir/express_exp/3.0/express_parser.so +0 -0
  57. data/lib/expressir/express_exp/formatter.rb +1449 -1449
  58. data/lib/expressir/express_exp/parser.rb +40 -35
  59. data/lib/expressir/express_exp/visitor.rb +2463 -2450
  60. data/lib/expressir/express_parser.rb +30 -30
  61. data/lib/expressir/model/attribute.rb +26 -26
  62. data/lib/expressir/model/constant.rb +16 -16
  63. data/lib/expressir/model/entity.rb +45 -45
  64. data/lib/expressir/model/enumeration_item.rb +10 -10
  65. data/lib/expressir/model/expressions/aggregate_initializer.rb +12 -12
  66. data/lib/expressir/model/expressions/aggregate_item.rb +14 -14
  67. data/lib/expressir/model/expressions/attribute_reference.rb +14 -14
  68. data/lib/expressir/model/expressions/binary_expression.rb +39 -39
  69. data/lib/expressir/model/expressions/call.rb +14 -14
  70. data/lib/expressir/model/expressions/entity_constructor.rb +14 -14
  71. data/lib/expressir/model/expressions/group_reference.rb +14 -14
  72. data/lib/expressir/model/expressions/index_reference.rb +16 -16
  73. data/lib/expressir/model/expressions/interval.rb +20 -20
  74. data/lib/expressir/model/expressions/query_expression.rb +25 -25
  75. data/lib/expressir/model/expressions/simple_reference.rb +12 -12
  76. data/lib/expressir/model/expressions/unary_expression.rb +18 -18
  77. data/lib/expressir/model/function.rb +61 -61
  78. data/lib/expressir/model/identifier.rb +9 -8
  79. data/lib/expressir/model/interface.rb +17 -17
  80. data/lib/expressir/model/literals/binary.rb +12 -12
  81. data/lib/expressir/model/literals/integer.rb +12 -12
  82. data/lib/expressir/model/literals/logical.rb +16 -16
  83. data/lib/expressir/model/literals/real.rb +12 -12
  84. data/lib/expressir/model/literals/string.rb +14 -14
  85. data/lib/expressir/model/parameter.rb +16 -16
  86. data/lib/expressir/model/procedure.rb +59 -59
  87. data/lib/expressir/model/renamed_ref.rb +12 -12
  88. data/lib/expressir/model/repository.rb +18 -18
  89. data/lib/expressir/model/rule.rb +61 -61
  90. data/lib/expressir/model/schema.rb +66 -66
  91. data/lib/expressir/model/scope.rb +16 -16
  92. data/lib/expressir/model/statements/alias.rb +25 -25
  93. data/lib/expressir/model/statements/assignment.rb +14 -14
  94. data/lib/expressir/model/statements/call.rb +14 -14
  95. data/lib/expressir/model/statements/case.rb +16 -16
  96. data/lib/expressir/model/statements/case_action.rb +14 -14
  97. data/lib/expressir/model/statements/compound.rb +12 -12
  98. data/lib/expressir/model/statements/escape.rb +7 -7
  99. data/lib/expressir/model/statements/if.rb +16 -16
  100. data/lib/expressir/model/statements/null.rb +7 -7
  101. data/lib/expressir/model/statements/repeat.rb +33 -33
  102. data/lib/expressir/model/statements/return.rb +12 -12
  103. data/lib/expressir/model/statements/skip.rb +7 -7
  104. data/lib/expressir/model/subtype_constraint.rb +26 -26
  105. data/lib/expressir/model/type.rb +23 -23
  106. data/lib/expressir/model/types/aggregate.rb +16 -16
  107. data/lib/expressir/model/types/array.rb +20 -20
  108. data/lib/expressir/model/types/bag.rb +16 -16
  109. data/lib/expressir/model/types/binary.rb +14 -14
  110. data/lib/expressir/model/types/boolean.rb +7 -7
  111. data/lib/expressir/model/types/enumeration.rb +18 -18
  112. data/lib/expressir/model/types/generic.rb +12 -12
  113. data/lib/expressir/model/types/generic_entity.rb +12 -12
  114. data/lib/expressir/model/types/integer.rb +7 -7
  115. data/lib/expressir/model/types/list.rb +18 -18
  116. data/lib/expressir/model/types/logical.rb +7 -7
  117. data/lib/expressir/model/types/number.rb +7 -7
  118. data/lib/expressir/model/types/real.rb +12 -12
  119. data/lib/expressir/model/types/select.rb +20 -20
  120. data/lib/expressir/model/types/set.rb +16 -16
  121. data/lib/expressir/model/types/string.rb +14 -14
  122. data/lib/expressir/model/unique.rb +14 -14
  123. data/lib/expressir/model/variable.rb +16 -16
  124. data/lib/expressir/model/where.rb +14 -14
  125. data/lib/expressir/model.rb +64 -64
  126. data/lib/expressir/parser/owl_parser.rb +8 -8
  127. data/lib/expressir/parser.rb +6 -6
  128. data/lib/expressir/version.rb +3 -3
  129. data/lib/expressir.rb +21 -21
  130. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp +9589 -9589
  131. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl +36619 -36619
  132. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.xml +13293 -13293
  133. data/original/examples/employment/eclipse/.project +17 -17
  134. data/original/examples/employment/eclipse/Express/employment_schema.exp +33 -33
  135. data/original/examples/employment/eclipse/Express/employment_schema.xmi +77 -77
  136. data/original/examples/employment/eclipse/Express/employment_schema.xml +92 -92
  137. data/original/examples/employment/eclipse/Models/Employment.uml +4 -4
  138. data/original/examples/employment/eclipse/Models/Employment.umldi +240 -240
  139. data/original/examples/employment/eclipse/readme.txt +6 -6
  140. data/original/examples/employment/employment_schema.exp +33 -33
  141. data/original/examples/employment/employment_schema.rb +232 -232
  142. data/original/examples/employment/employment_schema.xml +92 -92
  143. data/original/examples/employment/employment_schema___module.rb +46 -46
  144. data/original/examples/employment/employment_schema___p28attr.rb +126 -126
  145. data/original/examples/employment/employment_schema___p28inst.rb +26 -26
  146. data/original/examples/employment/example_employment_data.xml +1 -1
  147. data/original/examples/employment/example_employment_data_copy.xml +1 -1
  148. data/original/examples/employment/example_employment_reader.rb +30 -30
  149. data/original/examples/employment/example_employment_writer.rb +51 -51
  150. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.exp +3710 -3710
  151. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.owl +35880 -35880
  152. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xmi +15357 -15357
  153. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xml +9467 -9467
  154. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.exp +8404 -8404
  155. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl +43147 -43147
  156. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi +18341 -18341
  157. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml +11631 -11631
  158. data/original/examples/syntax/remark.exp +146 -145
  159. data/original/examples/syntax/remark_formatted.exp +174 -173
  160. data/original/examples/syntax/syntax.exp +311 -310
  161. data/original/examples/syntax/syntax_formatted.exp +1190 -1186
  162. data/original/exp2ruby.rb +525 -525
  163. data/original/expsm.rb +34 -34
  164. data/original/mapping_owl.rb +1018 -1018
  165. data/original/mapping_sysml.rb +2281 -2281
  166. data/original/mapping_uml2.rb +598 -598
  167. data/original/mapping_uml2_eclipse.rb +433 -433
  168. data/original/reeper.rb +134 -134
  169. data/rakelib/cross-ruby.rake +308 -0
  170. data/spec/acceptance/express_to_owl_spec.rb +18 -18
  171. data/spec/acceptance/version_spec.rb +12 -12
  172. data/spec/expressir/express/repository_spec.rb +25 -25
  173. data/spec/expressir/express_exp/ap233_spec.rb +22 -22
  174. data/spec/expressir/express_exp/format_remark_spec.rb +28 -28
  175. data/spec/expressir/express_exp/format_syntax_spec.rb +28 -28
  176. data/spec/expressir/express_exp/parse_remark_spec.rb +346 -345
  177. data/spec/expressir/express_exp/parse_syntax_spec.rb +3003 -2998
  178. data/spec/expressir/model/find_spec.rb +110 -110
  179. data/spec/expressr_spec.rb +5 -5
  180. data/spec/spec_helper.rb +17 -17
  181. data/spec/support/console_helper.rb +29 -29
  182. metadata +32 -370
  183. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +0 -118
  184. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj +0 -637
  185. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj.filters +0 -984
  186. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj +0 -652
  187. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj.filters +0 -990
  188. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj +0 -652
  189. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj.filters +0 -990
  190. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +0 -652
  191. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +0 -990
  192. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/Info.plist +0 -26
  193. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/antlrcpp_ios.h +0 -17
  194. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +0 -3024
  195. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  196. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  197. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4.xcscheme +0 -76
  198. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_ios.xcscheme +0 -80
  199. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +0 -80
  200. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +0 -10
  201. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.h +0 -167
  202. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +0 -10
  203. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +0 -121
  204. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +0 -34
  205. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +0 -27
  206. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +0 -155
  207. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +0 -69
  208. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +0 -61
  209. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.h +0 -59
  210. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.cpp +0 -25
  211. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.h +0 -36
  212. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +0 -414
  213. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.h +0 -200
  214. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.cpp +0 -11
  215. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.h +0 -37
  216. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +0 -195
  217. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.h +0 -158
  218. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +0 -39
  219. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +0 -74
  220. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.cpp +0 -78
  221. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.h +0 -79
  222. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +0 -15
  223. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.h +0 -35
  224. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +0 -333
  225. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +0 -466
  226. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +0 -84
  227. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +0 -80
  228. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +0 -64
  229. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +0 -99
  230. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +0 -51
  231. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +0 -32
  232. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.cpp +0 -18
  233. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.h +0 -24
  234. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.cpp +0 -12
  235. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +0 -218
  236. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +0 -19
  237. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.h +0 -45
  238. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +0 -295
  239. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +0 -196
  240. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +0 -75
  241. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +0 -52
  242. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +0 -36
  243. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.h +0 -31
  244. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +0 -92
  245. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +0 -88
  246. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.cpp +0 -46
  247. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.h +0 -42
  248. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +0 -648
  249. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +0 -467
  250. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +0 -306
  251. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +0 -179
  252. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +0 -141
  253. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +0 -147
  254. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +0 -53
  255. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.h +0 -38
  256. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +0 -66
  257. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.h +0 -98
  258. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +0 -167
  259. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +0 -164
  260. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +0 -143
  261. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +0 -137
  262. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +0 -27
  263. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +0 -32
  264. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +0 -53
  265. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.h +0 -155
  266. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.cpp +0 -9
  267. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +0 -92
  268. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenFactory.h +0 -30
  269. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.cpp +0 -9
  270. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +0 -85
  271. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.cpp +0 -11
  272. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.h +0 -137
  273. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +0 -425
  274. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +0 -293
  275. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +0 -211
  276. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +0 -123
  277. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +0 -270
  278. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +0 -115
  279. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +0 -104
  280. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +0 -193
  281. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.cpp +0 -9
  282. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.h +0 -23
  283. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +0 -137
  284. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +0 -167
  285. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +0 -209
  286. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +0 -112
  287. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +0 -113
  288. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +0 -148
  289. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +0 -228
  290. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +0 -110
  291. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +0 -64
  292. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +0 -50
  293. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +0 -758
  294. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +0 -85
  295. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.cpp +0 -621
  296. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.h +0 -61
  297. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +0 -63
  298. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +0 -87
  299. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +0 -72
  300. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +0 -133
  301. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNType.h +0 -20
  302. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.cpp +0 -14
  303. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.h +0 -24
  304. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +0 -33
  305. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +0 -33
  306. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +0 -16
  307. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +0 -68
  308. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +0 -82
  309. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +0 -43
  310. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +0 -31
  311. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +0 -30
  312. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.cpp +0 -12
  313. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +0 -22
  314. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.cpp +0 -12
  315. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +0 -21
  316. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.cpp +0 -15
  317. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +0 -24
  318. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.cpp +0 -9
  319. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +0 -21
  320. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +0 -14
  321. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +0 -47
  322. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +0 -14
  323. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +0 -70
  324. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +0 -25
  325. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +0 -227
  326. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +0 -17
  327. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +0 -30
  328. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.cpp +0 -35
  329. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.h +0 -27
  330. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +0 -35
  331. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +0 -39
  332. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +0 -15
  333. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.h +0 -43
  334. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +0 -158
  335. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +0 -109
  336. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +0 -84
  337. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +0 -44
  338. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +0 -628
  339. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +0 -210
  340. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +0 -9
  341. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +0 -66
  342. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +0 -107
  343. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +0 -115
  344. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +0 -55
  345. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +0 -55
  346. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +0 -63
  347. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +0 -62
  348. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +0 -87
  349. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +0 -63
  350. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +0 -82
  351. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +0 -56
  352. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +0 -61
  353. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +0 -47
  354. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +0 -57
  355. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +0 -47
  356. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +0 -57
  357. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +0 -56
  358. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +0 -61
  359. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +0 -47
  360. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +0 -55
  361. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +0 -56
  362. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +0 -55
  363. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +0 -16
  364. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +0 -42
  365. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.cpp +0 -12
  366. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +0 -22
  367. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Makefile +0 -67
  368. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +0 -27
  369. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +0 -25
  370. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +0 -12
  371. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +0 -20
  372. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +0 -102
  373. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.h +0 -102
  374. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +0 -1366
  375. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +0 -904
  376. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.cpp +0 -12
  377. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +0 -25
  378. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.cpp +0 -12
  379. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +0 -22
  380. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +0 -32
  381. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +0 -29
  382. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +0 -17
  383. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +0 -62
  384. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +0 -34
  385. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +0 -39
  386. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +0 -662
  387. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +0 -254
  388. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +0 -201
  389. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +0 -436
  390. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +0 -179
  391. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +0 -60
  392. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +0 -30
  393. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +0 -29
  394. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.cpp +0 -16
  395. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +0 -25
  396. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.cpp +0 -12
  397. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +0 -25
  398. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +0 -37
  399. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +0 -40
  400. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +0 -377
  401. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +0 -222
  402. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +0 -32
  403. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +0 -30
  404. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +0 -81
  405. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +0 -36
  406. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.cpp +0 -12
  407. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +0 -21
  408. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.cpp +0 -15
  409. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +0 -35
  410. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +0 -19
  411. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +0 -21
  412. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.cpp +0 -12
  413. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +0 -21
  414. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +0 -44
  415. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +0 -76
  416. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +0 -25
  417. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +0 -25
  418. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +0 -127
  419. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +0 -91
  420. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +0 -67
  421. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +0 -32
  422. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +0 -100
  423. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +0 -144
  424. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +0 -20
  425. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +0 -23
  426. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +0 -124
  427. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +0 -31
  428. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +0 -89
  429. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +0 -84
  430. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +0 -521
  431. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +0 -198
  432. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +0 -134
  433. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +0 -76
  434. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.cpp +0 -4
  435. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.h +0 -21
  436. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +0 -13
  437. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +0 -170
  438. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +0 -43
  439. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +0 -110
  440. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +0 -76
  441. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +0 -248
  442. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +0 -78
  443. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +0 -163
  444. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +0 -36
  445. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +0 -54
  446. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.cpp +0 -303
  447. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.h +0 -112
  448. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +0 -128
  449. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.cpp +0 -9
  450. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +0 -19
  451. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +0 -23
  452. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +0 -33
  453. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +0 -71
  454. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +0 -53
  455. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +0 -15
  456. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +0 -102
  457. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +0 -9
  458. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +0 -39
  459. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +0 -50
  460. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +0 -9
  461. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +0 -57
  462. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +0 -49
  463. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +0 -31
  464. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.cpp +0 -9
  465. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +0 -32
  466. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +0 -57
  467. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +0 -33
  468. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +0 -241
  469. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.h +0 -78
  470. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +0 -9
  471. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +0 -44
  472. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +0 -69
  473. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +0 -132
  474. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +0 -64
  475. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +0 -105
  476. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +0 -371
  477. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +0 -185
  478. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +0 -77
  479. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +0 -117
  480. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +0 -39
  481. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +0 -86
  482. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +0 -28
  483. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +0 -51
  484. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +0 -36
  485. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +0 -80
  486. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +0 -154
  487. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.h +0 -86
  488. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +0 -31
  489. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +0 -40
  490. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +0 -173
  491. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.g4 +0 -64
  492. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +0 -56
  493. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.tokens +0 -12
  494. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +0 -13
  495. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +0 -22
  496. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +0 -20
  497. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +0 -27
  498. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +0 -30
  499. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +0 -26
  500. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +0 -20
  501. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +0 -25
  502. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +0 -33
  503. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +0 -26
  504. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +0 -23
  505. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +0 -23
  506. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +0 -24
  507. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +0 -23
  508. data/ext/express-parser/antlrgen/Express.interp +0 -532
  509. data/ext/express-parser/antlrgen/Express.tokens +0 -190
  510. data/ext/express-parser/antlrgen/ExpressBaseListener.cpp +0 -7
  511. data/ext/express-parser/antlrgen/ExpressBaseListener.h +0 -623
  512. data/ext/express-parser/antlrgen/ExpressBaseVisitor.cpp +0 -7
  513. data/ext/express-parser/antlrgen/ExpressBaseVisitor.h +0 -816
  514. data/ext/express-parser/antlrgen/ExpressLexer.cpp +0 -1169
  515. data/ext/express-parser/antlrgen/ExpressLexer.h +0 -85
  516. data/ext/express-parser/antlrgen/ExpressLexer.interp +0 -534
  517. data/ext/express-parser/antlrgen/ExpressLexer.tokens +0 -190
  518. data/ext/express-parser/antlrgen/ExpressListener.cpp +0 -7
  519. data/ext/express-parser/antlrgen/ExpressListener.h +0 -616
  520. data/ext/express-parser/antlrgen/ExpressParser.cpp +0 -17284
  521. data/ext/express-parser/antlrgen/ExpressParser.h +0 -3696
  522. data/ext/express-parser/antlrgen/ExpressVisitor.cpp +0 -7
  523. data/ext/express-parser/antlrgen/ExpressVisitor.h +0 -422
  524. data/ext/express-parser/express_parser.cpp +0 -17931
  525. data/ext/express-parser/extconf.rb +0 -34
  526. data/lib/express_parser.so +0 -0
@@ -1,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
- }