expressir 1.2.4 → 1.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (310) hide show
  1. checksums.yaml +4 -4
  2. data/.cross_rubies +0 -6
  3. data/.github/workflows/rake.yml +200 -9
  4. data/.gitignore +7 -2
  5. data/.gitmodules +3 -0
  6. data/.rubocop.yml +13 -4
  7. data/Rakefile +4 -1
  8. data/bin/console +0 -1
  9. data/bin/rspec +3 -3
  10. data/exe/expressir +4 -2
  11. data/exe/format +1 -1
  12. data/exe/format-test +25 -25
  13. data/exe/generate-parser +16 -13
  14. data/expressir.gemspec +11 -9
  15. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +44 -34
  16. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj +11 -5
  17. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj.filters +0 -3
  18. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj +11 -4
  19. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj.filters +0 -3
  20. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj +11 -4
  21. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj.filters +0 -3
  22. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +11 -4
  23. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +0 -3
  24. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +20 -20
  25. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +0 -6
  26. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +30 -19
  27. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +13 -10
  28. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +2 -4
  29. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +16 -13
  30. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +2 -2
  31. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +2 -2
  32. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +5 -4
  33. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +1 -1
  34. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +0 -6
  35. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +0 -1
  36. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +0 -13
  37. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +0 -15
  38. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +1 -7
  39. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +47 -27
  40. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +0 -6
  41. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +27 -39
  42. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +1 -7
  43. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +19 -22
  44. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +20 -20
  45. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +0 -1
  46. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +16 -27
  47. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +10 -21
  48. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +4 -3
  49. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +5 -1
  50. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +2 -1
  51. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +0 -32
  52. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +1 -1
  53. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +2 -7
  54. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +15 -18
  55. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +12 -18
  56. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Version.h +42 -0
  57. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +13 -45
  58. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +11 -26
  59. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +19 -61
  60. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +7 -5
  61. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +4 -55
  62. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +34 -20
  63. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +30 -35
  64. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +35 -32
  65. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +58 -54
  66. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +77 -31
  67. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +22 -32
  68. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +22 -24
  69. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +335 -462
  70. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +9 -68
  71. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +9 -39
  72. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +6 -22
  73. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +10 -26
  74. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +41 -42
  75. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.cpp +33 -0
  76. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.h +36 -0
  77. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +2 -6
  78. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +4 -2
  79. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +49 -22
  80. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +20 -12
  81. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +1 -5
  82. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +5 -2
  83. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +4 -2
  84. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +4 -2
  85. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +5 -3
  86. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +10 -1
  87. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +1 -1
  88. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +0 -5
  89. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +12 -8
  90. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +2 -6
  91. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +6 -3
  92. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +139 -106
  93. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +9 -48
  94. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +16 -33
  95. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +12 -12
  96. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +69 -82
  97. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +15 -33
  98. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +12 -6
  99. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +45 -11
  100. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +48 -44
  101. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +31 -18
  102. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +3 -1
  103. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +14 -26
  104. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +12 -16
  105. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +15 -32
  106. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +12 -24
  107. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +23 -29
  108. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +13 -19
  109. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +13 -26
  110. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +12 -16
  111. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +6 -17
  112. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +12 -16
  113. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +6 -17
  114. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +12 -16
  115. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +13 -26
  116. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +12 -16
  117. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +6 -17
  118. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +11 -15
  119. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +13 -26
  120. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +13 -17
  121. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +5 -1
  122. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +1 -6
  123. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +4 -2
  124. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +6 -2
  125. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +8 -3
  126. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +164 -151
  127. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +26 -19
  128. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulatorOptions.h +50 -0
  129. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +5 -1
  130. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +5 -2
  131. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +2 -11
  132. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +15 -9
  133. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +2 -2
  134. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +2 -2
  135. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +4 -14
  136. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +22 -11
  137. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +255 -338
  138. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +86 -127
  139. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.cpp +56 -0
  140. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.h +64 -0
  141. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.cpp +167 -0
  142. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.h +101 -0
  143. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCacheOptions.h +71 -0
  144. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextType.h +21 -0
  145. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +18 -17
  146. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +1 -1
  147. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +2 -2
  148. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +2 -2
  149. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +1 -5
  150. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +4 -2
  151. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +4 -3
  152. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +4 -2
  153. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +1 -5
  154. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +5 -3
  155. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +197 -156
  156. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +92 -81
  157. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContextType.h +23 -0
  158. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SerializedATNView.h +101 -0
  159. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +2 -6
  160. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +11 -3
  161. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +39 -34
  162. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +17 -10
  163. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +5 -2
  164. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +4 -2
  165. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +6 -6
  166. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +6 -2
  167. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +5 -2
  168. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +1 -9
  169. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +11 -22
  170. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.cpp +27 -0
  171. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.h +33 -0
  172. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +1 -5
  173. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +4 -2
  174. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +9 -21
  175. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +20 -15
  176. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +1 -8
  177. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +4 -4
  178. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +9 -50
  179. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +57 -48
  180. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +1 -4
  181. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +3 -4
  182. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +2 -2
  183. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +3 -1
  184. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +1 -29
  185. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +10 -10
  186. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +7 -20
  187. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +1 -9
  188. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +54 -68
  189. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +34 -14
  190. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +0 -5
  191. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +1 -155
  192. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +39 -0
  193. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +1 -1
  194. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +12 -53
  195. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +16 -29
  196. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Casts.h +34 -0
  197. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +0 -2
  198. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +25 -33
  199. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +2 -62
  200. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Unicode.h +28 -0
  201. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.cpp +242 -0
  202. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.h +54 -0
  203. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +13 -12
  204. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +7 -2
  205. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +36 -5
  206. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +14 -4
  207. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +14 -19
  208. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +0 -3
  209. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +13 -4
  210. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeType.h +22 -0
  211. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +4 -4
  212. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +8 -9
  213. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +4 -4
  214. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +10 -2
  215. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +2 -5
  216. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +4 -5
  217. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +1 -2
  218. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +128 -119
  219. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +18 -27
  220. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/tests/Utf8Test.cpp +110 -0
  221. data/ext/express-parser/antlrgen/Express.interp +1 -1
  222. data/ext/express-parser/antlrgen/ExpressBaseListener.cpp +1 -1
  223. data/ext/express-parser/antlrgen/ExpressBaseListener.h +1 -1
  224. data/ext/express-parser/antlrgen/ExpressBaseVisitor.cpp +1 -1
  225. data/ext/express-parser/antlrgen/ExpressBaseVisitor.h +200 -200
  226. data/ext/express-parser/antlrgen/ExpressLexer.cpp +645 -1129
  227. data/ext/express-parser/antlrgen/ExpressLexer.h +20 -27
  228. data/ext/express-parser/antlrgen/ExpressLexer.interp +1 -1
  229. data/ext/express-parser/antlrgen/ExpressListener.cpp +1 -1
  230. data/ext/express-parser/antlrgen/ExpressListener.h +1 -1
  231. data/ext/express-parser/antlrgen/ExpressParser.cpp +1754 -1447
  232. data/ext/express-parser/antlrgen/ExpressParser.h +219 -223
  233. data/ext/express-parser/antlrgen/ExpressVisitor.cpp +1 -1
  234. data/ext/express-parser/antlrgen/ExpressVisitor.h +200 -200
  235. data/ext/express-parser/express_parser.cpp +207 -75
  236. data/ext/express-parser/extconf.rb +10 -9
  237. data/lib/expressir/config.rb +1 -1
  238. data/lib/expressir/express/parser.rb +2 -2
  239. data/lib/expressir/express/visitor.rb +7 -5
  240. data/lib/expressir/model.rb +78 -78
  241. data/lib/expressir/version.rb +1 -1
  242. data/rakelib/antlr4-native.rake +63 -0
  243. data/rakelib/cross-ruby.rake +213 -162
  244. data/spec/acceptance/version_spec.rb +7 -2
  245. data/spec/expressir/express/cache_spec.rb +8 -5
  246. data/spec/expressir/express/formatter_spec.rb +16 -8
  247. data/spec/expressir/express/parser_spec.rb +17 -11
  248. data/spec/expressir/model/model_element_spec.rb +154 -146
  249. metadata +79 -91
  250. data/demo.rb +0 -18
  251. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.cpp +0 -621
  252. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.h +0 -61
  253. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.cpp +0 -14
  254. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.h +0 -24
  255. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.cpp +0 -12
  256. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.cpp +0 -12
  257. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.cpp +0 -15
  258. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.cpp +0 -9
  259. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.cpp +0 -35
  260. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.h +0 -27
  261. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.cpp +0 -12
  262. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Makefile +0 -67
  263. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.cpp +0 -12
  264. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.cpp +0 -12
  265. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.cpp +0 -16
  266. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.cpp +0 -12
  267. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.cpp +0 -12
  268. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.cpp +0 -15
  269. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.cpp +0 -12
  270. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.cpp +0 -303
  271. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.h +0 -112
  272. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.cpp +0 -9
  273. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.cpp +0 -9
  274. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp +0 -9589
  275. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl +0 -36619
  276. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.xml +0 -13294
  277. data/original/examples/employment/eclipse/.project +0 -17
  278. data/original/examples/employment/eclipse/Export/Employment.png +0 -0
  279. data/original/examples/employment/eclipse/Express/employment_schema.exp +0 -33
  280. data/original/examples/employment/eclipse/Express/employment_schema.xmi +0 -77
  281. data/original/examples/employment/eclipse/Express/employment_schema.xml +0 -93
  282. data/original/examples/employment/eclipse/Models/Employment.uml +0 -4
  283. data/original/examples/employment/eclipse/Models/Employment.umldi +0 -240
  284. data/original/examples/employment/eclipse/readme.txt +0 -7
  285. data/original/examples/employment/employment_schema.exp +0 -33
  286. data/original/examples/employment/employment_schema.rb +0 -232
  287. data/original/examples/employment/employment_schema.xml +0 -93
  288. data/original/examples/employment/employment_schema___module.rb +0 -46
  289. data/original/examples/employment/employment_schema___p28attr.rb +0 -126
  290. data/original/examples/employment/employment_schema___p28inst.rb +0 -26
  291. data/original/examples/employment/example_employment_data.xml +0 -1
  292. data/original/examples/employment/example_employment_data_copy.xml +0 -1
  293. data/original/examples/employment/example_employment_reader.rb +0 -30
  294. data/original/examples/employment/example_employment_writer.rb +0 -51
  295. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.exp +0 -3710
  296. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.owl +0 -35880
  297. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xmi +0 -15357
  298. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xml +0 -9468
  299. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.exp +0 -8404
  300. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl +0 -43147
  301. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi +0 -18341
  302. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml +0 -11632
  303. data/original/exp2ruby.rb +0 -525
  304. data/original/expsm.rb +0 -34
  305. data/original/mapping_owl.rb +0 -1018
  306. data/original/mapping_sysml.rb +0 -2281
  307. data/original/mapping_uml2.rb +0 -599
  308. data/original/mapping_uml2_eclipse.rb +0 -433
  309. data/original/reeper.rb +0 -134
  310. data/spec/expressr_spec.rb +0 -5
@@ -15,7 +15,6 @@
15
15
  #undef OUT
16
16
  #endif
17
17
 
18
- // ruby-3.0
19
18
  #undef FALSE
20
19
  #undef TRUE
21
20
 
@@ -25,8 +24,6 @@ using namespace std;
25
24
  using namespace Rice;
26
25
  using namespace antlr4;
27
26
 
28
- Module rb_mExpressParser;
29
-
30
27
  Class rb_cAttributeRefContext;
31
28
  Class rb_cAttributeIdContext;
32
29
  Class rb_cConstantRefContext;
@@ -237,7 +234,7 @@ namespace Rice::detail {
237
234
  class To_Ruby<Token*> {
238
235
  public:
239
236
  VALUE convert(Token* const &x) {
240
- if (!x) return Qnil;
237
+ if (!x) return Nil;
241
238
  return Data_Object<Token>(x, false, rb_cToken);
242
239
  }
243
240
  };
@@ -246,7 +243,7 @@ namespace Rice::detail {
246
243
  class To_Ruby<tree::ParseTree*> {
247
244
  public:
248
245
  VALUE convert(tree::ParseTree* const &x) {
249
- if (!x) return Qnil;
246
+ if (!x) return Nil;
250
247
  return Data_Object<tree::ParseTree>(x, false, rb_cParseTree);
251
248
  }
252
249
  };
@@ -255,7 +252,7 @@ namespace Rice::detail {
255
252
  class To_Ruby<tree::TerminalNode*> {
256
253
  public:
257
254
  VALUE convert(tree::TerminalNode* const &x) {
258
- if (!x) return Qnil;
255
+ if (!x) return Nil;
259
256
  return Data_Object<tree::TerminalNode>(x, false, rb_cTerminalNode);
260
257
  }
261
258
  };
@@ -277,24 +274,22 @@ public:
277
274
 
278
275
  Object getStart() {
279
276
  auto token = ((ParserRuleContext*) orig) -> getStart();
277
+
280
278
  return detail::To_Ruby<Token*>().convert(token);
281
279
  }
282
280
 
283
281
  Object getStop() {
284
282
  auto token = ((ParserRuleContext*) orig) -> getStop();
283
+
285
284
  return detail::To_Ruby<Token*>().convert(token);
286
285
  }
287
286
 
288
287
  Array getChildren() {
289
- // Note re memory management
290
- // It looks like it is critical to 'fill' children array each time when this method is called
291
- // When Ruby GC collects the array it also unmarks all its elements so it is not possible to reuse them
292
- // (without custom mark function ????)
293
- // This comment also applies to all methods returning Ruby Arrays below
294
288
  Array children;
295
289
  if (orig != nullptr) {
296
290
  for (auto it = orig -> children.begin(); it != orig -> children.end(); it ++) {
297
291
  Object parseTree = ContextProxy::wrapParseTree(*it);
292
+
298
293
  if (parseTree != Nil) {
299
294
  children.push(parseTree);
300
295
  }
@@ -304,12 +299,11 @@ public:
304
299
  }
305
300
 
306
301
  Object getParent() {
307
- return orig == nullptr ? Nil: wrapParseTree(orig -> parent) ;
302
+ return orig == nullptr ? Nil : ContextProxy::wrapParseTree(orig -> parent);
308
303
  }
309
304
 
310
305
  size_t childCount() {
311
-
312
- return getChildren().size();
306
+ return orig == nullptr ? 0 : orig -> children.size();
313
307
  }
314
308
 
315
309
  bool doubleEquals(Object other) {
@@ -338,11 +332,13 @@ class AttributeRefContextProxy : public ContextProxy {
338
332
  public:
339
333
  AttributeRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
340
334
  Object attributeId();
335
+
341
336
  };
342
337
 
343
338
  class AttributeIdContextProxy : public ContextProxy {
344
339
  public:
345
340
  AttributeIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
341
+
346
342
  Object SimpleId();
347
343
  };
348
344
 
@@ -350,11 +346,13 @@ class ConstantRefContextProxy : public ContextProxy {
350
346
  public:
351
347
  ConstantRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
352
348
  Object constantId();
349
+
353
350
  };
354
351
 
355
352
  class ConstantIdContextProxy : public ContextProxy {
356
353
  public:
357
354
  ConstantIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
355
+
358
356
  Object SimpleId();
359
357
  };
360
358
 
@@ -362,11 +360,13 @@ class EntityRefContextProxy : public ContextProxy {
362
360
  public:
363
361
  EntityRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
364
362
  Object entityId();
363
+
365
364
  };
366
365
 
367
366
  class EntityIdContextProxy : public ContextProxy {
368
367
  public:
369
368
  EntityIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
369
+
370
370
  Object SimpleId();
371
371
  };
372
372
 
@@ -374,11 +374,13 @@ class EnumerationRefContextProxy : public ContextProxy {
374
374
  public:
375
375
  EnumerationRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
376
376
  Object enumerationId();
377
+
377
378
  };
378
379
 
379
380
  class EnumerationIdContextProxy : public ContextProxy {
380
381
  public:
381
382
  EnumerationIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
383
+
382
384
  Object SimpleId();
383
385
  };
384
386
 
@@ -386,11 +388,13 @@ class FunctionRefContextProxy : public ContextProxy {
386
388
  public:
387
389
  FunctionRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
388
390
  Object functionId();
391
+
389
392
  };
390
393
 
391
394
  class FunctionIdContextProxy : public ContextProxy {
392
395
  public:
393
396
  FunctionIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
397
+
394
398
  Object SimpleId();
395
399
  };
396
400
 
@@ -398,11 +402,13 @@ class ParameterRefContextProxy : public ContextProxy {
398
402
  public:
399
403
  ParameterRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
400
404
  Object parameterId();
405
+
401
406
  };
402
407
 
403
408
  class ParameterIdContextProxy : public ContextProxy {
404
409
  public:
405
410
  ParameterIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
411
+
406
412
  Object SimpleId();
407
413
  };
408
414
 
@@ -410,11 +416,13 @@ class ProcedureRefContextProxy : public ContextProxy {
410
416
  public:
411
417
  ProcedureRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
412
418
  Object procedureId();
419
+
413
420
  };
414
421
 
415
422
  class ProcedureIdContextProxy : public ContextProxy {
416
423
  public:
417
424
  ProcedureIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
425
+
418
426
  Object SimpleId();
419
427
  };
420
428
 
@@ -422,11 +430,13 @@ class RuleLabelRefContextProxy : public ContextProxy {
422
430
  public:
423
431
  RuleLabelRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
424
432
  Object ruleLabelId();
433
+
425
434
  };
426
435
 
427
436
  class RuleLabelIdContextProxy : public ContextProxy {
428
437
  public:
429
438
  RuleLabelIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
439
+
430
440
  Object SimpleId();
431
441
  };
432
442
 
@@ -434,11 +444,13 @@ class RuleRefContextProxy : public ContextProxy {
434
444
  public:
435
445
  RuleRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
436
446
  Object ruleId();
447
+
437
448
  };
438
449
 
439
450
  class RuleIdContextProxy : public ContextProxy {
440
451
  public:
441
452
  RuleIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
453
+
442
454
  Object SimpleId();
443
455
  };
444
456
 
@@ -446,11 +458,13 @@ class SchemaRefContextProxy : public ContextProxy {
446
458
  public:
447
459
  SchemaRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
448
460
  Object schemaId();
461
+
449
462
  };
450
463
 
451
464
  class SchemaIdContextProxy : public ContextProxy {
452
465
  public:
453
466
  SchemaIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
467
+
454
468
  Object SimpleId();
455
469
  };
456
470
 
@@ -458,11 +472,13 @@ class SubtypeConstraintRefContextProxy : public ContextProxy {
458
472
  public:
459
473
  SubtypeConstraintRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
460
474
  Object subtypeConstraintId();
475
+
461
476
  };
462
477
 
463
478
  class SubtypeConstraintIdContextProxy : public ContextProxy {
464
479
  public:
465
480
  SubtypeConstraintIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
481
+
466
482
  Object SimpleId();
467
483
  };
468
484
 
@@ -470,11 +486,13 @@ class TypeLabelRefContextProxy : public ContextProxy {
470
486
  public:
471
487
  TypeLabelRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
472
488
  Object typeLabelId();
489
+
473
490
  };
474
491
 
475
492
  class TypeLabelIdContextProxy : public ContextProxy {
476
493
  public:
477
494
  TypeLabelIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
495
+
478
496
  Object SimpleId();
479
497
  };
480
498
 
@@ -482,11 +500,13 @@ class TypeRefContextProxy : public ContextProxy {
482
500
  public:
483
501
  TypeRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
484
502
  Object typeId();
503
+
485
504
  };
486
505
 
487
506
  class TypeIdContextProxy : public ContextProxy {
488
507
  public:
489
508
  TypeIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
509
+
490
510
  Object SimpleId();
491
511
  };
492
512
 
@@ -494,23 +514,27 @@ class VariableRefContextProxy : public ContextProxy {
494
514
  public:
495
515
  VariableRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
496
516
  Object variableId();
517
+
497
518
  };
498
519
 
499
520
  class VariableIdContextProxy : public ContextProxy {
500
521
  public:
501
522
  VariableIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
523
+
502
524
  Object SimpleId();
503
525
  };
504
526
 
505
527
  class AbstractEntityDeclarationContextProxy : public ContextProxy {
506
528
  public:
507
529
  AbstractEntityDeclarationContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
530
+
508
531
  Object ABSTRACT();
509
532
  };
510
533
 
511
534
  class AbstractSupertypeContextProxy : public ContextProxy {
512
535
  public:
513
536
  AbstractSupertypeContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
537
+
514
538
  Object ABSTRACT();
515
539
  Object SUPERTYPE();
516
540
  };
@@ -535,17 +559,20 @@ public:
535
559
  ActualParameterListContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
536
560
  Object parameter();
537
561
  Object parameterAt(size_t i);
562
+
538
563
  };
539
564
 
540
565
  class ParameterContextProxy : public ContextProxy {
541
566
  public:
542
567
  ParameterContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
543
568
  Object expression();
569
+
544
570
  };
545
571
 
546
572
  class AddLikeOpContextProxy : public ContextProxy {
547
573
  public:
548
574
  AddLikeOpContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
575
+
549
576
  Object OR();
550
577
  Object XOR();
551
578
  };
@@ -555,6 +582,7 @@ public:
555
582
  AggregateInitializerContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
556
583
  Object element();
557
584
  Object elementAt(size_t i);
585
+
558
586
  };
559
587
 
560
588
  class ElementContextProxy : public ContextProxy {
@@ -562,12 +590,14 @@ public:
562
590
  ElementContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
563
591
  Object expression();
564
592
  Object repetition();
593
+
565
594
  };
566
595
 
567
596
  class AggregateSourceContextProxy : public ContextProxy {
568
597
  public:
569
598
  AggregateSourceContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
570
599
  Object simpleExpression();
600
+
571
601
  };
572
602
 
573
603
  class SimpleExpressionContextProxy : public ContextProxy {
@@ -577,6 +607,7 @@ public:
577
607
  Object termAt(size_t i);
578
608
  Object addLikeOp();
579
609
  Object addLikeOpAt(size_t i);
610
+
580
611
  };
581
612
 
582
613
  class AggregateTypeContextProxy : public ContextProxy {
@@ -594,6 +625,7 @@ public:
594
625
  Object generalizedTypes();
595
626
  Object namedTypes();
596
627
  Object simpleTypes();
628
+
597
629
  };
598
630
 
599
631
  class TypeLabelContextProxy : public ContextProxy {
@@ -601,6 +633,7 @@ public:
601
633
  TypeLabelContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
602
634
  Object typeLabelId();
603
635
  Object typeLabelRef();
636
+
604
637
  };
605
638
 
606
639
  class AggregationTypesContextProxy : public ContextProxy {
@@ -610,6 +643,7 @@ public:
610
643
  Object bagType();
611
644
  Object listType();
612
645
  Object setType();
646
+
613
647
  };
614
648
 
615
649
  class ArrayTypeContextProxy : public ContextProxy {
@@ -658,6 +692,7 @@ public:
658
692
  Object declarationAt(size_t i);
659
693
  Object constantDecl();
660
694
  Object localDecl();
695
+
661
696
  };
662
697
 
663
698
  class DeclarationContextProxy : public ContextProxy {
@@ -668,6 +703,7 @@ public:
668
703
  Object procedureDecl();
669
704
  Object subtypeConstraintDecl();
670
705
  Object typeDecl();
706
+
671
707
  };
672
708
 
673
709
  class ConstantDeclContextProxy : public ContextProxy {
@@ -707,6 +743,7 @@ public:
707
743
  GeneralRefContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
708
744
  Object parameterRef();
709
745
  Object variableId();
746
+
710
747
  };
711
748
 
712
749
  class StmtContextProxy : public ContextProxy {
@@ -723,6 +760,7 @@ public:
723
760
  Object repeatStmt();
724
761
  Object returnStmt();
725
762
  Object skipStmt();
763
+
726
764
  };
727
765
 
728
766
  class QualifierContextProxy : public ContextProxy {
@@ -731,6 +769,7 @@ public:
731
769
  Object attributeQualifier();
732
770
  Object groupQualifier();
733
771
  Object indexQualifier();
772
+
734
773
  };
735
774
 
736
775
  class BoundSpecContextProxy : public ContextProxy {
@@ -738,6 +777,7 @@ public:
738
777
  BoundSpecContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
739
778
  Object bound1();
740
779
  Object bound2();
780
+
741
781
  };
742
782
 
743
783
  class InstantiableTypeContextProxy : public ContextProxy {
@@ -745,6 +785,7 @@ public:
745
785
  InstantiableTypeContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
746
786
  Object concreteTypes();
747
787
  Object entityRef();
788
+
748
789
  };
749
790
 
750
791
  class AssignmentStmtContextProxy : public ContextProxy {
@@ -754,6 +795,7 @@ public:
754
795
  Object expression();
755
796
  Object qualifier();
756
797
  Object qualifierAt(size_t i);
798
+
757
799
  };
758
800
 
759
801
  class ExpressionContextProxy : public ContextProxy {
@@ -762,6 +804,7 @@ public:
762
804
  Object simpleExpression();
763
805
  Object simpleExpressionAt(size_t i);
764
806
  Object relOpExtended();
807
+
765
808
  };
766
809
 
767
810
  class AttributeDeclContextProxy : public ContextProxy {
@@ -769,6 +812,7 @@ public:
769
812
  AttributeDeclContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
770
813
  Object attributeId();
771
814
  Object redeclaredAttribute();
815
+
772
816
  };
773
817
 
774
818
  class RedeclaredAttributeContextProxy : public ContextProxy {
@@ -783,6 +827,7 @@ class AttributeQualifierContextProxy : public ContextProxy {
783
827
  public:
784
828
  AttributeQualifierContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
785
829
  Object attributeRef();
830
+
786
831
  };
787
832
 
788
833
  class BinaryTypeContextProxy : public ContextProxy {
@@ -802,6 +847,7 @@ public:
802
847
  class BooleanTypeContextProxy : public ContextProxy {
803
848
  public:
804
849
  BooleanTypeContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
850
+
805
851
  Object BOOLEAN();
806
852
  };
807
853
 
@@ -809,23 +855,27 @@ class Bound1ContextProxy : public ContextProxy {
809
855
  public:
810
856
  Bound1ContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
811
857
  Object numericExpression();
858
+
812
859
  };
813
860
 
814
861
  class NumericExpressionContextProxy : public ContextProxy {
815
862
  public:
816
863
  NumericExpressionContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
817
864
  Object simpleExpression();
865
+
818
866
  };
819
867
 
820
868
  class Bound2ContextProxy : public ContextProxy {
821
869
  public:
822
870
  Bound2ContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
823
871
  Object numericExpression();
872
+
824
873
  };
825
874
 
826
875
  class BuiltInConstantContextProxy : public ContextProxy {
827
876
  public:
828
877
  BuiltInConstantContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
878
+
829
879
  Object CONST_E();
830
880
  Object PI();
831
881
  Object SELF();
@@ -834,6 +884,7 @@ public:
834
884
  class BuiltInFunctionContextProxy : public ContextProxy {
835
885
  public:
836
886
  BuiltInFunctionContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
887
+
837
888
  Object ABS();
838
889
  Object ACOS();
839
890
  Object ASIN();
@@ -868,6 +919,7 @@ public:
868
919
  class BuiltInProcedureContextProxy : public ContextProxy {
869
920
  public:
870
921
  BuiltInProcedureContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
922
+
871
923
  Object INSERT();
872
924
  Object REMOVE();
873
925
  };
@@ -878,12 +930,14 @@ public:
878
930
  Object caseLabel();
879
931
  Object caseLabelAt(size_t i);
880
932
  Object stmt();
933
+
881
934
  };
882
935
 
883
936
  class CaseLabelContextProxy : public ContextProxy {
884
937
  public:
885
938
  CaseLabelContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
886
939
  Object expression();
940
+
887
941
  };
888
942
 
889
943
  class CaseStmtContextProxy : public ContextProxy {
@@ -903,6 +957,7 @@ class SelectorContextProxy : public ContextProxy {
903
957
  public:
904
958
  SelectorContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
905
959
  Object expression();
960
+
906
961
  };
907
962
 
908
963
  class CompoundStmtContextProxy : public ContextProxy {
@@ -920,6 +975,7 @@ public:
920
975
  Object aggregationTypes();
921
976
  Object simpleTypes();
922
977
  Object typeRef();
978
+
923
979
  };
924
980
 
925
981
  class SimpleTypesContextProxy : public ContextProxy {
@@ -941,6 +997,7 @@ public:
941
997
  Object constantId();
942
998
  Object instantiableType();
943
999
  Object expression();
1000
+
944
1001
  };
945
1002
 
946
1003
  class ConstantFactorContextProxy : public ContextProxy {
@@ -948,6 +1005,7 @@ public:
948
1005
  ConstantFactorContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
949
1006
  Object builtInConstant();
950
1007
  Object constantRef();
1008
+
951
1009
  };
952
1010
 
953
1011
  class ConstructedTypesContextProxy : public ContextProxy {
@@ -955,6 +1013,7 @@ public:
955
1013
  ConstructedTypesContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
956
1014
  Object enumerationType();
957
1015
  Object selectType();
1016
+
958
1017
  };
959
1018
 
960
1019
  class EnumerationTypeContextProxy : public ContextProxy {
@@ -1029,6 +1088,7 @@ public:
1029
1088
  Object attributeDecl();
1030
1089
  Object parameterType();
1031
1090
  Object expression();
1091
+
1032
1092
  };
1033
1093
 
1034
1094
  class DeriveClauseContextProxy : public ContextProxy {
@@ -1051,6 +1111,7 @@ class RepetitionContextProxy : public ContextProxy {
1051
1111
  public:
1052
1112
  RepetitionContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1053
1113
  Object numericExpression();
1114
+
1054
1115
  };
1055
1116
 
1056
1117
  class EntityBodyContextProxy : public ContextProxy {
@@ -1062,6 +1123,7 @@ public:
1062
1123
  Object inverseClause();
1063
1124
  Object uniqueClause();
1064
1125
  Object whereClause();
1126
+
1065
1127
  };
1066
1128
 
1067
1129
  class ExplicitAttrContextProxy : public ContextProxy {
@@ -1103,6 +1165,7 @@ public:
1103
1165
  Object entityRef();
1104
1166
  Object expression();
1105
1167
  Object expressionAt(size_t i);
1168
+
1106
1169
  };
1107
1170
 
1108
1171
  class EntityHeadContextProxy : public ContextProxy {
@@ -1118,6 +1181,7 @@ public:
1118
1181
  SubsuperContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1119
1182
  Object supertypeConstraint();
1120
1183
  Object subtypeDeclaration();
1184
+
1121
1185
  };
1122
1186
 
1123
1187
  class EnumerationExtensionContextProxy : public ContextProxy {
@@ -1134,12 +1198,14 @@ public:
1134
1198
  EnumerationItemsContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1135
1199
  Object enumerationItem();
1136
1200
  Object enumerationItemAt(size_t i);
1201
+
1137
1202
  };
1138
1203
 
1139
1204
  class EnumerationItemContextProxy : public ContextProxy {
1140
1205
  public:
1141
1206
  EnumerationItemContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1142
1207
  Object enumerationId();
1208
+
1143
1209
  };
1144
1210
 
1145
1211
  class EnumerationReferenceContextProxy : public ContextProxy {
@@ -1147,11 +1213,13 @@ public:
1147
1213
  EnumerationReferenceContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1148
1214
  Object enumerationRef();
1149
1215
  Object typeRef();
1216
+
1150
1217
  };
1151
1218
 
1152
1219
  class EscapeStmtContextProxy : public ContextProxy {
1153
1220
  public:
1154
1221
  EscapeStmtContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1222
+
1155
1223
  Object ESCAPE();
1156
1224
  };
1157
1225
 
@@ -1168,6 +1236,7 @@ public:
1168
1236
  FactorContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1169
1237
  Object simpleFactor();
1170
1238
  Object simpleFactorAt(size_t i);
1239
+
1171
1240
  };
1172
1241
 
1173
1242
  class SimpleFactorContextProxy : public ContextProxy {
@@ -1180,6 +1249,7 @@ public:
1180
1249
  Object queryExpression();
1181
1250
  Object simpleFactorExpression();
1182
1251
  Object simpleFactorUnaryExpression();
1252
+
1183
1253
  };
1184
1254
 
1185
1255
  class FormalParameterContextProxy : public ContextProxy {
@@ -1188,6 +1258,7 @@ public:
1188
1258
  Object parameterId();
1189
1259
  Object parameterIdAt(size_t i);
1190
1260
  Object parameterType();
1261
+
1191
1262
  };
1192
1263
 
1193
1264
  class FunctionCallContextProxy : public ContextProxy {
@@ -1196,6 +1267,7 @@ public:
1196
1267
  Object builtInFunction();
1197
1268
  Object functionRef();
1198
1269
  Object actualParameterList();
1270
+
1199
1271
  };
1200
1272
 
1201
1273
  class FunctionHeadContextProxy : public ContextProxy {
@@ -1215,6 +1287,7 @@ public:
1215
1287
  Object generalAggregationTypes();
1216
1288
  Object genericEntityType();
1217
1289
  Object genericType();
1290
+
1218
1291
  };
1219
1292
 
1220
1293
  class GeneralAggregationTypesContextProxy : public ContextProxy {
@@ -1224,6 +1297,7 @@ public:
1224
1297
  Object generalBagType();
1225
1298
  Object generalListType();
1226
1299
  Object generalSetType();
1300
+
1227
1301
  };
1228
1302
 
1229
1303
  class GenericEntityTypeContextProxy : public ContextProxy {
@@ -1283,6 +1357,7 @@ class GroupQualifierContextProxy : public ContextProxy {
1283
1357
  public:
1284
1358
  GroupQualifierContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1285
1359
  Object entityRef();
1360
+
1286
1361
  };
1287
1362
 
1288
1363
  class IfStmtContextProxy : public ContextProxy {
@@ -1309,6 +1384,7 @@ public:
1309
1384
  IfStmtStatementsContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1310
1385
  Object stmt();
1311
1386
  Object stmtAt(size_t i);
1387
+
1312
1388
  };
1313
1389
 
1314
1390
  class IfStmtElseStatementsContextProxy : public ContextProxy {
@@ -1316,12 +1392,14 @@ public:
1316
1392
  IfStmtElseStatementsContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1317
1393
  Object stmt();
1318
1394
  Object stmtAt(size_t i);
1395
+
1319
1396
  };
1320
1397
 
1321
1398
  class IncrementContextProxy : public ContextProxy {
1322
1399
  public:
1323
1400
  IncrementContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1324
1401
  Object numericExpression();
1402
+
1325
1403
  };
1326
1404
 
1327
1405
  class IncrementControlContextProxy : public ContextProxy {
@@ -1339,18 +1417,21 @@ class IndexContextProxy : public ContextProxy {
1339
1417
  public:
1340
1418
  IndexContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1341
1419
  Object numericExpression();
1420
+
1342
1421
  };
1343
1422
 
1344
1423
  class Index1ContextProxy : public ContextProxy {
1345
1424
  public:
1346
1425
  Index1ContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1347
1426
  Object index();
1427
+
1348
1428
  };
1349
1429
 
1350
1430
  class Index2ContextProxy : public ContextProxy {
1351
1431
  public:
1352
1432
  Index2ContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1353
1433
  Object index();
1434
+
1354
1435
  };
1355
1436
 
1356
1437
  class IndexQualifierContextProxy : public ContextProxy {
@@ -1358,11 +1439,13 @@ public:
1358
1439
  IndexQualifierContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1359
1440
  Object index1();
1360
1441
  Object index2();
1442
+
1361
1443
  };
1362
1444
 
1363
1445
  class IntegerTypeContextProxy : public ContextProxy {
1364
1446
  public:
1365
1447
  IntegerTypeContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1448
+
1366
1449
  Object INTEGER();
1367
1450
  };
1368
1451
 
@@ -1371,6 +1454,7 @@ public:
1371
1454
  InterfaceSpecificationContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1372
1455
  Object referenceClause();
1373
1456
  Object useClause();
1457
+
1374
1458
  };
1375
1459
 
1376
1460
  class ReferenceClauseContextProxy : public ContextProxy {
@@ -1401,29 +1485,35 @@ public:
1401
1485
  Object intervalOpAt(size_t i);
1402
1486
  Object intervalItem();
1403
1487
  Object intervalHigh();
1488
+
1404
1489
  };
1405
1490
 
1406
1491
  class IntervalLowContextProxy : public ContextProxy {
1407
1492
  public:
1408
1493
  IntervalLowContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1409
1494
  Object simpleExpression();
1495
+
1410
1496
  };
1411
1497
 
1412
1498
  class IntervalOpContextProxy : public ContextProxy {
1413
1499
  public:
1414
1500
  IntervalOpContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1501
+
1502
+
1415
1503
  };
1416
1504
 
1417
1505
  class IntervalItemContextProxy : public ContextProxy {
1418
1506
  public:
1419
1507
  IntervalItemContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1420
1508
  Object simpleExpression();
1509
+
1421
1510
  };
1422
1511
 
1423
1512
  class IntervalHighContextProxy : public ContextProxy {
1424
1513
  public:
1425
1514
  IntervalHighContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1426
1515
  Object simpleExpression();
1516
+
1427
1517
  };
1428
1518
 
1429
1519
  class InverseAttrContextProxy : public ContextProxy {
@@ -1459,6 +1549,7 @@ public:
1459
1549
  class LogicalLiteralContextProxy : public ContextProxy {
1460
1550
  public:
1461
1551
  LogicalLiteralContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1552
+
1462
1553
  Object FALSE();
1463
1554
  Object TRUE();
1464
1555
  Object UNKNOWN();
@@ -1467,6 +1558,7 @@ public:
1467
1558
  class StringLiteralContextProxy : public ContextProxy {
1468
1559
  public:
1469
1560
  StringLiteralContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1561
+
1470
1562
  Object SimpleStringLiteral();
1471
1563
  Object EncodedStringLiteral();
1472
1564
  };
@@ -1478,17 +1570,20 @@ public:
1478
1570
  Object variableIdAt(size_t i);
1479
1571
  Object parameterType();
1480
1572
  Object expression();
1573
+
1481
1574
  };
1482
1575
 
1483
1576
  class LogicalTypeContextProxy : public ContextProxy {
1484
1577
  public:
1485
1578
  LogicalTypeContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1579
+
1486
1580
  Object LOGICAL();
1487
1581
  };
1488
1582
 
1489
1583
  class MultiplicationLikeOpContextProxy : public ContextProxy {
1490
1584
  public:
1491
1585
  MultiplicationLikeOpContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1586
+
1492
1587
  Object DIV();
1493
1588
  Object MOD();
1494
1589
  Object AND();
@@ -1514,11 +1609,14 @@ public:
1514
1609
  class NullStmtContextProxy : public ContextProxy {
1515
1610
  public:
1516
1611
  NullStmtContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1612
+
1613
+
1517
1614
  };
1518
1615
 
1519
1616
  class NumberTypeContextProxy : public ContextProxy {
1520
1617
  public:
1521
1618
  NumberTypeContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1619
+
1522
1620
  Object NUMBER();
1523
1621
  };
1524
1622
 
@@ -1543,12 +1641,14 @@ class PopulationContextProxy : public ContextProxy {
1543
1641
  public:
1544
1642
  PopulationContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1545
1643
  Object entityRef();
1644
+
1546
1645
  };
1547
1646
 
1548
1647
  class PrecisionSpecContextProxy : public ContextProxy {
1549
1648
  public:
1550
1649
  PrecisionSpecContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1551
1650
  Object numericExpression();
1651
+
1552
1652
  };
1553
1653
 
1554
1654
  class PrimaryContextProxy : public ContextProxy {
@@ -1558,6 +1658,7 @@ public:
1558
1658
  Object qualifiableFactor();
1559
1659
  Object qualifier();
1560
1660
  Object qualifierAt(size_t i);
1661
+
1561
1662
  };
1562
1663
 
1563
1664
  class QualifiableFactorContextProxy : public ContextProxy {
@@ -1568,6 +1669,7 @@ public:
1568
1669
  Object functionCall();
1569
1670
  Object generalRef();
1570
1671
  Object population();
1672
+
1571
1673
  };
1572
1674
 
1573
1675
  class ProcedureCallStmtContextProxy : public ContextProxy {
@@ -1576,6 +1678,7 @@ public:
1576
1678
  Object builtInProcedure();
1577
1679
  Object procedureRef();
1578
1680
  Object actualParameterList();
1681
+
1579
1682
  };
1580
1683
 
1581
1684
  class ProcedureHeadContextProxy : public ContextProxy {
@@ -1623,6 +1726,7 @@ public:
1623
1726
  ReferencedAttributeContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1624
1727
  Object attributeRef();
1625
1728
  Object qualifiedAttribute();
1729
+
1626
1730
  };
1627
1731
 
1628
1732
  class ResourceOrRenameContextProxy : public ContextProxy {
@@ -1636,6 +1740,8 @@ public:
1636
1740
  class RelOpContextProxy : public ContextProxy {
1637
1741
  public:
1638
1742
  RelOpContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1743
+
1744
+
1639
1745
  };
1640
1746
 
1641
1747
  class RenameIdContextProxy : public ContextProxy {
@@ -1646,6 +1752,7 @@ public:
1646
1752
  Object functionId();
1647
1753
  Object procedureId();
1648
1754
  Object typeId();
1755
+
1649
1756
  };
1650
1757
 
1651
1758
  class RepeatControlContextProxy : public ContextProxy {
@@ -1654,6 +1761,7 @@ public:
1654
1761
  Object incrementControl();
1655
1762
  Object whileControl();
1656
1763
  Object untilControl();
1764
+
1657
1765
  };
1658
1766
 
1659
1767
  class WhileControlContextProxy : public ContextProxy {
@@ -1688,6 +1796,7 @@ public:
1688
1796
  Object functionRef();
1689
1797
  Object procedureRef();
1690
1798
  Object typeRef();
1799
+
1691
1800
  };
1692
1801
 
1693
1802
  class ReturnStmtContextProxy : public ContextProxy {
@@ -1726,6 +1835,7 @@ public:
1726
1835
  Object constantDecl();
1727
1836
  Object schemaBodyDeclaration();
1728
1837
  Object schemaBodyDeclarationAt(size_t i);
1838
+
1729
1839
  };
1730
1840
 
1731
1841
  class SchemaBodyDeclarationContextProxy : public ContextProxy {
@@ -1733,6 +1843,7 @@ public:
1733
1843
  SchemaBodyDeclarationContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1734
1844
  Object declaration();
1735
1845
  Object ruleDecl();
1846
+
1736
1847
  };
1737
1848
 
1738
1849
  class SchemaDeclContextProxy : public ContextProxy {
@@ -1749,6 +1860,7 @@ class SchemaVersionIdContextProxy : public ContextProxy {
1749
1860
  public:
1750
1861
  SchemaVersionIdContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1751
1862
  Object stringLiteral();
1863
+
1752
1864
  };
1753
1865
 
1754
1866
  class SelectExtensionContextProxy : public ContextProxy {
@@ -1765,6 +1877,7 @@ public:
1765
1877
  SelectListContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1766
1878
  Object namedTypes();
1767
1879
  Object namedTypesAt(size_t i);
1880
+
1768
1881
  };
1769
1882
 
1770
1883
  class TermContextProxy : public ContextProxy {
@@ -1774,6 +1887,7 @@ public:
1774
1887
  Object factorAt(size_t i);
1775
1888
  Object multiplicationLikeOp();
1776
1889
  Object multiplicationLikeOpAt(size_t i);
1890
+
1777
1891
  };
1778
1892
 
1779
1893
  class SimpleFactorExpressionContextProxy : public ContextProxy {
@@ -1781,6 +1895,7 @@ public:
1781
1895
  SimpleFactorExpressionContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1782
1896
  Object expression();
1783
1897
  Object primary();
1898
+
1784
1899
  };
1785
1900
 
1786
1901
  class SimpleFactorUnaryExpressionContextProxy : public ContextProxy {
@@ -1788,11 +1903,13 @@ public:
1788
1903
  SimpleFactorUnaryExpressionContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1789
1904
  Object unaryOp();
1790
1905
  Object simpleFactorExpression();
1906
+
1791
1907
  };
1792
1908
 
1793
1909
  class UnaryOpContextProxy : public ContextProxy {
1794
1910
  public:
1795
1911
  UnaryOpContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1912
+
1796
1913
  Object NOT();
1797
1914
  };
1798
1915
 
@@ -1806,6 +1923,7 @@ public:
1806
1923
  class SkipStmtContextProxy : public ContextProxy {
1807
1924
  public:
1808
1925
  SkipStmtContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1926
+
1809
1927
  Object SKIP_();
1810
1928
  };
1811
1929
 
@@ -1815,6 +1933,7 @@ public:
1815
1933
  Object abstractEntityDeclaration();
1816
1934
  Object abstractSupertypeDeclaration();
1817
1935
  Object supertypeRule();
1936
+
1818
1937
  };
1819
1938
 
1820
1939
  class SubtypeDeclarationContextProxy : public ContextProxy {
@@ -1832,6 +1951,7 @@ public:
1832
1951
  Object abstractSupertype();
1833
1952
  Object totalOver();
1834
1953
  Object supertypeExpression();
1954
+
1835
1955
  };
1836
1956
 
1837
1957
  class TotalOverContextProxy : public ContextProxy {
@@ -1873,6 +1993,7 @@ public:
1873
1993
  Object entityRef();
1874
1994
  Object oneOf();
1875
1995
  Object supertypeExpression();
1996
+
1876
1997
  };
1877
1998
 
1878
1999
  class SyntaxContextProxy : public ContextProxy {
@@ -1888,6 +2009,7 @@ public:
1888
2009
  UnderlyingTypeContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1889
2010
  Object concreteTypes();
1890
2011
  Object constructedTypes();
2012
+
1891
2013
  };
1892
2014
 
1893
2015
  class UniqueRuleContextProxy : public ContextProxy {
@@ -1896,12 +2018,14 @@ public:
1896
2018
  Object referencedAttribute();
1897
2019
  Object referencedAttributeAt(size_t i);
1898
2020
  Object ruleLabelId();
2021
+
1899
2022
  };
1900
2023
 
1901
2024
  class WidthContextProxy : public ContextProxy {
1902
2025
  public:
1903
2026
  WidthContextProxy(tree::ParseTree* ctx) : ContextProxy(ctx) {};
1904
2027
  Object numericExpression();
2028
+
1905
2029
  };
1906
2030
 
1907
2031
 
@@ -6517,7 +6641,7 @@ Object ActualParameterListContextProxy::parameter() {
6517
6641
  }
6518
6642
  }
6519
6643
 
6520
- return a;
6644
+ return std::move(a);
6521
6645
  }
6522
6646
 
6523
6647
  Object ActualParameterListContextProxy::parameterAt(size_t i) {
@@ -6601,7 +6725,7 @@ Object AggregateInitializerContextProxy::element() {
6601
6725
  }
6602
6726
  }
6603
6727
 
6604
- return a;
6728
+ return std::move(a);
6605
6729
  }
6606
6730
 
6607
6731
  Object AggregateInitializerContextProxy::elementAt(size_t i) {
@@ -6695,7 +6819,7 @@ Object SimpleExpressionContextProxy::term() {
6695
6819
  }
6696
6820
  }
6697
6821
 
6698
- return a;
6822
+ return std::move(a);
6699
6823
  }
6700
6824
 
6701
6825
  Object SimpleExpressionContextProxy::termAt(size_t i) {
@@ -6729,7 +6853,7 @@ Object SimpleExpressionContextProxy::addLikeOp() {
6729
6853
  }
6730
6854
  }
6731
6855
 
6732
- return a;
6856
+ return std::move(a);
6733
6857
  }
6734
6858
 
6735
6859
  Object SimpleExpressionContextProxy::addLikeOpAt(size_t i) {
@@ -7338,7 +7462,7 @@ Object AlgorithmHeadContextProxy::declaration() {
7338
7462
  }
7339
7463
  }
7340
7464
 
7341
- return a;
7465
+ return std::move(a);
7342
7466
  }
7343
7467
 
7344
7468
  Object AlgorithmHeadContextProxy::declarationAt(size_t i) {
@@ -7512,7 +7636,7 @@ Object ConstantDeclContextProxy::constantBody() {
7512
7636
  }
7513
7637
  }
7514
7638
 
7515
- return a;
7639
+ return std::move(a);
7516
7640
  }
7517
7641
 
7518
7642
  Object ConstantDeclContextProxy::constantBodyAt(size_t i) {
@@ -7576,7 +7700,7 @@ Object LocalDeclContextProxy::localVariable() {
7576
7700
  }
7577
7701
  }
7578
7702
 
7579
- return a;
7703
+ return std::move(a);
7580
7704
  }
7581
7705
 
7582
7706
  Object LocalDeclContextProxy::localVariableAt(size_t i) {
@@ -7680,7 +7804,7 @@ Object AliasStmtContextProxy::stmt() {
7680
7804
  }
7681
7805
  }
7682
7806
 
7683
- return a;
7807
+ return std::move(a);
7684
7808
  }
7685
7809
 
7686
7810
  Object AliasStmtContextProxy::stmtAt(size_t i) {
@@ -7714,7 +7838,7 @@ Object AliasStmtContextProxy::qualifier() {
7714
7838
  }
7715
7839
  }
7716
7840
 
7717
- return a;
7841
+ return std::move(a);
7718
7842
  }
7719
7843
 
7720
7844
  Object AliasStmtContextProxy::qualifierAt(size_t i) {
@@ -8233,7 +8357,7 @@ Object AssignmentStmtContextProxy::qualifier() {
8233
8357
  }
8234
8358
  }
8235
8359
 
8236
- return a;
8360
+ return std::move(a);
8237
8361
  }
8238
8362
 
8239
8363
  Object AssignmentStmtContextProxy::qualifierAt(size_t i) {
@@ -8267,7 +8391,7 @@ Object ExpressionContextProxy::simpleExpression() {
8267
8391
  }
8268
8392
  }
8269
8393
 
8270
- return a;
8394
+ return std::move(a);
8271
8395
  }
8272
8396
 
8273
8397
  Object ExpressionContextProxy::simpleExpressionAt(size_t i) {
@@ -9091,7 +9215,7 @@ Object CaseActionContextProxy::caseLabel() {
9091
9215
  }
9092
9216
  }
9093
9217
 
9094
- return a;
9218
+ return std::move(a);
9095
9219
  }
9096
9220
 
9097
9221
  Object CaseActionContextProxy::caseLabelAt(size_t i) {
@@ -9185,7 +9309,7 @@ Object CaseStmtContextProxy::caseAction() {
9185
9309
  }
9186
9310
  }
9187
9311
 
9188
- return a;
9312
+ return std::move(a);
9189
9313
  }
9190
9314
 
9191
9315
  Object CaseStmtContextProxy::caseActionAt(size_t i) {
@@ -9319,7 +9443,7 @@ Object CompoundStmtContextProxy::stmt() {
9319
9443
  }
9320
9444
  }
9321
9445
 
9322
- return a;
9446
+ return std::move(a);
9323
9447
  }
9324
9448
 
9325
9449
  Object CompoundStmtContextProxy::stmtAt(size_t i) {
@@ -9988,7 +10112,7 @@ Object FunctionDeclContextProxy::stmt() {
9988
10112
  }
9989
10113
  }
9990
10114
 
9991
- return a;
10115
+ return std::move(a);
9992
10116
  }
9993
10117
 
9994
10118
  Object FunctionDeclContextProxy::stmtAt(size_t i) {
@@ -10042,7 +10166,7 @@ Object ProcedureDeclContextProxy::procedureHead() {
10042
10166
  return child;
10043
10167
  }
10044
10168
  }
10045
-
10169
+
10046
10170
  return Nil;
10047
10171
  }
10048
10172
 
@@ -10077,7 +10201,7 @@ Object ProcedureDeclContextProxy::stmt() {
10077
10201
  }
10078
10202
  }
10079
10203
 
10080
- return a;
10204
+ return std::move(a);
10081
10205
  }
10082
10206
 
10083
10207
  Object ProcedureDeclContextProxy::stmtAt(size_t i) {
@@ -10331,7 +10455,7 @@ Object DeriveClauseContextProxy::derivedAttr() {
10331
10455
  }
10332
10456
  }
10333
10457
 
10334
- return a;
10458
+ return std::move(a);
10335
10459
  }
10336
10460
 
10337
10461
  Object DeriveClauseContextProxy::derivedAttrAt(size_t i) {
@@ -10440,7 +10564,7 @@ Object EntityBodyContextProxy::explicitAttr() {
10440
10564
  }
10441
10565
  }
10442
10566
 
10443
- return a;
10567
+ return std::move(a);
10444
10568
  }
10445
10569
 
10446
10570
  Object EntityBodyContextProxy::explicitAttrAt(size_t i) {
@@ -10554,7 +10678,7 @@ Object ExplicitAttrContextProxy::attributeDecl() {
10554
10678
  }
10555
10679
  }
10556
10680
 
10557
- return a;
10681
+ return std::move(a);
10558
10682
  }
10559
10683
 
10560
10684
  Object ExplicitAttrContextProxy::attributeDeclAt(size_t i) {
@@ -10623,7 +10747,7 @@ Object InverseClauseContextProxy::inverseAttr() {
10623
10747
  }
10624
10748
  }
10625
10749
 
10626
- return a;
10750
+ return std::move(a);
10627
10751
  }
10628
10752
 
10629
10753
  Object InverseClauseContextProxy::inverseAttrAt(size_t i) {
@@ -10672,7 +10796,7 @@ Object UniqueClauseContextProxy::uniqueRule() {
10672
10796
  }
10673
10797
  }
10674
10798
 
10675
- return a;
10799
+ return std::move(a);
10676
10800
  }
10677
10801
 
10678
10802
  Object UniqueClauseContextProxy::uniqueRuleAt(size_t i) {
@@ -10721,7 +10845,7 @@ Object WhereClauseContextProxy::domainRule() {
10721
10845
  }
10722
10846
  }
10723
10847
 
10724
- return a;
10848
+ return std::move(a);
10725
10849
  }
10726
10850
 
10727
10851
  Object WhereClauseContextProxy::domainRuleAt(size_t i) {
@@ -10790,7 +10914,7 @@ Object EntityConstructorContextProxy::expression() {
10790
10914
  }
10791
10915
  }
10792
10916
 
10793
- return a;
10917
+ return std::move(a);
10794
10918
  }
10795
10919
 
10796
10920
  Object EntityConstructorContextProxy::expressionAt(size_t i) {
@@ -10989,7 +11113,7 @@ Object EnumerationItemsContextProxy::enumerationItem() {
10989
11113
  }
10990
11114
  }
10991
11115
 
10992
- return a;
11116
+ return std::move(a);
10993
11117
  }
10994
11118
 
10995
11119
  Object EnumerationItemsContextProxy::enumerationItemAt(size_t i) {
@@ -11148,7 +11272,7 @@ Object FactorContextProxy::simpleFactor() {
11148
11272
  }
11149
11273
  }
11150
11274
 
11151
- return a;
11275
+ return std::move(a);
11152
11276
  }
11153
11277
 
11154
11278
  Object FactorContextProxy::simpleFactorAt(size_t i) {
@@ -11322,7 +11446,7 @@ Object FormalParameterContextProxy::parameterId() {
11322
11446
  }
11323
11447
  }
11324
11448
 
11325
- return a;
11449
+ return std::move(a);
11326
11450
  }
11327
11451
 
11328
11452
  Object FormalParameterContextProxy::parameterIdAt(size_t i) {
@@ -11476,7 +11600,7 @@ Object FunctionHeadContextProxy::formalParameter() {
11476
11600
  }
11477
11601
  }
11478
11602
 
11479
- return a;
11603
+ return std::move(a);
11480
11604
  }
11481
11605
 
11482
11606
  Object FunctionHeadContextProxy::formalParameterAt(size_t i) {
@@ -12240,7 +12364,7 @@ Object IfStmtStatementsContextProxy::stmt() {
12240
12364
  }
12241
12365
  }
12242
12366
 
12243
- return a;
12367
+ return std::move(a);
12244
12368
  }
12245
12369
 
12246
12370
  Object IfStmtStatementsContextProxy::stmtAt(size_t i) {
@@ -12274,7 +12398,7 @@ Object IfStmtElseStatementsContextProxy::stmt() {
12274
12398
  }
12275
12399
  }
12276
12400
 
12277
- return a;
12401
+ return std::move(a);
12278
12402
  }
12279
12403
 
12280
12404
  Object IfStmtElseStatementsContextProxy::stmtAt(size_t i) {
@@ -12613,7 +12737,7 @@ Object ReferenceClauseContextProxy::resourceOrRename() {
12613
12737
  }
12614
12738
  }
12615
12739
 
12616
- return a;
12740
+ return std::move(a);
12617
12741
  }
12618
12742
 
12619
12743
  Object ReferenceClauseContextProxy::resourceOrRenameAt(size_t i) {
@@ -12697,7 +12821,7 @@ Object UseClauseContextProxy::namedTypeOrRename() {
12697
12821
  }
12698
12822
  }
12699
12823
 
12700
- return a;
12824
+ return std::move(a);
12701
12825
  }
12702
12826
 
12703
12827
  Object UseClauseContextProxy::namedTypeOrRenameAt(size_t i) {
@@ -12781,7 +12905,7 @@ Object IntervalContextProxy::intervalOp() {
12781
12905
  }
12782
12906
  }
12783
12907
 
12784
- return a;
12908
+ return std::move(a);
12785
12909
  }
12786
12910
 
12787
12911
  Object IntervalContextProxy::intervalOpAt(size_t i) {
@@ -13255,7 +13379,7 @@ Object LocalVariableContextProxy::variableId() {
13255
13379
  }
13256
13380
  }
13257
13381
 
13258
- return a;
13382
+ return std::move(a);
13259
13383
  }
13260
13384
 
13261
13385
  Object LocalVariableContextProxy::variableIdAt(size_t i) {
@@ -13519,7 +13643,7 @@ Object OneOfContextProxy::supertypeExpression() {
13519
13643
  }
13520
13644
  }
13521
13645
 
13522
- return a;
13646
+ return std::move(a);
13523
13647
  }
13524
13648
 
13525
13649
  Object OneOfContextProxy::supertypeExpressionAt(size_t i) {
@@ -13568,7 +13692,7 @@ Object SupertypeExpressionContextProxy::supertypeFactor() {
13568
13692
  }
13569
13693
  }
13570
13694
 
13571
- return a;
13695
+ return std::move(a);
13572
13696
  }
13573
13697
 
13574
13698
  Object SupertypeExpressionContextProxy::supertypeFactorAt(size_t i) {
@@ -13595,7 +13719,7 @@ Object SupertypeExpressionContextProxy::ANDOR() {
13595
13719
  Array a;
13596
13720
 
13597
13721
  if (orig == nullptr) {
13598
- return a;
13722
+ return std::move(a);
13599
13723
  }
13600
13724
 
13601
13725
  auto vec = ((ExpressParser::SupertypeExpressionContext*)orig) -> ANDOR();
@@ -13605,7 +13729,7 @@ Object SupertypeExpressionContextProxy::ANDOR() {
13605
13729
  a.push(detail::To_Ruby<TerminalNodeProxy>().convert(proxy));
13606
13730
  }
13607
13731
 
13608
- return a;
13732
+ return std::move(a);
13609
13733
  }
13610
13734
 
13611
13735
  Object SupertypeExpressionContextProxy::ANDORAt(size_t i) {
@@ -13714,7 +13838,7 @@ Object PrimaryContextProxy::qualifier() {
13714
13838
  }
13715
13839
  }
13716
13840
 
13717
- return a;
13841
+ return std::move(a);
13718
13842
  }
13719
13843
 
13720
13844
  Object PrimaryContextProxy::qualifierAt(size_t i) {
@@ -13928,7 +14052,7 @@ Object ProcedureHeadContextProxy::procedureHeadParameter() {
13928
14052
  }
13929
14053
  }
13930
14054
 
13931
- return a;
14055
+ return std::move(a);
13932
14056
  }
13933
14057
 
13934
14058
  Object ProcedureHeadContextProxy::procedureHeadParameterAt(size_t i) {
@@ -14522,7 +14646,7 @@ Object RepeatStmtContextProxy::stmt() {
14522
14646
  }
14523
14647
  }
14524
14648
 
14525
- return a;
14649
+ return std::move(a);
14526
14650
  }
14527
14651
 
14528
14652
  Object RepeatStmtContextProxy::stmtAt(size_t i) {
@@ -14781,7 +14905,7 @@ Object RuleDeclContextProxy::stmt() {
14781
14905
  }
14782
14906
  }
14783
14907
 
14784
- return a;
14908
+ return std::move(a);
14785
14909
  }
14786
14910
 
14787
14911
  Object RuleDeclContextProxy::stmtAt(size_t i) {
@@ -14850,7 +14974,7 @@ Object RuleHeadContextProxy::entityRef() {
14850
14974
  }
14851
14975
  }
14852
14976
 
14853
- return a;
14977
+ return std::move(a);
14854
14978
  }
14855
14979
 
14856
14980
  Object RuleHeadContextProxy::entityRefAt(size_t i) {
@@ -14914,7 +15038,7 @@ Object SchemaBodyContextProxy::interfaceSpecification() {
14914
15038
  }
14915
15039
  }
14916
15040
 
14917
- return a;
15041
+ return std::move(a);
14918
15042
  }
14919
15043
 
14920
15044
  Object SchemaBodyContextProxy::interfaceSpecificationAt(size_t i) {
@@ -14968,7 +15092,7 @@ Object SchemaBodyContextProxy::schemaBodyDeclaration() {
14968
15092
  }
14969
15093
  }
14970
15094
 
14971
- return a;
15095
+ return std::move(a);
14972
15096
  }
14973
15097
 
14974
15098
  Object SchemaBodyContextProxy::schemaBodyDeclarationAt(size_t i) {
@@ -15222,7 +15346,7 @@ Object SelectListContextProxy::namedTypes() {
15222
15346
  }
15223
15347
  }
15224
15348
 
15225
- return a;
15349
+ return std::move(a);
15226
15350
  }
15227
15351
 
15228
15352
  Object SelectListContextProxy::namedTypesAt(size_t i) {
@@ -15256,7 +15380,7 @@ Object TermContextProxy::factor() {
15256
15380
  }
15257
15381
  }
15258
15382
 
15259
- return a;
15383
+ return std::move(a);
15260
15384
  }
15261
15385
 
15262
15386
  Object TermContextProxy::factorAt(size_t i) {
@@ -15290,7 +15414,7 @@ Object TermContextProxy::multiplicationLikeOp() {
15290
15414
  }
15291
15415
  }
15292
15416
 
15293
- return a;
15417
+ return std::move(a);
15294
15418
  }
15295
15419
 
15296
15420
  Object TermContextProxy::multiplicationLikeOpAt(size_t i) {
@@ -15529,7 +15653,7 @@ Object SubtypeDeclarationContextProxy::entityRef() {
15529
15653
  }
15530
15654
  }
15531
15655
 
15532
- return a;
15656
+ return std::move(a);
15533
15657
  }
15534
15658
 
15535
15659
  Object SubtypeDeclarationContextProxy::entityRefAt(size_t i) {
@@ -15653,7 +15777,7 @@ Object TotalOverContextProxy::entityRef() {
15653
15777
  }
15654
15778
  }
15655
15779
 
15656
- return a;
15780
+ return std::move(a);
15657
15781
  }
15658
15782
 
15659
15783
  Object TotalOverContextProxy::entityRefAt(size_t i) {
@@ -15807,7 +15931,7 @@ Object SupertypeFactorContextProxy::supertypeTerm() {
15807
15931
  }
15808
15932
  }
15809
15933
 
15810
- return a;
15934
+ return std::move(a);
15811
15935
  }
15812
15936
 
15813
15937
  Object SupertypeFactorContextProxy::supertypeTermAt(size_t i) {
@@ -15834,7 +15958,7 @@ Object SupertypeFactorContextProxy::AND() {
15834
15958
  Array a;
15835
15959
 
15836
15960
  if (orig == nullptr) {
15837
- return a;
15961
+ return std::move(a);
15838
15962
  }
15839
15963
 
15840
15964
  auto vec = ((ExpressParser::SupertypeFactorContext*)orig) -> AND();
@@ -15844,7 +15968,7 @@ Object SupertypeFactorContextProxy::AND() {
15844
15968
  a.push(detail::To_Ruby<TerminalNodeProxy>().convert(proxy));
15845
15969
  }
15846
15970
 
15847
- return a;
15971
+ return std::move(a);
15848
15972
  }
15849
15973
 
15850
15974
  Object SupertypeFactorContextProxy::ANDAt(size_t i) {
@@ -15933,7 +16057,7 @@ Object SyntaxContextProxy::schemaDecl() {
15933
16057
  }
15934
16058
  }
15935
16059
 
15936
- return a;
16060
+ return std::move(a);
15937
16061
  }
15938
16062
 
15939
16063
  Object SyntaxContextProxy::schemaDeclAt(size_t i) {
@@ -16022,7 +16146,7 @@ Object UniqueRuleContextProxy::referencedAttribute() {
16022
16146
  }
16023
16147
  }
16024
16148
 
16025
- return a;
16149
+ return std::move(a);
16026
16150
  }
16027
16151
 
16028
16152
  Object UniqueRuleContextProxy::referencedAttributeAt(size_t i) {
@@ -16092,12 +16216,20 @@ public:
16092
16216
 
16093
16217
  Object ruby_visit(ContextProxy* proxy) {
16094
16218
  auto result = visit(proxy -> getOriginal());
16095
- return result.as<Object>();
16219
+ try {
16220
+ return std::any_cast<Object>(result);
16221
+ } catch(std::bad_cast) {
16222
+ return Qnil;
16223
+ }
16096
16224
  }
16097
16225
 
16098
16226
  Object ruby_visitChildren(ContextProxy* proxy) {
16099
16227
  auto result = visitChildren(proxy -> getOriginal());
16100
- return result.as<Object>();
16228
+ try {
16229
+ return std::any_cast<Object>(result);
16230
+ } catch(std::bad_cast) {
16231
+ return Qnil;
16232
+ }
16101
16233
  }
16102
16234
 
16103
16235
  virtual antlrcpp::Any visitAttributeRef(ExpressParser::AttributeRefContext *ctx) override {
@@ -17135,7 +17267,6 @@ public:
17135
17267
 
17136
17268
  return a;
17137
17269
  }
17138
-
17139
17270
  Object visit(VisitorProxy* visitor) {
17140
17271
  auto result = visitor -> visit(this -> parser -> syntax());
17141
17272
 
@@ -17143,7 +17274,7 @@ public:
17143
17274
  this -> lexer -> reset();
17144
17275
  this -> parser -> reset();
17145
17276
 
17146
- return result;
17277
+ return std::any_cast<Object>(result);
17147
17278
  }
17148
17279
 
17149
17280
  ~ParserProxy() {
@@ -17161,6 +17292,7 @@ private:
17161
17292
  parser -> lexer = new ExpressLexer(parser -> input);
17162
17293
  parser -> tokens = new CommonTokenStream(parser -> lexer);
17163
17294
  parser -> parser = new ExpressParser(parser -> tokens);
17295
+
17164
17296
  return parser;
17165
17297
  }
17166
17298
 
@@ -17992,7 +18124,7 @@ Object ContextProxy::wrapParseTree(tree::ParseTree* node) {
17992
18124
 
17993
18125
  extern "C"
17994
18126
  void Init_express_parser() {
17995
- rb_mExpressParser = define_module("ExpressParser");
18127
+ Module rb_mExpressParser = define_module("ExpressParser");
17996
18128
 
17997
18129
  rb_cToken = define_class_under<Token>(rb_mExpressParser, "Token")
17998
18130
  .define_method("text", &Token::getText)
@@ -18221,7 +18353,7 @@ void Init_express_parser() {
18221
18353
  .define_singleton_function("parse", &ParserProxy::parse)
18222
18354
  .define_singleton_function("parse_file", &ParserProxy::parseFile)
18223
18355
  .define_method("syntax", &ParserProxy::syntax, Return().keepAlive())
18224
- .define_method("tokens", &ParserProxy::getTokens, Return().takeOwnership())
18356
+ .define_method("tokens", &ParserProxy::getTokens)
18225
18357
  .define_method("visit", &ParserProxy::visit, Return().keepAlive());
18226
18358
 
18227
18359
  rb_cAttributeRefContext = define_class_under<AttributeRefContextProxy, ContextProxy>(rb_mExpressParser, "AttributeRefContext")