expressir 1.2.4 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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")