expressir 1.2.3 → 1.2.6
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.
- checksums.yaml +4 -4
- data/.cross_rubies +0 -6
- data/.github/workflows/rake.yml +223 -31
- data/.gitignore +7 -1
- data/.gitmodules +3 -0
- data/.rubocop.yml +13 -4
- data/README.adoc +8 -0
- data/Rakefile +4 -1
- data/bin/console +0 -1
- data/bin/rspec +3 -3
- data/exe/expressir +4 -2
- data/exe/format +1 -1
- data/exe/format-test +25 -25
- data/exe/generate-parser +16 -13
- data/expressir.gemspec +11 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +44 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj +11 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj.filters +0 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj +11 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj.filters +0 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj +11 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj.filters +0 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +19 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +0 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +51 -35
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4.xcscheme +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_ios.xcscheme +1 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +1 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +1 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +9 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +43 -18
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +16 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +2 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +16 -13
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +5 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +2 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +9 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +0 -15
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +1 -7
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +51 -31
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +1 -7
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +27 -39
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +1 -7
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +20 -23
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +21 -21
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +4 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +0 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +16 -27
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +12 -17
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +4 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +5 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +2 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +7 -7
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +6 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +4 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +15 -18
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +12 -18
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Version.h +42 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +13 -53
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +11 -27
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +19 -58
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +7 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +6 -57
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +35 -15
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +29 -36
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +36 -27
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +58 -54
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +77 -31
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +22 -32
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +22 -24
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +335 -464
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +9 -62
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +9 -39
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +6 -22
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +10 -26
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +42 -36
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.cpp +33 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.h +36 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +2 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +4 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +49 -22
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +20 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +1 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +5 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +4 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +4 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +5 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +10 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +0 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +12 -8
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +2 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +6 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +139 -108
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +10 -43
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +16 -33
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +12 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +69 -82
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +17 -28
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +12 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +45 -11
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +48 -44
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +31 -18
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +3 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +14 -26
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +12 -16
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +15 -32
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +12 -24
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +23 -29
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +13 -19
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +13 -26
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +12 -16
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +6 -17
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +12 -16
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +6 -17
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +12 -16
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +13 -26
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +12 -16
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +6 -17
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +11 -15
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +13 -26
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +13 -17
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +5 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +1 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +4 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +6 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +8 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +169 -152
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +26 -19
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulatorOptions.h +50 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +5 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +5 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +2 -11
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +15 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +4 -14
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +22 -11
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +255 -338
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +87 -116
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.cpp +56 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.h +64 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.cpp +167 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.h +101 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCacheOptions.h +71 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextType.h +21 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +18 -17
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +1 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +4 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +4 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +4 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +1 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +5 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +197 -156
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +92 -81
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContextType.h +23 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SerializedATNView.h +101 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +2 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +11 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +39 -34
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +17 -10
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +5 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +4 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +6 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +6 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +5 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +1 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +11 -22
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.cpp +27 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.h +33 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +1 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +4 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +11 -23
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +20 -15
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +2 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +4 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +9 -50
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +57 -48
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +1 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +3 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +3 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +1 -29
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +10 -10
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +15 -28
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +1 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +54 -68
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +35 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +0 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +1 -155
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +2 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +39 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +13 -54
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +16 -29
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Casts.h +34 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +0 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +25 -23
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +2 -40
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Unicode.h +28 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.cpp +242 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.h +54 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +13 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +7 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +36 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +14 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +14 -19
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +0 -3
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +14 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeType.h +22 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +4 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +8 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +30 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +10 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +2 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +4 -5
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +1 -2
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +128 -119
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +18 -27
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/tests/Utf8Test.cpp +110 -0
- data/ext/express-parser/antlrgen/Express.interp +1 -1
- data/ext/express-parser/antlrgen/ExpressBaseListener.cpp +1 -1
- data/ext/express-parser/antlrgen/ExpressBaseListener.h +1 -1
- data/ext/express-parser/antlrgen/ExpressBaseVisitor.cpp +1 -1
- data/ext/express-parser/antlrgen/ExpressBaseVisitor.h +200 -200
- data/ext/express-parser/antlrgen/ExpressLexer.cpp +645 -1129
- data/ext/express-parser/antlrgen/ExpressLexer.h +20 -27
- data/ext/express-parser/antlrgen/ExpressLexer.interp +1 -1
- data/ext/express-parser/antlrgen/ExpressListener.cpp +1 -1
- data/ext/express-parser/antlrgen/ExpressListener.h +1 -1
- data/ext/express-parser/antlrgen/ExpressParser.cpp +1754 -1447
- data/ext/express-parser/antlrgen/ExpressParser.h +219 -223
- data/ext/express-parser/antlrgen/ExpressVisitor.cpp +1 -1
- data/ext/express-parser/antlrgen/ExpressVisitor.h +200 -200
- data/ext/express-parser/express_parser.cpp +165 -101
- data/ext/express-parser/extconf.rb +14 -14
- data/lib/expressir/config.rb +1 -1
- data/lib/expressir/express/parser.rb +17 -15
- data/lib/expressir/express/visitor.rb +7 -3
- data/lib/expressir/model.rb +78 -78
- data/lib/expressir/version.rb +1 -1
- data/rakelib/antlr4-native.rake +161 -0
- data/rakelib/cross-ruby.rake +213 -162
- data/spec/acceptance/version_spec.rb +17 -2
- data/spec/expressir/express/cache_spec.rb +23 -5
- data/spec/expressir/express/formatter_spec.rb +54 -8
- data/spec/expressir/express/parser_spec.rb +47 -11
- data/spec/expressir/model/model_element_spec.rb +198 -146
- data/spec/spec_helper.rb +7 -0
- metadata +79 -91
- data/demo.rb +0 -18
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.cpp +0 -621
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.h +0 -61
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.cpp +0 -14
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.h +0 -24
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.cpp +0 -15
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.cpp +0 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.cpp +0 -35
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.h +0 -27
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Makefile +0 -67
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.cpp +0 -16
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.cpp +0 -15
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.cpp +0 -12
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.cpp +0 -303
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.h +0 -112
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.cpp +0 -9
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.cpp +0 -9
- data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp +0 -9589
- data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl +0 -36619
- data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.xml +0 -13294
- data/original/examples/employment/eclipse/.project +0 -17
- data/original/examples/employment/eclipse/Export/Employment.png +0 -0
- data/original/examples/employment/eclipse/Express/employment_schema.exp +0 -33
- data/original/examples/employment/eclipse/Express/employment_schema.xmi +0 -77
- data/original/examples/employment/eclipse/Express/employment_schema.xml +0 -93
- data/original/examples/employment/eclipse/Models/Employment.uml +0 -4
- data/original/examples/employment/eclipse/Models/Employment.umldi +0 -240
- data/original/examples/employment/eclipse/readme.txt +0 -7
- data/original/examples/employment/employment_schema.exp +0 -33
- data/original/examples/employment/employment_schema.rb +0 -232
- data/original/examples/employment/employment_schema.xml +0 -93
- data/original/examples/employment/employment_schema___module.rb +0 -46
- data/original/examples/employment/employment_schema___p28attr.rb +0 -126
- data/original/examples/employment/employment_schema___p28inst.rb +0 -26
- data/original/examples/employment/example_employment_data.xml +0 -1
- data/original/examples/employment/example_employment_data_copy.xml +0 -1
- data/original/examples/employment/example_employment_reader.rb +0 -30
- data/original/examples/employment/example_employment_writer.rb +0 -51
- data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.exp +0 -3710
- data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.owl +0 -35880
- data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xmi +0 -15357
- data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xml +0 -9468
- data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.exp +0 -8404
- data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl +0 -43147
- data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi +0 -18341
- data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml +0 -11632
- data/original/exp2ruby.rb +0 -525
- data/original/expsm.rb +0 -34
- data/original/mapping_owl.rb +0 -1018
- data/original/mapping_sysml.rb +0 -2281
- data/original/mapping_uml2.rb +0 -599
- data/original/mapping_uml2_eclipse.rb +0 -433
- data/original/reeper.rb +0 -134
- 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;
|
@@ -231,6 +228,8 @@ Class rb_cParser;
|
|
231
228
|
Class rb_cParseTree;
|
232
229
|
Class rb_cTerminalNode;
|
233
230
|
Class rb_cContextProxy;
|
231
|
+
Class rb_cParserExt;
|
232
|
+
Class rb_cTokenExt;
|
234
233
|
|
235
234
|
namespace Rice::detail {
|
236
235
|
template <>
|
@@ -261,6 +260,28 @@ namespace Rice::detail {
|
|
261
260
|
};
|
262
261
|
}
|
263
262
|
|
263
|
+
class TokenProxy : public Object {
|
264
|
+
public:
|
265
|
+
TokenProxy(Token* orig) {
|
266
|
+
this -> orig = orig;
|
267
|
+
}
|
268
|
+
|
269
|
+
std::string getText() {
|
270
|
+
return orig->getText();
|
271
|
+
}
|
272
|
+
|
273
|
+
size_t getChannel() {
|
274
|
+
return orig->getChannel();
|
275
|
+
}
|
276
|
+
|
277
|
+
size_t getTokenIndex() {
|
278
|
+
return orig->getTokenIndex();
|
279
|
+
}
|
280
|
+
|
281
|
+
private:
|
282
|
+
Token * orig = nullptr;
|
283
|
+
};
|
284
|
+
|
264
285
|
class ContextProxy {
|
265
286
|
public:
|
266
287
|
ContextProxy(tree::ParseTree* orig) {
|
@@ -288,39 +309,25 @@ public:
|
|
288
309
|
}
|
289
310
|
|
290
311
|
Array getChildren() {
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
for (auto it = orig -> children.begin(); it != orig -> children.end(); it ++) {
|
296
|
-
Object parseTree = ContextProxy::wrapParseTree(*it);
|
312
|
+
Array children;
|
313
|
+
if (orig != nullptr) {
|
314
|
+
for (auto it = orig -> children.begin(); it != orig -> children.end(); it ++) {
|
315
|
+
Object parseTree = ContextProxy::wrapParseTree(*it);
|
297
316
|
|
298
|
-
|
299
|
-
|
300
|
-
}
|
317
|
+
if (parseTree != Nil) {
|
318
|
+
children.push(parseTree);
|
301
319
|
}
|
302
320
|
}
|
303
321
|
}
|
304
|
-
|
305
|
-
return *children;
|
322
|
+
return children;
|
306
323
|
}
|
307
324
|
|
308
325
|
Object getParent() {
|
309
|
-
|
310
|
-
if (orig != nullptr) {
|
311
|
-
parent = ContextProxy::wrapParseTree(orig -> parent);
|
312
|
-
}
|
313
|
-
}
|
314
|
-
|
315
|
-
return parent;
|
326
|
+
return orig == nullptr ? Nil : ContextProxy::wrapParseTree(orig -> parent);
|
316
327
|
}
|
317
328
|
|
318
329
|
size_t childCount() {
|
319
|
-
|
320
|
-
return 0;
|
321
|
-
}
|
322
|
-
|
323
|
-
return getChildren().size();
|
330
|
+
return orig == nullptr ? 0 : orig -> children.size();
|
324
331
|
}
|
325
332
|
|
326
333
|
bool doubleEquals(Object other) {
|
@@ -337,8 +344,6 @@ private:
|
|
337
344
|
|
338
345
|
protected:
|
339
346
|
tree::ParseTree* orig = nullptr;
|
340
|
-
Array* children = nullptr;
|
341
|
-
Object parent = Nil;
|
342
347
|
};
|
343
348
|
|
344
349
|
class TerminalNodeProxy : public ContextProxy {
|
@@ -6660,7 +6665,7 @@ Object ActualParameterListContextProxy::parameter() {
|
|
6660
6665
|
}
|
6661
6666
|
}
|
6662
6667
|
|
6663
|
-
return a;
|
6668
|
+
return std::move(a);
|
6664
6669
|
}
|
6665
6670
|
|
6666
6671
|
Object ActualParameterListContextProxy::parameterAt(size_t i) {
|
@@ -6744,7 +6749,7 @@ Object AggregateInitializerContextProxy::element() {
|
|
6744
6749
|
}
|
6745
6750
|
}
|
6746
6751
|
|
6747
|
-
return a;
|
6752
|
+
return std::move(a);
|
6748
6753
|
}
|
6749
6754
|
|
6750
6755
|
Object AggregateInitializerContextProxy::elementAt(size_t i) {
|
@@ -6838,7 +6843,7 @@ Object SimpleExpressionContextProxy::term() {
|
|
6838
6843
|
}
|
6839
6844
|
}
|
6840
6845
|
|
6841
|
-
return a;
|
6846
|
+
return std::move(a);
|
6842
6847
|
}
|
6843
6848
|
|
6844
6849
|
Object SimpleExpressionContextProxy::termAt(size_t i) {
|
@@ -6872,7 +6877,7 @@ Object SimpleExpressionContextProxy::addLikeOp() {
|
|
6872
6877
|
}
|
6873
6878
|
}
|
6874
6879
|
|
6875
|
-
return a;
|
6880
|
+
return std::move(a);
|
6876
6881
|
}
|
6877
6882
|
|
6878
6883
|
Object SimpleExpressionContextProxy::addLikeOpAt(size_t i) {
|
@@ -7481,7 +7486,7 @@ Object AlgorithmHeadContextProxy::declaration() {
|
|
7481
7486
|
}
|
7482
7487
|
}
|
7483
7488
|
|
7484
|
-
return a;
|
7489
|
+
return std::move(a);
|
7485
7490
|
}
|
7486
7491
|
|
7487
7492
|
Object AlgorithmHeadContextProxy::declarationAt(size_t i) {
|
@@ -7655,7 +7660,7 @@ Object ConstantDeclContextProxy::constantBody() {
|
|
7655
7660
|
}
|
7656
7661
|
}
|
7657
7662
|
|
7658
|
-
return a;
|
7663
|
+
return std::move(a);
|
7659
7664
|
}
|
7660
7665
|
|
7661
7666
|
Object ConstantDeclContextProxy::constantBodyAt(size_t i) {
|
@@ -7719,7 +7724,7 @@ Object LocalDeclContextProxy::localVariable() {
|
|
7719
7724
|
}
|
7720
7725
|
}
|
7721
7726
|
|
7722
|
-
return a;
|
7727
|
+
return std::move(a);
|
7723
7728
|
}
|
7724
7729
|
|
7725
7730
|
Object LocalDeclContextProxy::localVariableAt(size_t i) {
|
@@ -7823,7 +7828,7 @@ Object AliasStmtContextProxy::stmt() {
|
|
7823
7828
|
}
|
7824
7829
|
}
|
7825
7830
|
|
7826
|
-
return a;
|
7831
|
+
return std::move(a);
|
7827
7832
|
}
|
7828
7833
|
|
7829
7834
|
Object AliasStmtContextProxy::stmtAt(size_t i) {
|
@@ -7857,7 +7862,7 @@ Object AliasStmtContextProxy::qualifier() {
|
|
7857
7862
|
}
|
7858
7863
|
}
|
7859
7864
|
|
7860
|
-
return a;
|
7865
|
+
return std::move(a);
|
7861
7866
|
}
|
7862
7867
|
|
7863
7868
|
Object AliasStmtContextProxy::qualifierAt(size_t i) {
|
@@ -8376,7 +8381,7 @@ Object AssignmentStmtContextProxy::qualifier() {
|
|
8376
8381
|
}
|
8377
8382
|
}
|
8378
8383
|
|
8379
|
-
return a;
|
8384
|
+
return std::move(a);
|
8380
8385
|
}
|
8381
8386
|
|
8382
8387
|
Object AssignmentStmtContextProxy::qualifierAt(size_t i) {
|
@@ -8410,7 +8415,7 @@ Object ExpressionContextProxy::simpleExpression() {
|
|
8410
8415
|
}
|
8411
8416
|
}
|
8412
8417
|
|
8413
|
-
return a;
|
8418
|
+
return std::move(a);
|
8414
8419
|
}
|
8415
8420
|
|
8416
8421
|
Object ExpressionContextProxy::simpleExpressionAt(size_t i) {
|
@@ -9234,7 +9239,7 @@ Object CaseActionContextProxy::caseLabel() {
|
|
9234
9239
|
}
|
9235
9240
|
}
|
9236
9241
|
|
9237
|
-
return a;
|
9242
|
+
return std::move(a);
|
9238
9243
|
}
|
9239
9244
|
|
9240
9245
|
Object CaseActionContextProxy::caseLabelAt(size_t i) {
|
@@ -9328,7 +9333,7 @@ Object CaseStmtContextProxy::caseAction() {
|
|
9328
9333
|
}
|
9329
9334
|
}
|
9330
9335
|
|
9331
|
-
return a;
|
9336
|
+
return std::move(a);
|
9332
9337
|
}
|
9333
9338
|
|
9334
9339
|
Object CaseStmtContextProxy::caseActionAt(size_t i) {
|
@@ -9462,7 +9467,7 @@ Object CompoundStmtContextProxy::stmt() {
|
|
9462
9467
|
}
|
9463
9468
|
}
|
9464
9469
|
|
9465
|
-
return a;
|
9470
|
+
return std::move(a);
|
9466
9471
|
}
|
9467
9472
|
|
9468
9473
|
Object CompoundStmtContextProxy::stmtAt(size_t i) {
|
@@ -10131,7 +10136,7 @@ Object FunctionDeclContextProxy::stmt() {
|
|
10131
10136
|
}
|
10132
10137
|
}
|
10133
10138
|
|
10134
|
-
return a;
|
10139
|
+
return std::move(a);
|
10135
10140
|
}
|
10136
10141
|
|
10137
10142
|
Object FunctionDeclContextProxy::stmtAt(size_t i) {
|
@@ -10220,7 +10225,7 @@ Object ProcedureDeclContextProxy::stmt() {
|
|
10220
10225
|
}
|
10221
10226
|
}
|
10222
10227
|
|
10223
|
-
return a;
|
10228
|
+
return std::move(a);
|
10224
10229
|
}
|
10225
10230
|
|
10226
10231
|
Object ProcedureDeclContextProxy::stmtAt(size_t i) {
|
@@ -10474,7 +10479,7 @@ Object DeriveClauseContextProxy::derivedAttr() {
|
|
10474
10479
|
}
|
10475
10480
|
}
|
10476
10481
|
|
10477
|
-
return a;
|
10482
|
+
return std::move(a);
|
10478
10483
|
}
|
10479
10484
|
|
10480
10485
|
Object DeriveClauseContextProxy::derivedAttrAt(size_t i) {
|
@@ -10583,7 +10588,7 @@ Object EntityBodyContextProxy::explicitAttr() {
|
|
10583
10588
|
}
|
10584
10589
|
}
|
10585
10590
|
|
10586
|
-
return a;
|
10591
|
+
return std::move(a);
|
10587
10592
|
}
|
10588
10593
|
|
10589
10594
|
Object EntityBodyContextProxy::explicitAttrAt(size_t i) {
|
@@ -10697,7 +10702,7 @@ Object ExplicitAttrContextProxy::attributeDecl() {
|
|
10697
10702
|
}
|
10698
10703
|
}
|
10699
10704
|
|
10700
|
-
return a;
|
10705
|
+
return std::move(a);
|
10701
10706
|
}
|
10702
10707
|
|
10703
10708
|
Object ExplicitAttrContextProxy::attributeDeclAt(size_t i) {
|
@@ -10766,7 +10771,7 @@ Object InverseClauseContextProxy::inverseAttr() {
|
|
10766
10771
|
}
|
10767
10772
|
}
|
10768
10773
|
|
10769
|
-
return a;
|
10774
|
+
return std::move(a);
|
10770
10775
|
}
|
10771
10776
|
|
10772
10777
|
Object InverseClauseContextProxy::inverseAttrAt(size_t i) {
|
@@ -10815,7 +10820,7 @@ Object UniqueClauseContextProxy::uniqueRule() {
|
|
10815
10820
|
}
|
10816
10821
|
}
|
10817
10822
|
|
10818
|
-
return a;
|
10823
|
+
return std::move(a);
|
10819
10824
|
}
|
10820
10825
|
|
10821
10826
|
Object UniqueClauseContextProxy::uniqueRuleAt(size_t i) {
|
@@ -10864,7 +10869,7 @@ Object WhereClauseContextProxy::domainRule() {
|
|
10864
10869
|
}
|
10865
10870
|
}
|
10866
10871
|
|
10867
|
-
return a;
|
10872
|
+
return std::move(a);
|
10868
10873
|
}
|
10869
10874
|
|
10870
10875
|
Object WhereClauseContextProxy::domainRuleAt(size_t i) {
|
@@ -10933,7 +10938,7 @@ Object EntityConstructorContextProxy::expression() {
|
|
10933
10938
|
}
|
10934
10939
|
}
|
10935
10940
|
|
10936
|
-
return a;
|
10941
|
+
return std::move(a);
|
10937
10942
|
}
|
10938
10943
|
|
10939
10944
|
Object EntityConstructorContextProxy::expressionAt(size_t i) {
|
@@ -11132,7 +11137,7 @@ Object EnumerationItemsContextProxy::enumerationItem() {
|
|
11132
11137
|
}
|
11133
11138
|
}
|
11134
11139
|
|
11135
|
-
return a;
|
11140
|
+
return std::move(a);
|
11136
11141
|
}
|
11137
11142
|
|
11138
11143
|
Object EnumerationItemsContextProxy::enumerationItemAt(size_t i) {
|
@@ -11291,7 +11296,7 @@ Object FactorContextProxy::simpleFactor() {
|
|
11291
11296
|
}
|
11292
11297
|
}
|
11293
11298
|
|
11294
|
-
return a;
|
11299
|
+
return std::move(a);
|
11295
11300
|
}
|
11296
11301
|
|
11297
11302
|
Object FactorContextProxy::simpleFactorAt(size_t i) {
|
@@ -11465,7 +11470,7 @@ Object FormalParameterContextProxy::parameterId() {
|
|
11465
11470
|
}
|
11466
11471
|
}
|
11467
11472
|
|
11468
|
-
return a;
|
11473
|
+
return std::move(a);
|
11469
11474
|
}
|
11470
11475
|
|
11471
11476
|
Object FormalParameterContextProxy::parameterIdAt(size_t i) {
|
@@ -11619,7 +11624,7 @@ Object FunctionHeadContextProxy::formalParameter() {
|
|
11619
11624
|
}
|
11620
11625
|
}
|
11621
11626
|
|
11622
|
-
return a;
|
11627
|
+
return std::move(a);
|
11623
11628
|
}
|
11624
11629
|
|
11625
11630
|
Object FunctionHeadContextProxy::formalParameterAt(size_t i) {
|
@@ -12383,7 +12388,7 @@ Object IfStmtStatementsContextProxy::stmt() {
|
|
12383
12388
|
}
|
12384
12389
|
}
|
12385
12390
|
|
12386
|
-
return a;
|
12391
|
+
return std::move(a);
|
12387
12392
|
}
|
12388
12393
|
|
12389
12394
|
Object IfStmtStatementsContextProxy::stmtAt(size_t i) {
|
@@ -12417,7 +12422,7 @@ Object IfStmtElseStatementsContextProxy::stmt() {
|
|
12417
12422
|
}
|
12418
12423
|
}
|
12419
12424
|
|
12420
|
-
return a;
|
12425
|
+
return std::move(a);
|
12421
12426
|
}
|
12422
12427
|
|
12423
12428
|
Object IfStmtElseStatementsContextProxy::stmtAt(size_t i) {
|
@@ -12756,7 +12761,7 @@ Object ReferenceClauseContextProxy::resourceOrRename() {
|
|
12756
12761
|
}
|
12757
12762
|
}
|
12758
12763
|
|
12759
|
-
return a;
|
12764
|
+
return std::move(a);
|
12760
12765
|
}
|
12761
12766
|
|
12762
12767
|
Object ReferenceClauseContextProxy::resourceOrRenameAt(size_t i) {
|
@@ -12840,7 +12845,7 @@ Object UseClauseContextProxy::namedTypeOrRename() {
|
|
12840
12845
|
}
|
12841
12846
|
}
|
12842
12847
|
|
12843
|
-
return a;
|
12848
|
+
return std::move(a);
|
12844
12849
|
}
|
12845
12850
|
|
12846
12851
|
Object UseClauseContextProxy::namedTypeOrRenameAt(size_t i) {
|
@@ -12924,7 +12929,7 @@ Object IntervalContextProxy::intervalOp() {
|
|
12924
12929
|
}
|
12925
12930
|
}
|
12926
12931
|
|
12927
|
-
return a;
|
12932
|
+
return std::move(a);
|
12928
12933
|
}
|
12929
12934
|
|
12930
12935
|
Object IntervalContextProxy::intervalOpAt(size_t i) {
|
@@ -13398,7 +13403,7 @@ Object LocalVariableContextProxy::variableId() {
|
|
13398
13403
|
}
|
13399
13404
|
}
|
13400
13405
|
|
13401
|
-
return a;
|
13406
|
+
return std::move(a);
|
13402
13407
|
}
|
13403
13408
|
|
13404
13409
|
Object LocalVariableContextProxy::variableIdAt(size_t i) {
|
@@ -13662,7 +13667,7 @@ Object OneOfContextProxy::supertypeExpression() {
|
|
13662
13667
|
}
|
13663
13668
|
}
|
13664
13669
|
|
13665
|
-
return a;
|
13670
|
+
return std::move(a);
|
13666
13671
|
}
|
13667
13672
|
|
13668
13673
|
Object OneOfContextProxy::supertypeExpressionAt(size_t i) {
|
@@ -13711,7 +13716,7 @@ Object SupertypeExpressionContextProxy::supertypeFactor() {
|
|
13711
13716
|
}
|
13712
13717
|
}
|
13713
13718
|
|
13714
|
-
return a;
|
13719
|
+
return std::move(a);
|
13715
13720
|
}
|
13716
13721
|
|
13717
13722
|
Object SupertypeExpressionContextProxy::supertypeFactorAt(size_t i) {
|
@@ -13738,7 +13743,7 @@ Object SupertypeExpressionContextProxy::ANDOR() {
|
|
13738
13743
|
Array a;
|
13739
13744
|
|
13740
13745
|
if (orig == nullptr) {
|
13741
|
-
return a;
|
13746
|
+
return std::move(a);
|
13742
13747
|
}
|
13743
13748
|
|
13744
13749
|
auto vec = ((ExpressParser::SupertypeExpressionContext*)orig) -> ANDOR();
|
@@ -13748,7 +13753,7 @@ Object SupertypeExpressionContextProxy::ANDOR() {
|
|
13748
13753
|
a.push(detail::To_Ruby<TerminalNodeProxy>().convert(proxy));
|
13749
13754
|
}
|
13750
13755
|
|
13751
|
-
return a;
|
13756
|
+
return std::move(a);
|
13752
13757
|
}
|
13753
13758
|
|
13754
13759
|
Object SupertypeExpressionContextProxy::ANDORAt(size_t i) {
|
@@ -13857,7 +13862,7 @@ Object PrimaryContextProxy::qualifier() {
|
|
13857
13862
|
}
|
13858
13863
|
}
|
13859
13864
|
|
13860
|
-
return a;
|
13865
|
+
return std::move(a);
|
13861
13866
|
}
|
13862
13867
|
|
13863
13868
|
Object PrimaryContextProxy::qualifierAt(size_t i) {
|
@@ -14071,7 +14076,7 @@ Object ProcedureHeadContextProxy::procedureHeadParameter() {
|
|
14071
14076
|
}
|
14072
14077
|
}
|
14073
14078
|
|
14074
|
-
return a;
|
14079
|
+
return std::move(a);
|
14075
14080
|
}
|
14076
14081
|
|
14077
14082
|
Object ProcedureHeadContextProxy::procedureHeadParameterAt(size_t i) {
|
@@ -14665,7 +14670,7 @@ Object RepeatStmtContextProxy::stmt() {
|
|
14665
14670
|
}
|
14666
14671
|
}
|
14667
14672
|
|
14668
|
-
return a;
|
14673
|
+
return std::move(a);
|
14669
14674
|
}
|
14670
14675
|
|
14671
14676
|
Object RepeatStmtContextProxy::stmtAt(size_t i) {
|
@@ -14924,7 +14929,7 @@ Object RuleDeclContextProxy::stmt() {
|
|
14924
14929
|
}
|
14925
14930
|
}
|
14926
14931
|
|
14927
|
-
return a;
|
14932
|
+
return std::move(a);
|
14928
14933
|
}
|
14929
14934
|
|
14930
14935
|
Object RuleDeclContextProxy::stmtAt(size_t i) {
|
@@ -14993,7 +14998,7 @@ Object RuleHeadContextProxy::entityRef() {
|
|
14993
14998
|
}
|
14994
14999
|
}
|
14995
15000
|
|
14996
|
-
return a;
|
15001
|
+
return std::move(a);
|
14997
15002
|
}
|
14998
15003
|
|
14999
15004
|
Object RuleHeadContextProxy::entityRefAt(size_t i) {
|
@@ -15057,7 +15062,7 @@ Object SchemaBodyContextProxy::interfaceSpecification() {
|
|
15057
15062
|
}
|
15058
15063
|
}
|
15059
15064
|
|
15060
|
-
return a;
|
15065
|
+
return std::move(a);
|
15061
15066
|
}
|
15062
15067
|
|
15063
15068
|
Object SchemaBodyContextProxy::interfaceSpecificationAt(size_t i) {
|
@@ -15111,7 +15116,7 @@ Object SchemaBodyContextProxy::schemaBodyDeclaration() {
|
|
15111
15116
|
}
|
15112
15117
|
}
|
15113
15118
|
|
15114
|
-
return a;
|
15119
|
+
return std::move(a);
|
15115
15120
|
}
|
15116
15121
|
|
15117
15122
|
Object SchemaBodyContextProxy::schemaBodyDeclarationAt(size_t i) {
|
@@ -15365,7 +15370,7 @@ Object SelectListContextProxy::namedTypes() {
|
|
15365
15370
|
}
|
15366
15371
|
}
|
15367
15372
|
|
15368
|
-
return a;
|
15373
|
+
return std::move(a);
|
15369
15374
|
}
|
15370
15375
|
|
15371
15376
|
Object SelectListContextProxy::namedTypesAt(size_t i) {
|
@@ -15399,7 +15404,7 @@ Object TermContextProxy::factor() {
|
|
15399
15404
|
}
|
15400
15405
|
}
|
15401
15406
|
|
15402
|
-
return a;
|
15407
|
+
return std::move(a);
|
15403
15408
|
}
|
15404
15409
|
|
15405
15410
|
Object TermContextProxy::factorAt(size_t i) {
|
@@ -15433,7 +15438,7 @@ Object TermContextProxy::multiplicationLikeOp() {
|
|
15433
15438
|
}
|
15434
15439
|
}
|
15435
15440
|
|
15436
|
-
return a;
|
15441
|
+
return std::move(a);
|
15437
15442
|
}
|
15438
15443
|
|
15439
15444
|
Object TermContextProxy::multiplicationLikeOpAt(size_t i) {
|
@@ -15672,7 +15677,7 @@ Object SubtypeDeclarationContextProxy::entityRef() {
|
|
15672
15677
|
}
|
15673
15678
|
}
|
15674
15679
|
|
15675
|
-
return a;
|
15680
|
+
return std::move(a);
|
15676
15681
|
}
|
15677
15682
|
|
15678
15683
|
Object SubtypeDeclarationContextProxy::entityRefAt(size_t i) {
|
@@ -15796,7 +15801,7 @@ Object TotalOverContextProxy::entityRef() {
|
|
15796
15801
|
}
|
15797
15802
|
}
|
15798
15803
|
|
15799
|
-
return a;
|
15804
|
+
return std::move(a);
|
15800
15805
|
}
|
15801
15806
|
|
15802
15807
|
Object TotalOverContextProxy::entityRefAt(size_t i) {
|
@@ -15950,7 +15955,7 @@ Object SupertypeFactorContextProxy::supertypeTerm() {
|
|
15950
15955
|
}
|
15951
15956
|
}
|
15952
15957
|
|
15953
|
-
return a;
|
15958
|
+
return std::move(a);
|
15954
15959
|
}
|
15955
15960
|
|
15956
15961
|
Object SupertypeFactorContextProxy::supertypeTermAt(size_t i) {
|
@@ -15977,7 +15982,7 @@ Object SupertypeFactorContextProxy::AND() {
|
|
15977
15982
|
Array a;
|
15978
15983
|
|
15979
15984
|
if (orig == nullptr) {
|
15980
|
-
return a;
|
15985
|
+
return std::move(a);
|
15981
15986
|
}
|
15982
15987
|
|
15983
15988
|
auto vec = ((ExpressParser::SupertypeFactorContext*)orig) -> AND();
|
@@ -15987,7 +15992,7 @@ Object SupertypeFactorContextProxy::AND() {
|
|
15987
15992
|
a.push(detail::To_Ruby<TerminalNodeProxy>().convert(proxy));
|
15988
15993
|
}
|
15989
15994
|
|
15990
|
-
return a;
|
15995
|
+
return std::move(a);
|
15991
15996
|
}
|
15992
15997
|
|
15993
15998
|
Object SupertypeFactorContextProxy::ANDAt(size_t i) {
|
@@ -16076,7 +16081,7 @@ Object SyntaxContextProxy::schemaDecl() {
|
|
16076
16081
|
}
|
16077
16082
|
}
|
16078
16083
|
|
16079
|
-
return a;
|
16084
|
+
return std::move(a);
|
16080
16085
|
}
|
16081
16086
|
|
16082
16087
|
Object SyntaxContextProxy::schemaDeclAt(size_t i) {
|
@@ -16165,7 +16170,7 @@ Object UniqueRuleContextProxy::referencedAttribute() {
|
|
16165
16170
|
}
|
16166
16171
|
}
|
16167
16172
|
|
16168
|
-
return a;
|
16173
|
+
return std::move(a);
|
16169
16174
|
}
|
16170
16175
|
|
16171
16176
|
Object UniqueRuleContextProxy::referencedAttributeAt(size_t i) {
|
@@ -16235,12 +16240,20 @@ public:
|
|
16235
16240
|
|
16236
16241
|
Object ruby_visit(ContextProxy* proxy) {
|
16237
16242
|
auto result = visit(proxy -> getOriginal());
|
16238
|
-
|
16243
|
+
try {
|
16244
|
+
return std::any_cast<Object>(result);
|
16245
|
+
} catch(std::bad_cast) {
|
16246
|
+
return Qnil;
|
16247
|
+
}
|
16239
16248
|
}
|
16240
16249
|
|
16241
16250
|
Object ruby_visitChildren(ContextProxy* proxy) {
|
16242
16251
|
auto result = visitChildren(proxy -> getOriginal());
|
16243
|
-
|
16252
|
+
try {
|
16253
|
+
return std::any_cast<Object>(result);
|
16254
|
+
} catch(std::bad_cast) {
|
16255
|
+
return Qnil;
|
16256
|
+
}
|
16244
16257
|
}
|
16245
16258
|
|
16246
16259
|
virtual antlrcpp::Any visitAttributeRef(ExpressParser::AttributeRefContext *ctx) override {
|
@@ -17267,18 +17280,6 @@ public:
|
|
17267
17280
|
return detail::To_Ruby<SyntaxContextProxy>().convert(proxy);
|
17268
17281
|
}
|
17269
17282
|
|
17270
|
-
Array getTokens() {
|
17271
|
-
Array a;
|
17272
|
-
|
17273
|
-
std::vector<Token*> tokens = this -> tokens -> getTokens();
|
17274
|
-
|
17275
|
-
for (auto &token : tokens) {
|
17276
|
-
a.push(token);
|
17277
|
-
}
|
17278
|
-
|
17279
|
-
return a;
|
17280
|
-
}
|
17281
|
-
|
17282
17283
|
Object visit(VisitorProxy* visitor) {
|
17283
17284
|
auto result = visitor -> visit(this -> parser -> syntax());
|
17284
17285
|
|
@@ -17286,7 +17287,7 @@ public:
|
|
17286
17287
|
this -> lexer -> reset();
|
17287
17288
|
this -> parser -> reset();
|
17288
17289
|
|
17289
|
-
return result;
|
17290
|
+
return std::any_cast<Object>(result);
|
17290
17291
|
}
|
17291
17292
|
|
17292
17293
|
~ParserProxy() {
|
@@ -18133,10 +18134,63 @@ Object ContextProxy::wrapParseTree(tree::ParseTree* node) {
|
|
18133
18134
|
}
|
18134
18135
|
}
|
18135
18136
|
|
18137
|
+
class ParserProxyExt : public Object {
|
18138
|
+
public:
|
18139
|
+
ParserProxyExt(Object self, string file) {
|
18140
|
+
ifstream stream;
|
18141
|
+
stream.open(file);
|
18142
|
+
input = new ANTLRInputStream(stream);
|
18143
|
+
lexer = new ExpressLexer(input);
|
18144
|
+
tokens = new CommonTokenStream(lexer);
|
18145
|
+
parser = new ExpressParser(tokens);
|
18146
|
+
stream.close();
|
18147
|
+
};
|
18148
|
+
|
18149
|
+
~ParserProxyExt() {
|
18150
|
+
delete parser;
|
18151
|
+
delete tokens;
|
18152
|
+
delete lexer;
|
18153
|
+
delete input;
|
18154
|
+
}
|
18155
|
+
|
18156
|
+
Object syntax() {
|
18157
|
+
auto ctx = parser -> syntax();
|
18158
|
+
|
18159
|
+
SyntaxContextProxy proxy((ExpressParser::SyntaxContext*) ctx);
|
18160
|
+
return detail::To_Ruby<SyntaxContextProxy>().convert(proxy);
|
18161
|
+
}
|
18162
|
+
|
18163
|
+
Array getTokens() {
|
18164
|
+
Array a;
|
18165
|
+
for (auto token : tokens -> getTokens()) {
|
18166
|
+
a.push(new TokenProxy(token));
|
18167
|
+
}
|
18168
|
+
return a;
|
18169
|
+
}
|
18170
|
+
|
18171
|
+
Object visit(VisitorProxy* visitor) {
|
18172
|
+
auto result = visitor -> visit(parser -> syntax());
|
18173
|
+
|
18174
|
+
lexer -> reset();
|
18175
|
+
parser -> reset();
|
18176
|
+
|
18177
|
+
try {
|
18178
|
+
return std::any_cast<Object>(result);
|
18179
|
+
} catch(std::bad_cast) {
|
18180
|
+
return Qnil;
|
18181
|
+
}
|
18182
|
+
}
|
18183
|
+
|
18184
|
+
private:
|
18185
|
+
ANTLRInputStream* input;
|
18186
|
+
ExpressLexer* lexer;
|
18187
|
+
CommonTokenStream* tokens;
|
18188
|
+
ExpressParser* parser;
|
18189
|
+
};
|
18136
18190
|
|
18137
18191
|
extern "C"
|
18138
18192
|
void Init_express_parser() {
|
18139
|
-
rb_mExpressParser = define_module("ExpressParser");
|
18193
|
+
Module rb_mExpressParser = define_module("ExpressParser");
|
18140
18194
|
|
18141
18195
|
rb_cToken = define_class_under<Token>(rb_mExpressParser, "Token")
|
18142
18196
|
.define_method("text", &Token::getText)
|
@@ -18364,9 +18418,19 @@ void Init_express_parser() {
|
|
18364
18418
|
rb_cParser = define_class_under<ParserProxy>(rb_mExpressParser, "Parser")
|
18365
18419
|
.define_singleton_function("parse", &ParserProxy::parse)
|
18366
18420
|
.define_singleton_function("parse_file", &ParserProxy::parseFile)
|
18367
|
-
.define_method("syntax", &ParserProxy::syntax)
|
18368
|
-
.define_method("
|
18369
|
-
|
18421
|
+
.define_method("syntax", &ParserProxy::syntax, Return().keepAlive())
|
18422
|
+
.define_method("visit", &ParserProxy::visit, Return().keepAlive());
|
18423
|
+
|
18424
|
+
rb_cTokenExt = define_class_under<TokenProxy>(rb_mExpressParser, "TokenExt")
|
18425
|
+
.define_method("text", &TokenProxy::getText)
|
18426
|
+
.define_method("channel", &TokenProxy::getChannel)
|
18427
|
+
.define_method("token_index", &TokenProxy::getTokenIndex);
|
18428
|
+
|
18429
|
+
rb_cParserExt = define_class_under<ParserProxyExt>(rb_mExpressParser, "ParserExt")
|
18430
|
+
.define_constructor(Constructor<ParserProxyExt, Object, string>())
|
18431
|
+
.define_method("syntax", &ParserProxyExt::syntax, Return().keepAlive())
|
18432
|
+
.define_method("tokens", &ParserProxyExt::getTokens)
|
18433
|
+
.define_method("visit", &ParserProxyExt::visit, Return().keepAlive());
|
18370
18434
|
|
18371
18435
|
rb_cAttributeRefContext = define_class_under<AttributeRefContextProxy, ContextProxy>(rb_mExpressParser, "AttributeRefContext")
|
18372
18436
|
.define_method("attribute_id", &AttributeRefContextProxy::attributeId);
|