expressir 1.4.3 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (482) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/codeql.yml +2 -14
  3. data/.github/workflows/rake.yml +6 -364
  4. data/.github/workflows/release.yml +15 -178
  5. data/.github/workflows/stress.yml +1 -18
  6. data/.rubocop.yml +1 -0
  7. data/.rubocop_todo.yml +21 -0
  8. data/Gemfile +12 -0
  9. data/README.adoc +6 -19
  10. data/Rakefile +6 -7
  11. data/exe/{format-test → expressir-format-test} +1 -1
  12. data/expressir.gemspec +23 -32
  13. data/expressir_wrapped.txt +23068 -0
  14. data/lib/expressir/cli.rb +1 -1
  15. data/lib/expressir/express/formatter.rb +661 -661
  16. data/lib/expressir/express/parser.rb +299 -33
  17. data/lib/expressir/express/visitor.rb +238 -133
  18. data/lib/expressir/liquid/cache_drop.rb +20 -0
  19. data/lib/expressir/liquid/data_type_drop.rb +8 -0
  20. data/lib/expressir/liquid/data_types/aggregate_drop.rb +21 -0
  21. data/lib/expressir/liquid/data_types/array_drop.rb +34 -0
  22. data/lib/expressir/liquid/data_types/bag_drop.rb +26 -0
  23. data/lib/expressir/liquid/data_types/binary_drop.rb +22 -0
  24. data/lib/expressir/liquid/data_types/boolean_drop.rb +10 -0
  25. data/lib/expressir/liquid/data_types/enumeration_drop.rb +30 -0
  26. data/lib/expressir/liquid/data_types/enumeration_item_drop.rb +17 -0
  27. data/lib/expressir/liquid/data_types/generic_drop.rb +17 -0
  28. data/lib/expressir/liquid/data_types/generic_entity_drop.rb +17 -0
  29. data/lib/expressir/liquid/data_types/integer_drop.rb +10 -0
  30. data/lib/expressir/liquid/data_types/list_drop.rb +30 -0
  31. data/lib/expressir/liquid/data_types/logical_drop.rb +10 -0
  32. data/lib/expressir/liquid/data_types/number_drop.rb +10 -0
  33. data/lib/expressir/liquid/data_types/real_drop.rb +18 -0
  34. data/lib/expressir/liquid/data_types/select_drop.rb +34 -0
  35. data/lib/expressir/liquid/data_types/set_drop.rb +26 -0
  36. data/lib/expressir/liquid/data_types/string_drop.rb +22 -0
  37. data/lib/expressir/liquid/declaration_drop.rb +8 -0
  38. data/lib/expressir/liquid/declarations/attribute_drop.rb +37 -0
  39. data/lib/expressir/liquid/declarations/constant_drop.rb +25 -0
  40. data/lib/expressir/liquid/declarations/entity_drop.rb +65 -0
  41. data/lib/expressir/liquid/declarations/function_drop.rb +93 -0
  42. data/lib/expressir/liquid/declarations/interface_drop.rb +30 -0
  43. data/lib/expressir/liquid/declarations/interface_item_drop.rb +22 -0
  44. data/lib/expressir/liquid/declarations/interfaced_item_drop.rb +34 -0
  45. data/lib/expressir/liquid/declarations/parameter_drop.rb +25 -0
  46. data/lib/expressir/liquid/declarations/procedure_drop.rb +89 -0
  47. data/lib/expressir/liquid/declarations/remark_item_drop.rb +22 -0
  48. data/lib/expressir/liquid/declarations/rule_drop.rb +105 -0
  49. data/lib/expressir/liquid/declarations/schema_drop.rb +91 -0
  50. data/lib/expressir/liquid/declarations/schema_version_drop.rb +26 -0
  51. data/lib/expressir/liquid/declarations/schema_version_item_drop.rb +22 -0
  52. data/lib/expressir/liquid/declarations/subtype_constraint_drop.rb +37 -0
  53. data/lib/expressir/liquid/declarations/type_drop.rb +37 -0
  54. data/lib/expressir/liquid/declarations/unique_rule_drop.rb +21 -0
  55. data/lib/expressir/liquid/declarations/variable_drop.rb +25 -0
  56. data/lib/expressir/liquid/declarations/where_rule_drop.rb +21 -0
  57. data/lib/expressir/liquid/expression_drop.rb +8 -0
  58. data/lib/expressir/liquid/expressions/aggregate_initializer_drop.rb +24 -0
  59. data/lib/expressir/liquid/expressions/aggregate_initializer_item_drop.rb +22 -0
  60. data/lib/expressir/liquid/expressions/binary_expression_drop.rb +26 -0
  61. data/lib/expressir/liquid/expressions/entity_constructor_drop.rb +26 -0
  62. data/lib/expressir/liquid/expressions/function_call_drop.rb +26 -0
  63. data/lib/expressir/liquid/expressions/interval_drop.rb +34 -0
  64. data/lib/expressir/liquid/expressions/query_expression_drop.rb +25 -0
  65. data/lib/expressir/liquid/expressions/unary_expression_drop.rb +22 -0
  66. data/lib/expressir/liquid/identifier_drop.rb +33 -0
  67. data/lib/expressir/liquid/literal_drop.rb +8 -0
  68. data/lib/expressir/liquid/literals/binary_drop.rb +18 -0
  69. data/lib/expressir/liquid/literals/integer_drop.rb +18 -0
  70. data/lib/expressir/liquid/literals/logical_drop.rb +18 -0
  71. data/lib/expressir/liquid/literals/real_drop.rb +18 -0
  72. data/lib/expressir/liquid/literals/string_drop.rb +22 -0
  73. data/lib/expressir/liquid/model_element_drop.rb +33 -0
  74. data/lib/expressir/liquid/reference_drop.rb +8 -0
  75. data/lib/expressir/liquid/references/attribute_reference_drop.rb +22 -0
  76. data/lib/expressir/liquid/references/group_reference_drop.rb +22 -0
  77. data/lib/expressir/liquid/references/index_reference_drop.rb +26 -0
  78. data/lib/expressir/liquid/references/simple_reference_drop.rb +22 -0
  79. data/lib/expressir/liquid/repository_drop.rb +22 -0
  80. data/lib/expressir/liquid/statement_drop.rb +8 -0
  81. data/lib/expressir/liquid/statements/alias_drop.rb +29 -0
  82. data/lib/expressir/liquid/statements/assignment_drop.rb +22 -0
  83. data/lib/expressir/liquid/statements/case_action_drop.rb +26 -0
  84. data/lib/expressir/liquid/statements/case_drop.rb +30 -0
  85. data/lib/expressir/liquid/statements/compound_drop.rb +22 -0
  86. data/lib/expressir/liquid/statements/escape_drop.rb +10 -0
  87. data/lib/expressir/liquid/statements/if_drop.rb +34 -0
  88. data/lib/expressir/liquid/statements/null_drop.rb +10 -0
  89. data/lib/expressir/liquid/statements/procedure_call_drop.rb +26 -0
  90. data/lib/expressir/liquid/statements/repeat_drop.rb +45 -0
  91. data/lib/expressir/liquid/statements/return_drop.rb +18 -0
  92. data/lib/expressir/liquid/statements/skip_drop.rb +10 -0
  93. data/lib/expressir/liquid/supertype_expression_drop.rb +8 -0
  94. data/lib/expressir/liquid/supertype_expressions/binary_supertype_expression_drop.rb +26 -0
  95. data/lib/expressir/liquid/supertype_expressions/oneof_supertype_expression_drop.rb +22 -0
  96. data/lib/expressir/liquid.rb +18 -0
  97. data/lib/expressir/model/declarations/interface_item.rb +1 -1
  98. data/lib/expressir/model/model_element.rb +7 -0
  99. data/lib/expressir/version.rb +1 -1
  100. data/lib/expressir.rb +2 -0
  101. metadata +101 -569
  102. data/.cross_rubies +0 -28
  103. data/.gitmodules +0 -6
  104. data/.yardopts +0 -11
  105. data/exe/generate-parser +0 -51
  106. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +0 -191
  107. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +0 -652
  108. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +0 -948
  109. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2022.vcxproj +0 -652
  110. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2022.vcxproj.filters +0 -948
  111. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/Info.plist +0 -26
  112. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/antlrcpp_ios.h +0 -17
  113. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +0 -3040
  114. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  115. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  116. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4.xcscheme +0 -76
  117. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_ios.xcscheme +0 -76
  118. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +0 -76
  119. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.noarch.nuspec +0 -23
  120. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.noarch.targets +0 -8
  121. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.shared.nuspec +0 -30
  122. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.shared.props +0 -21
  123. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.shared.targets +0 -44
  124. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.static.nuspec +0 -29
  125. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.static.targets +0 -44
  126. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/antlr4.jpg +0 -0
  127. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/pack.cmd +0 -93
  128. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +0 -10
  129. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.h +0 -167
  130. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +0 -10
  131. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +0 -121
  132. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +0 -23
  133. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +0 -30
  134. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +0 -180
  135. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +0 -79
  136. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +0 -61
  137. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.h +0 -59
  138. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.cpp +0 -25
  139. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.h +0 -36
  140. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +0 -414
  141. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.h +0 -200
  142. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.cpp +0 -11
  143. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.h +0 -37
  144. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +0 -193
  145. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.h +0 -158
  146. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +0 -39
  147. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +0 -74
  148. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.cpp +0 -78
  149. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.h +0 -79
  150. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +0 -15
  151. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.h +0 -35
  152. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +0 -336
  153. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +0 -466
  154. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +0 -84
  155. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +0 -80
  156. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +0 -64
  157. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +0 -99
  158. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +0 -52
  159. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +0 -32
  160. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/FlatHashMap.h +0 -57
  161. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/FlatHashSet.h +0 -57
  162. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.cpp +0 -18
  163. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.h +0 -24
  164. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.cpp +0 -12
  165. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +0 -218
  166. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +0 -19
  167. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.h +0 -45
  168. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +0 -294
  169. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +0 -196
  170. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +0 -60
  171. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +0 -46
  172. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +0 -36
  173. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.h +0 -31
  174. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +0 -92
  175. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +0 -88
  176. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.cpp +0 -46
  177. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.h +0 -42
  178. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +0 -670
  179. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +0 -461
  180. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +0 -294
  181. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +0 -173
  182. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +0 -138
  183. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +0 -147
  184. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +0 -53
  185. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.h +0 -38
  186. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +0 -65
  187. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.h +0 -98
  188. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +0 -157
  189. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +0 -160
  190. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +0 -144
  191. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +0 -141
  192. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +0 -27
  193. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +0 -32
  194. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +0 -54
  195. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.h +0 -155
  196. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.cpp +0 -9
  197. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +0 -92
  198. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenFactory.h +0 -30
  199. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.cpp +0 -9
  200. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +0 -85
  201. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.cpp +0 -11
  202. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.h +0 -137
  203. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +0 -425
  204. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +0 -295
  205. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +0 -208
  206. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +0 -117
  207. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +0 -270
  208. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +0 -115
  209. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Version.h +0 -42
  210. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +0 -64
  211. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +0 -177
  212. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.cpp +0 -9
  213. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.h +0 -23
  214. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +0 -101
  215. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +0 -168
  216. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +0 -159
  217. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +0 -133
  218. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +0 -106
  219. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +0 -157
  220. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +0 -233
  221. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +0 -157
  222. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +0 -39
  223. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +0 -48
  224. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +0 -628
  225. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +0 -32
  226. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +0 -33
  227. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +0 -71
  228. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +0 -56
  229. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +0 -139
  230. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.cpp +0 -33
  231. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.h +0 -36
  232. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNType.h +0 -20
  233. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +0 -29
  234. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +0 -35
  235. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +0 -16
  236. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +0 -68
  237. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +0 -129
  238. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +0 -51
  239. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +0 -27
  240. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +0 -33
  241. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +0 -24
  242. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +0 -23
  243. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +0 -26
  244. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +0 -30
  245. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +0 -14
  246. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +0 -47
  247. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +0 -14
  248. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +0 -70
  249. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +0 -25
  250. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +0 -227
  251. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +0 -12
  252. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +0 -34
  253. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +0 -31
  254. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +0 -42
  255. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +0 -15
  256. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.h +0 -43
  257. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/HashUtils.h +0 -18
  258. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +0 -189
  259. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +0 -76
  260. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +0 -67
  261. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +0 -44
  262. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +0 -621
  263. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +0 -199
  264. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +0 -15
  265. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +0 -100
  266. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +0 -108
  267. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +0 -128
  268. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +0 -57
  269. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +0 -43
  270. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +0 -59
  271. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +0 -45
  272. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +0 -75
  273. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +0 -50
  274. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +0 -76
  275. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +0 -43
  276. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +0 -57
  277. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +0 -36
  278. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +0 -53
  279. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +0 -36
  280. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +0 -53
  281. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +0 -43
  282. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +0 -57
  283. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +0 -36
  284. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +0 -51
  285. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +0 -43
  286. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +0 -51
  287. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +0 -16
  288. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +0 -42
  289. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +0 -26
  290. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +0 -22
  291. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +0 -27
  292. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +0 -16
  293. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +0 -25
  294. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +0 -102
  295. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.h +0 -102
  296. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +0 -1413
  297. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +0 -911
  298. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulatorOptions.h +0 -50
  299. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +0 -29
  300. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +0 -25
  301. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +0 -23
  302. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +0 -35
  303. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +0 -17
  304. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +0 -62
  305. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +0 -24
  306. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +0 -50
  307. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +0 -601
  308. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +0 -225
  309. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.cpp +0 -56
  310. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.h +0 -63
  311. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.cpp +0 -167
  312. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.h +0 -101
  313. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCacheOptions.h +0 -71
  314. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextType.h +0 -21
  315. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +0 -202
  316. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +0 -436
  317. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +0 -179
  318. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +0 -60
  319. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +0 -26
  320. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +0 -31
  321. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +0 -26
  322. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +0 -27
  323. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +0 -33
  324. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +0 -42
  325. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +0 -418
  326. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +0 -237
  327. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContextType.h +0 -23
  328. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SerializedATNView.h +0 -101
  329. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +0 -28
  330. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +0 -38
  331. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +0 -79
  332. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +0 -43
  333. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +0 -24
  334. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +0 -37
  335. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +0 -19
  336. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +0 -25
  337. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +0 -24
  338. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +0 -36
  339. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +0 -65
  340. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.cpp +0 -27
  341. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.h +0 -33
  342. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +0 -21
  343. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +0 -27
  344. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +0 -115
  345. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +0 -96
  346. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +0 -60
  347. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +0 -32
  348. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +0 -59
  349. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +0 -154
  350. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +0 -17
  351. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +0 -22
  352. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/internal/Synchronization.cpp +0 -100
  353. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/internal/Synchronization.h +0 -154
  354. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +0 -124
  355. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +0 -33
  356. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +0 -61
  357. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +0 -84
  358. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +0 -508
  359. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +0 -190
  360. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +0 -120
  361. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +0 -102
  362. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.cpp +0 -4
  363. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.h +0 -21
  364. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +0 -8
  365. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +0 -16
  366. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +0 -43
  367. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +0 -149
  368. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +0 -76
  369. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +0 -207
  370. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +0 -65
  371. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Casts.h +0 -34
  372. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +0 -161
  373. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +0 -38
  374. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +0 -16
  375. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Unicode.h +0 -28
  376. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.cpp +0 -242
  377. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.h +0 -54
  378. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +0 -129
  379. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +0 -24
  380. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +0 -54
  381. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +0 -43
  382. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +0 -66
  383. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +0 -53
  384. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +0 -12
  385. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +0 -111
  386. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +0 -9
  387. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +0 -39
  388. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +0 -50
  389. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeType.h +0 -22
  390. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +0 -9
  391. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +0 -57
  392. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +0 -48
  393. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +0 -55
  394. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +0 -40
  395. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +0 -54
  396. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +0 -32
  397. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +0 -241
  398. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.h +0 -78
  399. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +0 -9
  400. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +0 -44
  401. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +0 -69
  402. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +0 -132
  403. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +0 -64
  404. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +0 -105
  405. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +0 -370
  406. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +0 -185
  407. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +0 -77
  408. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +0 -117
  409. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +0 -39
  410. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +0 -86
  411. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +0 -28
  412. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +0 -51
  413. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +0 -36
  414. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +0 -80
  415. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +0 -154
  416. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.h +0 -86
  417. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +0 -31
  418. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +0 -40
  419. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +0 -180
  420. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.g4 +0 -64
  421. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +0 -53
  422. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.tokens +0 -12
  423. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +0 -13
  424. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +0 -22
  425. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +0 -20
  426. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +0 -27
  427. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +0 -30
  428. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +0 -26
  429. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +0 -20
  430. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +0 -25
  431. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +0 -33
  432. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +0 -26
  433. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +0 -23
  434. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +0 -23
  435. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +0 -24
  436. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +0 -23
  437. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/tests/Utf8Test.cpp +0 -110
  438. data/ext/express_parser/antlrgen/Express.interp +0 -532
  439. data/ext/express_parser/antlrgen/Express.tokens +0 -190
  440. data/ext/express_parser/antlrgen/ExpressBaseListener.cpp +0 -7
  441. data/ext/express_parser/antlrgen/ExpressBaseListener.h +0 -623
  442. data/ext/express_parser/antlrgen/ExpressBaseVisitor.cpp +0 -7
  443. data/ext/express_parser/antlrgen/ExpressBaseVisitor.h +0 -816
  444. data/ext/express_parser/antlrgen/ExpressLexer.cpp +0 -685
  445. data/ext/express_parser/antlrgen/ExpressLexer.h +0 -78
  446. data/ext/express_parser/antlrgen/ExpressLexer.interp +0 -534
  447. data/ext/express_parser/antlrgen/ExpressLexer.tokens +0 -190
  448. data/ext/express_parser/antlrgen/ExpressListener.cpp +0 -7
  449. data/ext/express_parser/antlrgen/ExpressListener.h +0 -616
  450. data/ext/express_parser/antlrgen/ExpressParser.cpp +0 -17591
  451. data/ext/express_parser/antlrgen/ExpressParser.h +0 -3692
  452. data/ext/express_parser/antlrgen/ExpressVisitor.cpp +0 -7
  453. data/ext/express_parser/antlrgen/ExpressVisitor.h +0 -422
  454. data/ext/express_parser/express_parser.cpp +0 -19405
  455. data/ext/express_parser/extconf.rb +0 -63
  456. data/rakelib/antlr4-native.rake +0 -173
  457. data/rakelib/cross-ruby.rake +0 -403
  458. data/spec/acceptance/version_spec.rb +0 -30
  459. data/spec/expressir/express/cache_spec.rb +0 -89
  460. data/spec/expressir/express/formatter_spec.rb +0 -171
  461. data/spec/expressir/express/parser_spec.rb +0 -141
  462. data/spec/expressir/model/model_element_spec.rb +0 -343
  463. data/spec/spec_helper.rb +0 -24
  464. data/spec/support/console_helper.rb +0 -29
  465. data/spec/syntax/multiple.exp +0 -23
  466. data/spec/syntax/multiple.yaml +0 -198
  467. data/spec/syntax/multiple_formatted.exp +0 -71
  468. data/spec/syntax/multiple_hyperlink_formatted.exp +0 -71
  469. data/spec/syntax/multiple_schema_head_hyperlink_formatted.exp +0 -13
  470. data/spec/syntax/remark.exp +0 -193
  471. data/spec/syntax/remark.yaml +0 -471
  472. data/spec/syntax/remark_formatted.exp +0 -228
  473. data/spec/syntax/single.exp +0 -4
  474. data/spec/syntax/single.yaml +0 -18
  475. data/spec/syntax/single_formatted.exp +0 -10
  476. data/spec/syntax/single_formatted.yaml +0 -36
  477. data/spec/syntax/syntax.exp +0 -333
  478. data/spec/syntax/syntax.yaml +0 -3509
  479. data/spec/syntax/syntax_formatted.exp +0 -902
  480. data/spec/syntax/syntax_hyperlink_formatted.exp +0 -902
  481. data/spec/syntax/syntax_schema_head_formatted.exp +0 -18
  482. /data/exe/{format → expressir-format} +0 -0
@@ -1,670 +0,0 @@
1
- /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2
- * Use of this file is governed by the BSD 3-clause license that
3
- * can be found in the LICENSE.txt file in the project root.
4
- */
5
-
6
- #include "atn/ATNDeserializationOptions.h"
7
- #include "tree/pattern/ParseTreePatternMatcher.h"
8
- #include "dfa/DFA.h"
9
- #include "ParserRuleContext.h"
10
- #include "tree/TerminalNode.h"
11
- #include "tree/ErrorNodeImpl.h"
12
- #include "Lexer.h"
13
- #include "atn/ParserATNSimulator.h"
14
- #include "misc/IntervalSet.h"
15
- #include "atn/RuleStartState.h"
16
- #include "DefaultErrorStrategy.h"
17
- #include "atn/ATNDeserializer.h"
18
- #include "atn/RuleTransition.h"
19
- #include "atn/ATN.h"
20
- #include "Exceptions.h"
21
- #include "ANTLRErrorListener.h"
22
- #include "tree/pattern/ParseTreePattern.h"
23
- #include "internal/Synchronization.h"
24
-
25
- #include "atn/ProfilingATNSimulator.h"
26
- #include "atn/ParseInfo.h"
27
-
28
- #include "Parser.h"
29
-
30
- using namespace antlr4;
31
- using namespace antlr4::atn;
32
- using namespace antlr4::internal;
33
- using namespace antlrcpp;
34
-
35
- namespace {
36
-
37
- struct BypassAltsAtnCache final {
38
- std::shared_mutex mutex;
39
- /// This field maps from the serialized ATN string to the deserialized <seealso cref="ATN"/> with
40
- /// bypass alternatives.
41
- ///
42
- /// <seealso cref= ATNDeserializationOptions#isGenerateRuleBypassTransitions() </seealso>
43
- std::map<std::vector<int32_t>, std::unique_ptr<const atn::ATN>, std::less<>> map;
44
- };
45
-
46
- BypassAltsAtnCache* getBypassAltsAtnCache() {
47
- static BypassAltsAtnCache* const instance = new BypassAltsAtnCache();
48
- return instance;
49
- }
50
-
51
- }
52
-
53
- Parser::TraceListener::TraceListener(Parser *outerInstance_) : outerInstance(outerInstance_) {
54
- }
55
-
56
- Parser::TraceListener::~TraceListener() {
57
- }
58
-
59
- void Parser::TraceListener::enterEveryRule(ParserRuleContext *ctx) {
60
- std::cout << "enter " << outerInstance->getRuleNames()[ctx->getRuleIndex()]
61
- << ", LT(1)=" << outerInstance->_input->LT(1)->getText() << std::endl;
62
- }
63
-
64
- void Parser::TraceListener::visitTerminal(tree::TerminalNode *node) {
65
- std::cout << "consume " << node->getSymbol() << " rule "
66
- << outerInstance->getRuleNames()[outerInstance->getContext()->getRuleIndex()] << std::endl;
67
- }
68
-
69
- void Parser::TraceListener::visitErrorNode(tree::ErrorNode * /*node*/) {
70
- }
71
-
72
- void Parser::TraceListener::exitEveryRule(ParserRuleContext *ctx) {
73
- std::cout << "exit " << outerInstance->getRuleNames()[ctx->getRuleIndex()]
74
- << ", LT(1)=" << outerInstance->_input->LT(1)->getText() << std::endl;
75
- }
76
-
77
- Parser::TrimToSizeListener Parser::TrimToSizeListener::INSTANCE;
78
-
79
- Parser::TrimToSizeListener::~TrimToSizeListener() {
80
- }
81
-
82
- void Parser::TrimToSizeListener::enterEveryRule(ParserRuleContext * /*ctx*/) {
83
- }
84
-
85
- void Parser::TrimToSizeListener::visitTerminal(tree::TerminalNode * /*node*/) {
86
- }
87
-
88
- void Parser::TrimToSizeListener::visitErrorNode(tree::ErrorNode * /*node*/) {
89
- }
90
-
91
- void Parser::TrimToSizeListener::exitEveryRule(ParserRuleContext * ctx) {
92
- ctx->children.shrink_to_fit();
93
- }
94
-
95
- Parser::Parser(TokenStream *input) {
96
- InitializeInstanceFields();
97
- setInputStream(input);
98
- }
99
-
100
- Parser::~Parser() {
101
- _tracker.reset();
102
- delete _tracer;
103
- }
104
-
105
- void Parser::reset() {
106
- if (getInputStream() != nullptr) {
107
- getInputStream()->seek(0);
108
- }
109
- _errHandler->reset(this); // Watch out, this is not shared_ptr.reset().
110
-
111
- _matchedEOF = false;
112
- _syntaxErrors = 0;
113
- setTrace(false);
114
- _precedenceStack.clear();
115
- _precedenceStack.push_back(0);
116
- _ctx = nullptr;
117
- _tracker.reset();
118
-
119
- atn::ATNSimulator *interpreter = getInterpreter<atn::ParserATNSimulator>();
120
- if (interpreter != nullptr) {
121
- interpreter->reset();
122
- }
123
- }
124
-
125
- Token* Parser::match(size_t ttype) {
126
- Token *t = getCurrentToken();
127
- if (t->getType() == ttype) {
128
- if (ttype == EOF) {
129
- _matchedEOF = true;
130
- }
131
- _errHandler->reportMatch(this);
132
- consume();
133
- } else {
134
- t = _errHandler->recoverInline(this);
135
- if (_buildParseTrees && t->getTokenIndex() == INVALID_INDEX) {
136
- // we must have conjured up a new token during single token insertion
137
- // if it's not the current symbol
138
- _ctx->addChild(createErrorNode(t));
139
- }
140
- }
141
- return t;
142
- }
143
-
144
- Token* Parser::matchWildcard() {
145
- Token *t = getCurrentToken();
146
- if (t->getType() > 0) {
147
- _errHandler->reportMatch(this);
148
- consume();
149
- } else {
150
- t = _errHandler->recoverInline(this);
151
- if (_buildParseTrees && t->getTokenIndex() == INVALID_INDEX) {
152
- // we must have conjured up a new token during single token insertion
153
- // if it's not the current symbol
154
- _ctx->addChild(createErrorNode(t));
155
- }
156
- }
157
-
158
- return t;
159
- }
160
-
161
- void Parser::setBuildParseTree(bool buildParseTrees) {
162
- this->_buildParseTrees = buildParseTrees;
163
- }
164
-
165
- bool Parser::getBuildParseTree() {
166
- return _buildParseTrees;
167
- }
168
-
169
- void Parser::setTrimParseTree(bool trimParseTrees) {
170
- if (trimParseTrees) {
171
- if (getTrimParseTree()) {
172
- return;
173
- }
174
- addParseListener(&TrimToSizeListener::INSTANCE);
175
- } else {
176
- removeParseListener(&TrimToSizeListener::INSTANCE);
177
- }
178
- }
179
-
180
- bool Parser::getTrimParseTree() {
181
- return std::find(getParseListeners().begin(), getParseListeners().end(), &TrimToSizeListener::INSTANCE) != getParseListeners().end();
182
- }
183
-
184
- std::vector<tree::ParseTreeListener *> Parser::getParseListeners() {
185
- return _parseListeners;
186
- }
187
-
188
- void Parser::addParseListener(tree::ParseTreeListener *listener) {
189
- if (!listener) {
190
- throw NullPointerException("listener");
191
- }
192
-
193
- this->_parseListeners.push_back(listener);
194
- }
195
-
196
- void Parser::removeParseListener(tree::ParseTreeListener *listener) {
197
- if (!_parseListeners.empty()) {
198
- auto it = std::find(_parseListeners.begin(), _parseListeners.end(), listener);
199
- if (it != _parseListeners.end()) {
200
- _parseListeners.erase(it);
201
- }
202
- }
203
- }
204
-
205
- void Parser::removeParseListeners() {
206
- _parseListeners.clear();
207
- }
208
-
209
- void Parser::triggerEnterRuleEvent() {
210
- for (auto *listener : _parseListeners) {
211
- listener->enterEveryRule(_ctx);
212
- _ctx->enterRule(listener);
213
- }
214
- }
215
-
216
- void Parser::triggerExitRuleEvent() {
217
- // reverse order walk of listeners
218
- for (auto it = _parseListeners.rbegin(); it != _parseListeners.rend(); ++it) {
219
- _ctx->exitRule(*it);
220
- (*it)->exitEveryRule(_ctx);
221
- }
222
- }
223
-
224
- size_t Parser::getNumberOfSyntaxErrors() {
225
- return _syntaxErrors;
226
- }
227
-
228
- TokenFactory<CommonToken>* Parser::getTokenFactory() {
229
- return _input->getTokenSource()->getTokenFactory();
230
- }
231
-
232
- const atn::ATN& Parser::getATNWithBypassAlts() {
233
- auto serializedAtn = getSerializedATN();
234
- if (serializedAtn.empty()) {
235
- throw UnsupportedOperationException("The current parser does not support an ATN with bypass alternatives.");
236
- }
237
- // XXX: using the entire serialized ATN as key into the map is a big resource waste.
238
- // How large can that thing become?
239
- auto *cache = getBypassAltsAtnCache();
240
- {
241
- std::shared_lock<std::shared_mutex> lock(cache->mutex);
242
- auto existing = cache->map.find(serializedAtn);
243
- if (existing != cache->map.end()) {
244
- return *existing->second;
245
- }
246
- }
247
-
248
- std::unique_lock<std::shared_mutex> lock(cache->mutex);
249
- auto existing = cache->map.find(serializedAtn);
250
- if (existing != cache->map.end()) {
251
- return *existing->second;
252
- }
253
- atn::ATNDeserializationOptions deserializationOptions;
254
- deserializationOptions.setGenerateRuleBypassTransitions(true);
255
- atn::ATNDeserializer deserializer(deserializationOptions);
256
- auto atn = deserializer.deserialize(serializedAtn);
257
- return *cache->map.insert(std::make_pair(std::vector<int32_t>(serializedAtn.begin(), serializedAtn.end()), std::move(atn))).first->second;
258
- }
259
-
260
- tree::pattern::ParseTreePattern Parser::compileParseTreePattern(const std::string &pattern, int patternRuleIndex) {
261
- if (getTokenStream() != nullptr) {
262
- TokenSource *tokenSource = getTokenStream()->getTokenSource();
263
- if (is<Lexer*>(tokenSource)) {
264
- Lexer *lexer = dynamic_cast<Lexer *>(tokenSource);
265
- return compileParseTreePattern(pattern, patternRuleIndex, lexer);
266
- }
267
- }
268
- throw UnsupportedOperationException("Parser can't discover a lexer to use");
269
- }
270
-
271
- tree::pattern::ParseTreePattern Parser::compileParseTreePattern(const std::string &pattern, int patternRuleIndex,
272
- Lexer *lexer) {
273
- tree::pattern::ParseTreePatternMatcher m(lexer, this);
274
- return m.compile(pattern, patternRuleIndex);
275
- }
276
-
277
- Ref<ANTLRErrorStrategy> Parser::getErrorHandler() {
278
- return _errHandler;
279
- }
280
-
281
- void Parser::setErrorHandler(Ref<ANTLRErrorStrategy> const& handler) {
282
- _errHandler = handler;
283
- }
284
-
285
- IntStream* Parser::getInputStream() {
286
- return getTokenStream();
287
- }
288
-
289
- void Parser::setInputStream(IntStream *input) {
290
- setTokenStream(static_cast<TokenStream*>(input));
291
- }
292
-
293
- TokenStream* Parser::getTokenStream() {
294
- return _input;
295
- }
296
-
297
- void Parser::setTokenStream(TokenStream *input) {
298
- _input = nullptr; // Just a reference we don't own.
299
- reset();
300
- _input = input;
301
- }
302
-
303
- Token* Parser::getCurrentToken() {
304
- return _input->LT(1);
305
- }
306
-
307
- void Parser::notifyErrorListeners(const std::string &msg) {
308
- notifyErrorListeners(getCurrentToken(), msg, nullptr);
309
- }
310
-
311
- void Parser::notifyErrorListeners(Token *offendingToken, const std::string &msg, std::exception_ptr e) {
312
- _syntaxErrors++;
313
- size_t line = offendingToken->getLine();
314
- size_t charPositionInLine = offendingToken->getCharPositionInLine();
315
-
316
- ProxyErrorListener &listener = getErrorListenerDispatch();
317
- listener.syntaxError(this, offendingToken, line, charPositionInLine, msg, e);
318
- }
319
-
320
- Token* Parser::consume() {
321
- Token *o = getCurrentToken();
322
- if (o->getType() != EOF) {
323
- getInputStream()->consume();
324
- }
325
-
326
- bool hasListener = _parseListeners.size() > 0 && !_parseListeners.empty();
327
- if (_buildParseTrees || hasListener) {
328
- if (_errHandler->inErrorRecoveryMode(this)) {
329
- tree::ErrorNode *node = createErrorNode(o);
330
- _ctx->addChild(node);
331
- if (_parseListeners.size() > 0) {
332
- for (auto *listener : _parseListeners) {
333
- listener->visitErrorNode(node);
334
- }
335
- }
336
- } else {
337
- tree::TerminalNode *node = _ctx->addChild(createTerminalNode(o));
338
- if (_parseListeners.size() > 0) {
339
- for (auto *listener : _parseListeners) {
340
- listener->visitTerminal(node);
341
- }
342
- }
343
- }
344
- }
345
- return o;
346
- }
347
-
348
- void Parser::addContextToParseTree() {
349
- // Add current context to parent if we have a parent.
350
- if (_ctx->parent == nullptr)
351
- return;
352
-
353
- downCast<ParserRuleContext*>(_ctx->parent)->addChild(_ctx);
354
- }
355
-
356
- void Parser::enterRule(ParserRuleContext *localctx, size_t state, size_t /*ruleIndex*/) {
357
- setState(state);
358
- _ctx = localctx;
359
- _ctx->start = _input->LT(1);
360
- if (_buildParseTrees) {
361
- addContextToParseTree();
362
- }
363
- if (_parseListeners.size() > 0) {
364
- triggerEnterRuleEvent();
365
- }
366
- }
367
-
368
- void Parser::exitRule() {
369
- if (_matchedEOF) {
370
- // if we have matched EOF, it cannot consume past EOF so we use LT(1) here
371
- _ctx->stop = _input->LT(1); // LT(1) will be end of file
372
- } else {
373
- _ctx->stop = _input->LT(-1); // stop node is what we just matched
374
- }
375
-
376
- // trigger event on ctx, before it reverts to parent
377
- if (_parseListeners.size() > 0) {
378
- triggerExitRuleEvent();
379
- }
380
- setState(_ctx->invokingState);
381
- _ctx = downCast<ParserRuleContext*>(_ctx->parent);
382
- }
383
-
384
- void Parser::enterOuterAlt(ParserRuleContext *localctx, size_t altNum) {
385
- localctx->setAltNumber(altNum);
386
-
387
- // if we have new localctx, make sure we replace existing ctx
388
- // that is previous child of parse tree
389
- if (_buildParseTrees && _ctx != localctx) {
390
- if (_ctx->parent != nullptr) {
391
- ParserRuleContext *parent = downCast<ParserRuleContext*>(_ctx->parent);
392
- parent->removeLastChild();
393
- parent->addChild(localctx);
394
- }
395
- }
396
- _ctx = localctx;
397
- }
398
-
399
- int Parser::getPrecedence() const {
400
- if (_precedenceStack.empty()) {
401
- return -1;
402
- }
403
-
404
- return _precedenceStack.back();
405
- }
406
-
407
- void Parser::enterRecursionRule(ParserRuleContext *localctx, size_t ruleIndex) {
408
- enterRecursionRule(localctx, getATN().ruleToStartState[ruleIndex]->stateNumber, ruleIndex, 0);
409
- }
410
-
411
- void Parser::enterRecursionRule(ParserRuleContext *localctx, size_t state, size_t /*ruleIndex*/, int precedence) {
412
- setState(state);
413
- _precedenceStack.push_back(precedence);
414
- _ctx = localctx;
415
- _ctx->start = _input->LT(1);
416
- if (!_parseListeners.empty()) {
417
- triggerEnterRuleEvent(); // simulates rule entry for left-recursive rules
418
- }
419
- }
420
-
421
- void Parser::pushNewRecursionContext(ParserRuleContext *localctx, size_t state, size_t /*ruleIndex*/) {
422
- ParserRuleContext *previous = _ctx;
423
- previous->parent = localctx;
424
- previous->invokingState = state;
425
- previous->stop = _input->LT(-1);
426
-
427
- _ctx = localctx;
428
- _ctx->start = previous->start;
429
- if (_buildParseTrees) {
430
- _ctx->addChild(previous);
431
- }
432
-
433
- if (_parseListeners.size() > 0) {
434
- triggerEnterRuleEvent(); // simulates rule entry for left-recursive rules
435
- }
436
- }
437
-
438
- void Parser::unrollRecursionContexts(ParserRuleContext *parentctx) {
439
- _precedenceStack.pop_back();
440
- _ctx->stop = _input->LT(-1);
441
- ParserRuleContext *retctx = _ctx; // save current ctx (return value)
442
-
443
- // unroll so ctx is as it was before call to recursive method
444
- if (_parseListeners.size() > 0) {
445
- while (_ctx != parentctx) {
446
- triggerExitRuleEvent();
447
- _ctx = downCast<ParserRuleContext*>(_ctx->parent);
448
- }
449
- } else {
450
- _ctx = parentctx;
451
- }
452
-
453
- // hook into tree
454
- retctx->parent = parentctx;
455
-
456
- if (_buildParseTrees && parentctx != nullptr) {
457
- // add return ctx into invoking rule's tree
458
- parentctx->addChild(retctx);
459
- }
460
- }
461
-
462
- ParserRuleContext* Parser::getInvokingContext(size_t ruleIndex) {
463
- ParserRuleContext *p = _ctx;
464
- while (p) {
465
- if (p->getRuleIndex() == ruleIndex) {
466
- return p;
467
- }
468
- if (p->parent == nullptr)
469
- break;
470
- p = downCast<ParserRuleContext*>(p->parent);
471
- }
472
- return nullptr;
473
- }
474
-
475
- ParserRuleContext* Parser::getContext() {
476
- return _ctx;
477
- }
478
-
479
- void Parser::setContext(ParserRuleContext *ctx) {
480
- _ctx = ctx;
481
- }
482
-
483
- bool Parser::precpred(RuleContext * /*localctx*/, int precedence) {
484
- return precedence >= _precedenceStack.back();
485
- }
486
-
487
- bool Parser::inContext(const std::string &/*context*/) {
488
- // TODO: useful in parser?
489
- return false;
490
- }
491
-
492
- bool Parser::isExpectedToken(size_t symbol) {
493
- const atn::ATN &atn = getInterpreter<atn::ParserATNSimulator>()->atn;
494
- ParserRuleContext *ctx = _ctx;
495
- atn::ATNState *s = atn.states[getState()];
496
- misc::IntervalSet following = atn.nextTokens(s);
497
-
498
- if (following.contains(symbol)) {
499
- return true;
500
- }
501
-
502
- if (!following.contains(Token::EPSILON)) {
503
- return false;
504
- }
505
-
506
- while (ctx && ctx->invokingState != ATNState::INVALID_STATE_NUMBER && following.contains(Token::EPSILON)) {
507
- atn::ATNState *invokingState = atn.states[ctx->invokingState];
508
- const atn::RuleTransition *rt = static_cast<const atn::RuleTransition*>(invokingState->transitions[0].get());
509
- following = atn.nextTokens(rt->followState);
510
- if (following.contains(symbol)) {
511
- return true;
512
- }
513
-
514
- ctx = downCast<ParserRuleContext*>(ctx->parent);
515
- }
516
-
517
- if (following.contains(Token::EPSILON) && symbol == EOF) {
518
- return true;
519
- }
520
-
521
- return false;
522
- }
523
-
524
- bool Parser::isMatchedEOF() const {
525
- return _matchedEOF;
526
- }
527
-
528
- misc::IntervalSet Parser::getExpectedTokens() {
529
- return getATN().getExpectedTokens(getState(), getContext());
530
- }
531
-
532
- misc::IntervalSet Parser::getExpectedTokensWithinCurrentRule() {
533
- const atn::ATN &atn = getInterpreter<atn::ParserATNSimulator>()->atn;
534
- atn::ATNState *s = atn.states[getState()];
535
- return atn.nextTokens(s);
536
- }
537
-
538
- size_t Parser::getRuleIndex(const std::string &ruleName) {
539
- const std::map<std::string, size_t> &m = getRuleIndexMap();
540
- auto iterator = m.find(ruleName);
541
- if (iterator == m.end()) {
542
- return INVALID_INDEX;
543
- }
544
- return iterator->second;
545
- }
546
-
547
- ParserRuleContext* Parser::getRuleContext() {
548
- return _ctx;
549
- }
550
-
551
- std::vector<std::string> Parser::getRuleInvocationStack() {
552
- return getRuleInvocationStack(_ctx);
553
- }
554
-
555
- std::vector<std::string> Parser::getRuleInvocationStack(RuleContext *p) {
556
- std::vector<std::string> const& ruleNames = getRuleNames();
557
- std::vector<std::string> stack;
558
- RuleContext *run = p;
559
- while (run != nullptr) {
560
- // compute what follows who invoked us
561
- size_t ruleIndex = run->getRuleIndex();
562
- if (ruleIndex == INVALID_INDEX ) {
563
- stack.push_back("n/a");
564
- } else {
565
- stack.push_back(ruleNames[ruleIndex]);
566
- }
567
- if (!RuleContext::is(run->parent)) {
568
- break;
569
- }
570
- run = downCast<RuleContext*>(run->parent);
571
- }
572
- return stack;
573
- }
574
-
575
- std::vector<std::string> Parser::getDFAStrings() {
576
- atn::ParserATNSimulator *simulator = getInterpreter<atn::ParserATNSimulator>();
577
- if (!simulator->decisionToDFA.empty()) {
578
- UniqueLock<Mutex> lck(_mutex);
579
-
580
- std::vector<std::string> s;
581
- for (size_t d = 0; d < simulator->decisionToDFA.size(); d++) {
582
- dfa::DFA &dfa = simulator->decisionToDFA[d];
583
- s.push_back(dfa.toString(getVocabulary()));
584
- }
585
- return s;
586
- }
587
- return std::vector<std::string>();
588
- }
589
-
590
- void Parser::dumpDFA() {
591
- atn::ParserATNSimulator *simulator = getInterpreter<atn::ParserATNSimulator>();
592
- if (!simulator->decisionToDFA.empty()) {
593
- UniqueLock<Mutex> lck(_mutex);
594
- bool seenOne = false;
595
- for (size_t d = 0; d < simulator->decisionToDFA.size(); d++) {
596
- dfa::DFA &dfa = simulator->decisionToDFA[d];
597
- if (!dfa.states.empty()) {
598
- if (seenOne) {
599
- std::cout << std::endl;
600
- }
601
- std::cout << "Decision " << dfa.decision << ":" << std::endl;
602
- std::cout << dfa.toString(getVocabulary());
603
- seenOne = true;
604
- }
605
- }
606
- }
607
- }
608
-
609
- std::string Parser::getSourceName() {
610
- return _input->getSourceName();
611
- }
612
-
613
- atn::ParseInfo Parser::getParseInfo() const {
614
- atn::ParserATNSimulator *simulator = getInterpreter<atn::ParserATNSimulator>();
615
- return atn::ParseInfo(dynamic_cast<atn::ProfilingATNSimulator*>(simulator));
616
- }
617
-
618
- void Parser::setProfile(bool profile) {
619
- atn::ParserATNSimulator *interp = getInterpreter<atn::ParserATNSimulator>();
620
- atn::PredictionMode saveMode = interp != nullptr ? interp->getPredictionMode() : atn::PredictionMode::LL;
621
- if (profile) {
622
- if (!is<atn::ProfilingATNSimulator *>(interp)) {
623
- setInterpreter(new atn::ProfilingATNSimulator(this)); /* mem-check: replacing existing interpreter which gets deleted. */
624
- }
625
- } else if (is<atn::ProfilingATNSimulator *>(interp)) {
626
- /* mem-check: replacing existing interpreter which gets deleted. */
627
- atn::ParserATNSimulator *sim = new atn::ParserATNSimulator(this, getATN(), interp->decisionToDFA, interp->getSharedContextCache());
628
- setInterpreter(sim);
629
- }
630
- getInterpreter<atn::ParserATNSimulator>()->setPredictionMode(saveMode);
631
- }
632
-
633
- void Parser::setTrace(bool trace) {
634
- if (!trace) {
635
- if (_tracer)
636
- removeParseListener(_tracer);
637
- delete _tracer;
638
- _tracer = nullptr;
639
- } else {
640
- if (_tracer)
641
- removeParseListener(_tracer); // Just in case this is triggered multiple times.
642
- _tracer = new TraceListener(this);
643
- addParseListener(_tracer);
644
- }
645
- }
646
-
647
- bool Parser::isTrace() const {
648
- return _tracer != nullptr;
649
- }
650
-
651
- tree::TerminalNode *Parser::createTerminalNode(Token *t) {
652
- return _tracker.createInstance<tree::TerminalNodeImpl>(t);
653
- }
654
-
655
- tree::ErrorNode *Parser::createErrorNode(Token *t) {
656
- return _tracker.createInstance<tree::ErrorNodeImpl>(t);
657
- }
658
-
659
- void Parser::InitializeInstanceFields() {
660
- _errHandler = std::make_shared<DefaultErrorStrategy>();
661
- _precedenceStack.clear();
662
- _precedenceStack.push_back(0);
663
- _buildParseTrees = true;
664
- _syntaxErrors = 0;
665
- _matchedEOF = false;
666
- _input = nullptr;
667
- _tracer = nullptr;
668
- _ctx = nullptr;
669
- }
670
-