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

Sign up to get free protection for your applications and to get access to all the features.
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,466 +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 "ANTLRErrorStrategy.h"
9
- #include "misc/IntervalSet.h"
10
-
11
- namespace antlr4 {
12
-
13
- /**
14
- * This is the default implementation of {@link ANTLRErrorStrategy} used for
15
- * error reporting and recovery in ANTLR parsers.
16
- */
17
- class ANTLR4CPP_PUBLIC DefaultErrorStrategy : public ANTLRErrorStrategy {
18
- public:
19
- DefaultErrorStrategy();
20
- DefaultErrorStrategy(DefaultErrorStrategy const& other) = delete;
21
- virtual ~DefaultErrorStrategy();
22
-
23
- DefaultErrorStrategy& operator = (DefaultErrorStrategy const& other) = delete;
24
-
25
- protected:
26
- /**
27
- * Indicates whether the error strategy is currently "recovering from an
28
- * error". This is used to suppress reporting multiple error messages while
29
- * attempting to recover from a detected syntax error.
30
- *
31
- * @see #inErrorRecoveryMode
32
- */
33
- bool errorRecoveryMode;
34
-
35
- /** The index into the input stream where the last error occurred.
36
- * This is used to prevent infinite loops where an error is found
37
- * but no token is consumed during recovery...another error is found,
38
- * ad nauseum. This is a failsafe mechanism to guarantee that at least
39
- * one token/tree node is consumed for two errors.
40
- */
41
- int lastErrorIndex;
42
-
43
- misc::IntervalSet lastErrorStates;
44
-
45
- /// <summary>
46
- /// {@inheritDoc}
47
- /// <p/>
48
- /// The default implementation simply calls <seealso cref="#endErrorCondition"/> to
49
- /// ensure that the handler is not in error recovery mode.
50
- /// </summary>
51
- public:
52
- virtual void reset(Parser *recognizer) override;
53
-
54
- /// <summary>
55
- /// This method is called to enter error recovery mode when a recognition
56
- /// exception is reported.
57
- /// </summary>
58
- /// <param name="recognizer"> the parser instance </param>
59
- protected:
60
- virtual void beginErrorCondition(Parser *recognizer);
61
-
62
- /// <summary>
63
- /// {@inheritDoc}
64
- /// </summary>
65
- public:
66
- virtual bool inErrorRecoveryMode(Parser *recognizer) override;
67
-
68
- /// <summary>
69
- /// This method is called to leave error recovery mode after recovering from
70
- /// a recognition exception.
71
- /// </summary>
72
- /// <param name="recognizer"> </param>
73
- protected:
74
- virtual void endErrorCondition(Parser *recognizer);
75
-
76
- /// <summary>
77
- /// {@inheritDoc}
78
- /// <p/>
79
- /// The default implementation simply calls <seealso cref="#endErrorCondition"/>.
80
- /// </summary>
81
- public:
82
- virtual void reportMatch(Parser *recognizer) override;
83
-
84
- /// {@inheritDoc}
85
- /// <p/>
86
- /// The default implementation returns immediately if the handler is already
87
- /// in error recovery mode. Otherwise, it calls <seealso cref="#beginErrorCondition"/>
88
- /// and dispatches the reporting task based on the runtime type of {@code e}
89
- /// according to the following table.
90
- ///
91
- /// <ul>
92
- /// <li><seealso cref="NoViableAltException"/>: Dispatches the call to
93
- /// <seealso cref="#reportNoViableAlternative"/></li>
94
- /// <li><seealso cref="InputMismatchException"/>: Dispatches the call to
95
- /// <seealso cref="#reportInputMismatch"/></li>
96
- /// <li><seealso cref="FailedPredicateException"/>: Dispatches the call to
97
- /// <seealso cref="#reportFailedPredicate"/></li>
98
- /// <li>All other types: calls <seealso cref="Parser#notifyErrorListeners"/> to report
99
- /// the exception</li>
100
- /// </ul>
101
- virtual void reportError(Parser *recognizer, const RecognitionException &e) override;
102
-
103
- /// <summary>
104
- /// {@inheritDoc}
105
- /// <p/>
106
- /// The default implementation resynchronizes the parser by consuming tokens
107
- /// until we find one in the resynchronization set--loosely the set of tokens
108
- /// that can follow the current rule.
109
- /// </summary>
110
- virtual void recover(Parser *recognizer, std::exception_ptr e) override;
111
-
112
- /**
113
- * The default implementation of {@link ANTLRErrorStrategy#sync} makes sure
114
- * that the current lookahead symbol is consistent with what were expecting
115
- * at this point in the ATN. You can call this anytime but ANTLR only
116
- * generates code to check before subrules/loops and each iteration.
117
- *
118
- * <p>Implements Jim Idle's magic sync mechanism in closures and optional
119
- * subrules. E.g.,</p>
120
- *
121
- * <pre>
122
- * a : sync ( stuff sync )* ;
123
- * sync : {consume to what can follow sync} ;
124
- * </pre>
125
- *
126
- * At the start of a sub rule upon error, {@link #sync} performs single
127
- * token deletion, if possible. If it can't do that, it bails on the current
128
- * rule and uses the default error recovery, which consumes until the
129
- * resynchronization set of the current rule.
130
- *
131
- * <p>If the sub rule is optional ({@code (...)?}, {@code (...)*}, or block
132
- * with an empty alternative), then the expected set includes what follows
133
- * the subrule.</p>
134
- *
135
- * <p>During loop iteration, it consumes until it sees a token that can start a
136
- * sub rule or what follows loop. Yes, that is pretty aggressive. We opt to
137
- * stay in the loop as long as possible.</p>
138
- *
139
- * <p><strong>ORIGINS</strong></p>
140
- *
141
- * <p>Previous versions of ANTLR did a poor job of their recovery within loops.
142
- * A single mismatch token or missing token would force the parser to bail
143
- * out of the entire rules surrounding the loop. So, for rule</p>
144
- *
145
- * <pre>
146
- * classDef : 'class' ID '{' member* '}'
147
- * </pre>
148
- *
149
- * input with an extra token between members would force the parser to
150
- * consume until it found the next class definition rather than the next
151
- * member definition of the current class.
152
- *
153
- * <p>This functionality cost a little bit of effort because the parser has to
154
- * compare token set at the start of the loop and at each iteration. If for
155
- * some reason speed is suffering for you, you can turn off this
156
- * functionality by simply overriding this method as a blank { }.</p>
157
- */
158
- virtual void sync(Parser *recognizer) override;
159
-
160
- /// <summary>
161
- /// This is called by <seealso cref="#reportError"/> when the exception is a
162
- /// <seealso cref="NoViableAltException"/>.
163
- /// </summary>
164
- /// <seealso cref= #reportError
165
- /// </seealso>
166
- /// <param name="recognizer"> the parser instance </param>
167
- /// <param name="e"> the recognition exception </param>
168
- protected:
169
- virtual void reportNoViableAlternative(Parser *recognizer, const NoViableAltException &e);
170
-
171
- /// <summary>
172
- /// This is called by <seealso cref="#reportError"/> when the exception is an
173
- /// <seealso cref="InputMismatchException"/>.
174
- /// </summary>
175
- /// <seealso cref= #reportError
176
- /// </seealso>
177
- /// <param name="recognizer"> the parser instance </param>
178
- /// <param name="e"> the recognition exception </param>
179
- virtual void reportInputMismatch(Parser *recognizer, const InputMismatchException &e);
180
-
181
- /// <summary>
182
- /// This is called by <seealso cref="#reportError"/> when the exception is a
183
- /// <seealso cref="FailedPredicateException"/>.
184
- /// </summary>
185
- /// <seealso cref= #reportError
186
- /// </seealso>
187
- /// <param name="recognizer"> the parser instance </param>
188
- /// <param name="e"> the recognition exception </param>
189
- virtual void reportFailedPredicate(Parser *recognizer, const FailedPredicateException &e);
190
-
191
- /**
192
- * This method is called to report a syntax error which requires the removal
193
- * of a token from the input stream. At the time this method is called, the
194
- * erroneous symbol is current {@code LT(1)} symbol and has not yet been
195
- * removed from the input stream. When this method returns,
196
- * {@code recognizer} is in error recovery mode.
197
- *
198
- * <p>This method is called when {@link #singleTokenDeletion} identifies
199
- * single-token deletion as a viable recovery strategy for a mismatched
200
- * input error.</p>
201
- *
202
- * <p>The default implementation simply returns if the handler is already in
203
- * error recovery mode. Otherwise, it calls {@link #beginErrorCondition} to
204
- * enter error recovery mode, followed by calling
205
- * {@link Parser#notifyErrorListeners}.</p>
206
- *
207
- * @param recognizer the parser instance
208
- */
209
- virtual void reportUnwantedToken(Parser *recognizer);
210
-
211
- /**
212
- * This method is called to report a syntax error which requires the
213
- * insertion of a missing token into the input stream. At the time this
214
- * method is called, the missing token has not yet been inserted. When this
215
- * method returns, {@code recognizer} is in error recovery mode.
216
- *
217
- * <p>This method is called when {@link #singleTokenInsertion} identifies
218
- * single-token insertion as a viable recovery strategy for a mismatched
219
- * input error.</p>
220
- *
221
- * <p>The default implementation simply returns if the handler is already in
222
- * error recovery mode. Otherwise, it calls {@link #beginErrorCondition} to
223
- * enter error recovery mode, followed by calling
224
- * {@link Parser#notifyErrorListeners}.</p>
225
- *
226
- * @param recognizer the parser instance
227
- */
228
- virtual void reportMissingToken(Parser *recognizer);
229
-
230
- public:
231
- /**
232
- * {@inheritDoc}
233
- *
234
- * <p>The default implementation attempts to recover from the mismatched input
235
- * by using single token insertion and deletion as described below. If the
236
- * recovery attempt fails, this method throws an
237
- * {@link InputMismatchException}.</p>
238
- *
239
- * <p><strong>EXTRA TOKEN</strong> (single token deletion)</p>
240
- *
241
- * <p>{@code LA(1)} is not what we are looking for. If {@code LA(2)} has the
242
- * right token, however, then assume {@code LA(1)} is some extra spurious
243
- * token and delete it. Then consume and return the next token (which was
244
- * the {@code LA(2)} token) as the successful result of the match operation.</p>
245
- *
246
- * <p>This recovery strategy is implemented by {@link #singleTokenDeletion}.</p>
247
- *
248
- * <p><strong>MISSING TOKEN</strong> (single token insertion)</p>
249
- *
250
- * <p>If current token (at {@code LA(1)}) is consistent with what could come
251
- * after the expected {@code LA(1)} token, then assume the token is missing
252
- * and use the parser's {@link TokenFactory} to create it on the fly. The
253
- * "insertion" is performed by returning the created token as the successful
254
- * result of the match operation.</p>
255
- *
256
- * <p>This recovery strategy is implemented by {@link #singleTokenInsertion}.</p>
257
- *
258
- * <p><strong>EXAMPLE</strong></p>
259
- *
260
- * <p>For example, Input {@code i=(3;} is clearly missing the {@code ')'}. When
261
- * the parser returns from the nested call to {@code expr}, it will have
262
- * call chain:</p>
263
- *
264
- * <pre>
265
- * stat &rarr; expr &rarr; atom
266
- * </pre>
267
- *
268
- * and it will be trying to match the {@code ')'} at this point in the
269
- * derivation:
270
- *
271
- * <pre>
272
- * =&gt; ID '=' '(' INT ')' ('+' atom)* ';'
273
- * ^
274
- * </pre>
275
- *
276
- * The attempt to match {@code ')'} will fail when it sees {@code ';'} and
277
- * call {@link #recoverInline}. To recover, it sees that {@code LA(1)==';'}
278
- * is in the set of tokens that can follow the {@code ')'} token reference
279
- * in rule {@code atom}. It can assume that you forgot the {@code ')'}.
280
- */
281
- virtual Token* recoverInline(Parser *recognizer) override;
282
-
283
- /// <summary>
284
- /// This method implements the single-token insertion inline error recovery
285
- /// strategy. It is called by <seealso cref="#recoverInline"/> if the single-token
286
- /// deletion strategy fails to recover from the mismatched input. If this
287
- /// method returns {@code true}, {@code recognizer} will be in error recovery
288
- /// mode.
289
- /// <p/>
290
- /// This method determines whether or not single-token insertion is viable by
291
- /// checking if the {@code LA(1)} input symbol could be successfully matched
292
- /// if it were instead the {@code LA(2)} symbol. If this method returns
293
- /// {@code true}, the caller is responsible for creating and inserting a
294
- /// token with the correct type to produce this behavior.
295
- /// </summary>
296
- /// <param name="recognizer"> the parser instance </param>
297
- /// <returns> {@code true} if single-token insertion is a viable recovery
298
- /// strategy for the current mismatched input, otherwise {@code false} </returns>
299
- protected:
300
- virtual bool singleTokenInsertion(Parser *recognizer);
301
-
302
- /// <summary>
303
- /// This method implements the single-token deletion inline error recovery
304
- /// strategy. It is called by <seealso cref="#recoverInline"/> to attempt to recover
305
- /// from mismatched input. If this method returns null, the parser and error
306
- /// handler state will not have changed. If this method returns non-null,
307
- /// {@code recognizer} will <em>not</em> be in error recovery mode since the
308
- /// returned token was a successful match.
309
- /// <p/>
310
- /// If the single-token deletion is successful, this method calls
311
- /// <seealso cref="#reportUnwantedToken"/> to report the error, followed by
312
- /// <seealso cref="Parser#consume"/> to actually "delete" the extraneous token. Then,
313
- /// before returning <seealso cref="#reportMatch"/> is called to signal a successful
314
- /// match.
315
- /// </summary>
316
- /// <param name="recognizer"> the parser instance </param>
317
- /// <returns> the successfully matched <seealso cref="Token"/> instance if single-token
318
- /// deletion successfully recovers from the mismatched input, otherwise
319
- /// {@code null} </returns>
320
- virtual Token* singleTokenDeletion(Parser *recognizer);
321
-
322
- /// <summary>
323
- /// Conjure up a missing token during error recovery.
324
- ///
325
- /// The recognizer attempts to recover from single missing
326
- /// symbols. But, actions might refer to that missing symbol.
327
- /// For example, x=ID {f($x);}. The action clearly assumes
328
- /// that there has been an identifier matched previously and that
329
- /// $x points at that token. If that token is missing, but
330
- /// the next token in the stream is what we want we assume that
331
- /// this token is missing and we keep going. Because we
332
- /// have to return some token to replace the missing token,
333
- /// we have to conjure one up. This method gives the user control
334
- /// over the tokens returned for missing tokens. Mostly,
335
- /// you will want to create something special for identifier
336
- /// tokens. For literals such as '{' and ',', the default
337
- /// action in the parser or tree parser works. It simply creates
338
- /// a CommonToken of the appropriate type. The text will be the token.
339
- /// If you change what tokens must be created by the lexer,
340
- /// override this method to create the appropriate tokens.
341
- /// </summary>
342
- virtual Token* getMissingSymbol(Parser *recognizer);
343
-
344
- virtual misc::IntervalSet getExpectedTokens(Parser *recognizer);
345
-
346
- /// <summary>
347
- /// How should a token be displayed in an error message? The default
348
- /// is to display just the text, but during development you might
349
- /// want to have a lot of information spit out. Override in that case
350
- /// to use t.toString() (which, for CommonToken, dumps everything about
351
- /// the token). This is better than forcing you to override a method in
352
- /// your token objects because you don't have to go modify your lexer
353
- /// so that it creates a new class.
354
- /// </summary>
355
- virtual std::string getTokenErrorDisplay(Token *t);
356
-
357
- virtual std::string getSymbolText(Token *symbol);
358
-
359
- virtual size_t getSymbolType(Token *symbol);
360
-
361
- virtual std::string escapeWSAndQuote(const std::string &s) const;
362
-
363
- /* Compute the error recovery set for the current rule. During
364
- * rule invocation, the parser pushes the set of tokens that can
365
- * follow that rule reference on the stack; this amounts to
366
- * computing FIRST of what follows the rule reference in the
367
- * enclosing rule. See LinearApproximator.FIRST().
368
- * This local follow set only includes tokens
369
- * from within the rule; i.e., the FIRST computation done by
370
- * ANTLR stops at the end of a rule.
371
- *
372
- * EXAMPLE
373
- *
374
- * When you find a "no viable alt exception", the input is not
375
- * consistent with any of the alternatives for rule r. The best
376
- * thing to do is to consume tokens until you see something that
377
- * can legally follow a call to r *or* any rule that called r.
378
- * You don't want the exact set of viable next tokens because the
379
- * input might just be missing a token--you might consume the
380
- * rest of the input looking for one of the missing tokens.
381
- *
382
- * Consider grammar:
383
- *
384
- * a : '[' b ']'
385
- * | '(' b ')'
386
- * ;
387
- * b : c '^' INT ;
388
- * c : ID
389
- * | INT
390
- * ;
391
- *
392
- * At each rule invocation, the set of tokens that could follow
393
- * that rule is pushed on a stack. Here are the various
394
- * context-sensitive follow sets:
395
- *
396
- * FOLLOW(b1_in_a) = FIRST(']') = ']'
397
- * FOLLOW(b2_in_a) = FIRST(')') = ')'
398
- * FOLLOW(c_in_b) = FIRST('^') = '^'
399
- *
400
- * Upon erroneous input "[]", the call chain is
401
- *
402
- * a -> b -> c
403
- *
404
- * and, hence, the follow context stack is:
405
- *
406
- * depth follow set start of rule execution
407
- * 0 <EOF> a (from main())
408
- * 1 ']' b
409
- * 2 '^' c
410
- *
411
- * Notice that ')' is not included, because b would have to have
412
- * been called from a different context in rule a for ')' to be
413
- * included.
414
- *
415
- * For error recovery, we cannot consider FOLLOW(c)
416
- * (context-sensitive or otherwise). We need the combined set of
417
- * all context-sensitive FOLLOW sets--the set of all tokens that
418
- * could follow any reference in the call chain. We need to
419
- * resync to one of those tokens. Note that FOLLOW(c)='^' and if
420
- * we resync'd to that token, we'd consume until EOF. We need to
421
- * sync to context-sensitive FOLLOWs for a, b, and c: {']','^'}.
422
- * In this case, for input "[]", LA(1) is ']' and in the set, so we would
423
- * not consume anything. After printing an error, rule c would
424
- * return normally. Rule b would not find the required '^' though.
425
- * At this point, it gets a mismatched token error and throws an
426
- * exception (since LA(1) is not in the viable following token
427
- * set). The rule exception handler tries to recover, but finds
428
- * the same recovery set and doesn't consume anything. Rule b
429
- * exits normally returning to rule a. Now it finds the ']' (and
430
- * with the successful match exits errorRecovery mode).
431
- *
432
- * So, you can see that the parser walks up the call chain looking
433
- * for the token that was a member of the recovery set.
434
- *
435
- * Errors are not generated in errorRecovery mode.
436
- *
437
- * ANTLR's error recovery mechanism is based upon original ideas:
438
- *
439
- * "Algorithms + Data Structures = Programs" by Niklaus Wirth
440
- *
441
- * and
442
- *
443
- * "A note on error recovery in recursive descent parsers":
444
- * http://portal.acm.org/citation.cfm?id=947902.947905
445
- *
446
- * Later, Josef Grosch had some good ideas:
447
- *
448
- * "Efficient and Comfortable Error Recovery in Recursive Descent
449
- * Parsers":
450
- * ftp://www.cocolab.com/products/cocktail/doca4.ps/ell.ps.zip
451
- *
452
- * Like Grosch I implement context-sensitive FOLLOW sets that are combined
453
- * at run-time upon error to avoid overhead during parsing.
454
- */
455
- virtual misc::IntervalSet getErrorRecoverySet(Parser *recognizer);
456
-
457
- /// <summary>
458
- /// Consume tokens until one matches the given token set. </summary>
459
- virtual void consumeUntil(Parser *recognizer, const misc::IntervalSet &set);
460
-
461
- private:
462
- std::vector<std::unique_ptr<Token>> _errorSymbols; // Temporarily created token.
463
- void InitializeInstanceFields();
464
- };
465
-
466
- } // namespace antlr4
@@ -1,84 +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/PredictionContext.h"
7
- #include "atn/ATNConfig.h"
8
- #include "atn/ATNConfigSet.h"
9
- #include "Parser.h"
10
- #include "misc/Interval.h"
11
- #include "dfa/DFA.h"
12
-
13
- #include "DiagnosticErrorListener.h"
14
-
15
- using namespace antlr4;
16
-
17
- DiagnosticErrorListener::DiagnosticErrorListener() : DiagnosticErrorListener(true) {
18
- }
19
-
20
- DiagnosticErrorListener::DiagnosticErrorListener(bool exactOnly_) : exactOnly(exactOnly_) {
21
- }
22
-
23
- void DiagnosticErrorListener::reportAmbiguity(Parser *recognizer, const dfa::DFA &dfa, size_t startIndex, size_t stopIndex,
24
- bool exact, const antlrcpp::BitSet &ambigAlts, atn::ATNConfigSet *configs) {
25
- if (exactOnly && !exact) {
26
- return;
27
- }
28
-
29
- std::string decision = getDecisionDescription(recognizer, dfa);
30
- antlrcpp::BitSet conflictingAlts = getConflictingAlts(ambigAlts, configs);
31
- std::string text = recognizer->getTokenStream()->getText(misc::Interval(startIndex, stopIndex));
32
- std::string message = "reportAmbiguity d=" + decision + ": ambigAlts=" + conflictingAlts.toString() +
33
- ", input='" + text + "'";
34
-
35
- recognizer->notifyErrorListeners(message);
36
- }
37
-
38
- void DiagnosticErrorListener::reportAttemptingFullContext(Parser *recognizer, const dfa::DFA &dfa, size_t startIndex,
39
- size_t stopIndex, const antlrcpp::BitSet &/*conflictingAlts*/, atn::ATNConfigSet * /*configs*/) {
40
- std::string decision = getDecisionDescription(recognizer, dfa);
41
- std::string text = recognizer->getTokenStream()->getText(misc::Interval(startIndex, stopIndex));
42
- std::string message = "reportAttemptingFullContext d=" + decision + ", input='" + text + "'";
43
- recognizer->notifyErrorListeners(message);
44
- }
45
-
46
- void DiagnosticErrorListener::reportContextSensitivity(Parser *recognizer, const dfa::DFA &dfa, size_t startIndex,
47
- size_t stopIndex, size_t /*prediction*/, atn::ATNConfigSet * /*configs*/) {
48
- std::string decision = getDecisionDescription(recognizer, dfa);
49
- std::string text = recognizer->getTokenStream()->getText(misc::Interval(startIndex, stopIndex));
50
- std::string message = "reportContextSensitivity d=" + decision + ", input='" + text + "'";
51
- recognizer->notifyErrorListeners(message);
52
- }
53
-
54
- std::string DiagnosticErrorListener::getDecisionDescription(Parser *recognizer, const dfa::DFA &dfa) {
55
- size_t decision = dfa.decision;
56
- size_t ruleIndex = (reinterpret_cast<atn::ATNState*>(dfa.atnStartState))->ruleIndex;
57
-
58
- const std::vector<std::string>& ruleNames = recognizer->getRuleNames();
59
- if (ruleIndex == INVALID_INDEX || ruleIndex >= ruleNames.size()) {
60
- return std::to_string(decision);
61
- }
62
-
63
- std::string ruleName = ruleNames[ruleIndex];
64
- if (ruleName == "" || ruleName.empty()) {
65
- return std::to_string(decision);
66
- }
67
-
68
- return std::to_string(decision) + " (" + ruleName + ")";
69
- }
70
-
71
- antlrcpp::BitSet DiagnosticErrorListener::getConflictingAlts(const antlrcpp::BitSet &reportedAlts,
72
- atn::ATNConfigSet *configs) {
73
- if (reportedAlts.count() > 0) { // Not exactly like the original Java code, but this listener is only used
74
- // in the TestRig (where it never provides a good alt set), so it's probably ok so.
75
- return reportedAlts;
76
- }
77
-
78
- antlrcpp::BitSet result;
79
- for (auto &config : configs->configs) {
80
- result.set(config->alt);
81
- }
82
-
83
- return result;
84
- }
@@ -1,80 +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 "BaseErrorListener.h"
9
-
10
- namespace antlr4 {
11
-
12
- /// <summary>
13
- /// This implementation of <seealso cref="ANTLRErrorListener"/> can be used to identify
14
- /// certain potential correctness and performance problems in grammars. "Reports"
15
- /// are made by calling <seealso cref="Parser#notifyErrorListeners"/> with the appropriate
16
- /// message.
17
- ///
18
- /// <ul>
19
- /// <li><b>Ambiguities</b>: These are cases where more than one path through the
20
- /// grammar can match the input.</li>
21
- /// <li><b>Weak context sensitivity</b>: These are cases where full-context
22
- /// prediction resolved an SLL conflict to a unique alternative which equaled the
23
- /// minimum alternative of the SLL conflict.</li>
24
- /// <li><b>Strong (forced) context sensitivity</b>: These are cases where the
25
- /// full-context prediction resolved an SLL conflict to a unique alternative,
26
- /// <em>and</em> the minimum alternative of the SLL conflict was found to not be
27
- /// a truly viable alternative. Two-stage parsing cannot be used for inputs where
28
- /// this situation occurs.</li>
29
- /// </ul>
30
- ///
31
- /// @author Sam Harwell
32
- /// </summary>
33
- class ANTLR4CPP_PUBLIC DiagnosticErrorListener : public BaseErrorListener {
34
- /// <summary>
35
- /// When {@code true}, only exactly known ambiguities are reported.
36
- /// </summary>
37
- protected:
38
- const bool exactOnly;
39
-
40
- /// <summary>
41
- /// Initializes a new instance of <seealso cref="DiagnosticErrorListener"/> which only
42
- /// reports exact ambiguities.
43
- /// </summary>
44
- public:
45
- DiagnosticErrorListener();
46
-
47
- /// <summary>
48
- /// Initializes a new instance of <seealso cref="DiagnosticErrorListener"/>, specifying
49
- /// whether all ambiguities or only exact ambiguities are reported.
50
- /// </summary>
51
- /// <param name="exactOnly"> {@code true} to report only exact ambiguities, otherwise
52
- /// {@code false} to report all ambiguities. </param>
53
- DiagnosticErrorListener(bool exactOnly);
54
-
55
- virtual void reportAmbiguity(Parser *recognizer, const dfa::DFA &dfa, size_t startIndex, size_t stopIndex, bool exact,
56
- const antlrcpp::BitSet &ambigAlts, atn::ATNConfigSet *configs) override;
57
-
58
- virtual void reportAttemptingFullContext(Parser *recognizer, const dfa::DFA &dfa, size_t startIndex, size_t stopIndex,
59
- const antlrcpp::BitSet &conflictingAlts, atn::ATNConfigSet *configs) override;
60
-
61
- virtual void reportContextSensitivity(Parser *recognizer, const dfa::DFA &dfa, size_t startIndex, size_t stopIndex,
62
- size_t prediction, atn::ATNConfigSet *configs) override;
63
-
64
- protected:
65
- virtual std::string getDecisionDescription(Parser *recognizer, const dfa::DFA &dfa);
66
-
67
- /// <summary>
68
- /// Computes the set of conflicting or ambiguous alternatives from a
69
- /// configuration set, if that information was not already provided by the
70
- /// parser.
71
- /// </summary>
72
- /// <param name="reportedAlts"> The set of conflicting or ambiguous alternatives, as
73
- /// reported by the parser. </param>
74
- /// <param name="configs"> The conflicting or ambiguous configuration set. </param>
75
- /// <returns> Returns {@code reportedAlts} if it is not {@code null}, otherwise
76
- /// returns the set of alternatives represented in {@code configs}. </returns>
77
- virtual antlrcpp::BitSet getConflictingAlts(const antlrcpp::BitSet &reportedAlts, atn::ATNConfigSet *configs);
78
- };
79
-
80
- } // namespace antlr4