expressir 0.2.2 → 0.2.7
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 +30 -0
- data/.github/workflows/rake.yml +45 -0
- data/.github/workflows/release.yml +84 -0
- data/.gitignore +4 -2
- data/.gitmodules +3 -0
- data/Rakefile +5 -0
- data/exe/generate-parser +48 -0
- data/expressir.gemspec +12 -4
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +118 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj +637 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj.filters +984 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj +652 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj.filters +990 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj +652 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj.filters +990 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +652 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +990 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/Info.plist +26 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/antlrcpp_ios.h +17 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +3024 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4.xcscheme +76 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_ios.xcscheme +80 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +80 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +10 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.h +167 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +10 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +121 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +34 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +27 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +155 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +69 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +61 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.h +59 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.cpp +25 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.h +36 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +414 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.h +200 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.cpp +11 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.h +37 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +195 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.h +158 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +39 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +74 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.cpp +78 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.h +79 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +15 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.h +35 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +333 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +466 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +84 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +80 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +64 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +99 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +51 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +32 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.cpp +18 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.h +24 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.cpp +12 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +218 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +19 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.h +45 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +295 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +196 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +75 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +52 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +36 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.h +31 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +92 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +88 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.cpp +46 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.h +42 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +648 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +467 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +306 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +179 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +141 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +147 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +53 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.h +38 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +66 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.h +98 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +167 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +164 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +143 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +137 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +27 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +32 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +53 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.h +155 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.cpp +9 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +92 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenFactory.h +30 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.cpp +9 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +85 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.cpp +11 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.h +137 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +425 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +293 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +211 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +123 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +270 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +115 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +104 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +193 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.cpp +9 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.h +23 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +137 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +167 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +209 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +112 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +113 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +148 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +228 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +110 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +64 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +50 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +758 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +85 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.cpp +621 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.h +61 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +63 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +87 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +72 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +133 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNType.h +20 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.cpp +14 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.h +24 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +33 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +33 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +16 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +68 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +82 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +43 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +31 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +30 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.cpp +12 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +22 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.cpp +12 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +21 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.cpp +15 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +24 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.cpp +9 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +21 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +14 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +47 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +14 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +70 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +25 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +227 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +17 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +30 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.cpp +35 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.h +27 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +35 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +39 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +15 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.h +43 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +158 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +109 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +84 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +44 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +628 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +210 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +9 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +66 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +107 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +115 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +55 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +55 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +63 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +62 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +87 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +63 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +82 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +56 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +61 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +47 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +57 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +47 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +57 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +56 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +61 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +47 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +55 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +56 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +55 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +16 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +42 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.cpp +12 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +22 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Makefile +67 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +27 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +25 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +12 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +20 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +102 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.h +102 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +1366 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +904 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.cpp +12 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +25 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.cpp +12 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +22 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +32 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +29 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +17 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +62 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +34 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +39 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +662 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +254 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +201 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +436 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +179 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +60 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +30 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +29 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.cpp +16 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +25 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.cpp +12 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +25 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +37 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +40 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +377 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +222 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +32 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +30 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +81 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +36 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.cpp +12 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +21 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.cpp +15 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +35 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +19 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +21 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.cpp +12 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +21 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +44 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +76 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +25 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +25 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +127 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +91 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +67 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +32 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +100 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +144 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +20 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +23 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +124 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +31 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +89 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +84 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +521 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +198 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +134 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +76 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.cpp +4 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.h +21 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +13 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +170 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +43 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +110 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +76 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +248 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +78 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +163 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +36 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +54 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.cpp +303 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.h +112 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +128 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.cpp +9 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +19 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +23 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +33 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +71 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +53 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +15 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +102 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +9 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +39 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +50 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +9 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +57 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +49 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +31 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.cpp +9 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +32 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +57 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +33 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +241 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.h +78 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +9 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +44 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +69 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +132 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +64 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +105 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +371 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +185 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +77 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +117 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +39 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +86 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +28 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +51 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +36 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +80 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +154 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.h +86 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +31 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +40 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +173 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.g4 +64 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +56 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.tokens +12 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +13 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +22 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +20 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +27 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +30 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +26 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +20 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +25 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +33 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +26 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +23 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +23 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +24 -0
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +23 -0
- data/ext/express-parser/antlrgen/Express.interp +532 -0
- data/ext/express-parser/antlrgen/Express.tokens +190 -0
- data/ext/express-parser/antlrgen/ExpressBaseListener.cpp +7 -0
- data/ext/express-parser/antlrgen/ExpressBaseListener.h +623 -0
- data/ext/express-parser/antlrgen/ExpressBaseVisitor.cpp +7 -0
- data/ext/express-parser/antlrgen/ExpressBaseVisitor.h +816 -0
- data/ext/express-parser/antlrgen/ExpressLexer.cpp +1169 -0
- data/ext/express-parser/antlrgen/ExpressLexer.h +85 -0
- data/ext/express-parser/antlrgen/ExpressLexer.interp +534 -0
- data/ext/express-parser/antlrgen/ExpressLexer.tokens +190 -0
- data/ext/express-parser/antlrgen/ExpressListener.cpp +7 -0
- data/ext/express-parser/antlrgen/ExpressListener.h +616 -0
- data/ext/express-parser/antlrgen/ExpressParser.cpp +17284 -0
- data/ext/express-parser/antlrgen/ExpressParser.h +3696 -0
- data/ext/express-parser/antlrgen/ExpressVisitor.cpp +7 -0
- data/ext/express-parser/antlrgen/ExpressVisitor.h +422 -0
- data/ext/express-parser/express_parser.cpp +17933 -0
- data/ext/express-parser/extconf.rb +57 -0
- data/lib/expressir/express_exp/formatter.rb +1450 -0
- data/lib/expressir/express_exp/parser.rb +17 -6
- data/lib/expressir/express_exp/visitor.rb +1527 -1197
- data/lib/expressir/model.rb +16 -42
- data/lib/expressir/model/{derived.rb → attribute.rb} +12 -4
- data/lib/expressir/model/constant.rb +3 -3
- data/lib/expressir/model/entity.rb +24 -19
- data/lib/expressir/model/enumeration_item.rb +1 -3
- data/lib/expressir/model/expressions/aggregate_initializer.rb +9 -9
- data/lib/expressir/model/expressions/aggregate_item.rb +15 -0
- data/lib/expressir/model/expressions/{attribute_qualifier.rb → attribute_reference.rb} +3 -1
- data/lib/expressir/model/expressions/binary_expression.rb +40 -0
- data/lib/expressir/model/expressions/{function_call.rb → call.rb} +3 -3
- data/lib/expressir/model/expressions/entity_constructor.rb +11 -11
- data/lib/expressir/model/expressions/{group_qualifier.rb → group_reference.rb} +3 -1
- data/lib/expressir/model/expressions/{index_qualifier.rb → index_reference.rb} +3 -1
- data/lib/expressir/model/expressions/interval.rb +17 -17
- data/lib/expressir/model/expressions/query_expression.rb +26 -0
- data/lib/expressir/model/expressions/simple_reference.rb +13 -0
- data/lib/expressir/model/expressions/{expression.rb → unary_expression.rb} +7 -3
- data/lib/expressir/model/function.rb +16 -8
- data/lib/expressir/model/identifier.rb +10 -0
- data/lib/expressir/model/{reference.rb → interface.rb} +6 -1
- data/lib/expressir/model/literals/logical.rb +4 -0
- data/lib/expressir/model/parameter.rb +5 -5
- data/lib/expressir/model/procedure.rb +16 -8
- data/lib/expressir/model/repository.rb +3 -1
- data/lib/expressir/model/rule.rb +18 -10
- data/lib/expressir/model/schema.rb +24 -8
- data/lib/expressir/model/scope.rb +17 -0
- data/lib/expressir/model/statements/alias.rb +5 -4
- data/lib/expressir/model/statements/{procedure_call.rb → call.rb} +3 -3
- data/lib/expressir/model/statements/case.rb +2 -2
- data/lib/expressir/model/statements/case_action.rb +2 -2
- data/lib/expressir/model/statements/repeat.rb +5 -4
- data/lib/expressir/model/subtype_constraint.rb +13 -7
- data/lib/expressir/model/type.rb +5 -4
- data/lib/expressir/model/types/aggregate.rb +4 -4
- data/lib/expressir/model/types/generic.rb +2 -4
- data/lib/expressir/model/types/generic_entity.rb +2 -4
- data/lib/expressir/model/unique.rb +3 -3
- data/lib/expressir/model/{local.rb → variable.rb} +4 -4
- data/lib/expressir/model/where.rb +3 -3
- data/lib/expressir/version.rb +1 -1
- data/original/examples/syntax/remark.exp +127 -108
- data/original/examples/syntax/remark_formatted.exp +175 -0
- data/original/examples/syntax/syntax.exp +288 -277
- data/original/examples/syntax/syntax_formatted.exp +1191 -0
- data/rakelib/cross-ruby.rake +308 -0
- data/spec/expressir/express_exp/ap233_spec.rb +1 -1
- data/spec/expressir/express_exp/format_remark_spec.rb +28 -0
- data/spec/expressir/express_exp/format_syntax_spec.rb +28 -0
- data/spec/expressir/express_exp/{remark_spec.rb → parse_remark_spec.rb} +81 -36
- data/spec/expressir/express_exp/parse_syntax_spec.rb +3003 -0
- data/spec/expressir/model/find_spec.rb +110 -0
- metadata +429 -66
- data/.github/workflows/macos.yml +0 -38
- data/.github/workflows/ubuntu.yml +0 -56
- data/.github/workflows/windows.yml +0 -40
- data/generate-parser.sh +0 -29
- data/lib/expressir/express_exp/generated/ExpressBaseVisitor.rb +0 -779
- data/lib/expressir/express_exp/generated/ExpressLexer.rb +0 -844
- data/lib/expressir/express_exp/generated/ExpressParser.rb +0 -12162
- data/lib/expressir/express_exp/generated/ExpressVisitor.rb +0 -394
- data/lib/expressir/model/explicit.rb +0 -19
- data/lib/expressir/model/expressions/aggregate_element.rb +0 -15
- data/lib/expressir/model/expressions/qualified_ref.rb +0 -15
- data/lib/expressir/model/expressions/query.rb +0 -25
- data/lib/expressir/model/inverse.rb +0 -19
- data/lib/expressir/model/operators/addition.rb +0 -8
- data/lib/expressir/model/operators/and.rb +0 -8
- data/lib/expressir/model/operators/andor.rb +0 -8
- data/lib/expressir/model/operators/combine.rb +0 -8
- data/lib/expressir/model/operators/equal.rb +0 -8
- data/lib/expressir/model/operators/exponentiation.rb +0 -8
- data/lib/expressir/model/operators/greater_than.rb +0 -8
- data/lib/expressir/model/operators/greater_than_or_equal.rb +0 -8
- data/lib/expressir/model/operators/in.rb +0 -8
- data/lib/expressir/model/operators/instance_equal.rb +0 -8
- data/lib/expressir/model/operators/instance_not_equal.rb +0 -8
- data/lib/expressir/model/operators/integer_division.rb +0 -8
- data/lib/expressir/model/operators/less_than.rb +0 -8
- data/lib/expressir/model/operators/less_than_or_equal.rb +0 -8
- data/lib/expressir/model/operators/like.rb +0 -8
- data/lib/expressir/model/operators/modulo.rb +0 -8
- data/lib/expressir/model/operators/multiplication.rb +0 -8
- data/lib/expressir/model/operators/not.rb +0 -8
- data/lib/expressir/model/operators/not_equal.rb +0 -8
- data/lib/expressir/model/operators/oneof.rb +0 -8
- data/lib/expressir/model/operators/or.rb +0 -8
- data/lib/expressir/model/operators/real_division.rb +0 -8
- data/lib/expressir/model/operators/subtraction.rb +0 -8
- data/lib/expressir/model/operators/unary_minus.rb +0 -8
- data/lib/expressir/model/operators/unary_plus.rb +0 -8
- data/lib/expressir/model/operators/xor.rb +0 -8
- data/lib/expressir/model/ref.rb +0 -11
- data/lib/expressir/model/use.rb +0 -13
- data/spec/expressir/express_exp/syntax_spec.rb +0 -2992
@@ -0,0 +1,137 @@
|
|
1
|
+
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
|
2
|
+
* Use of this file is governed by the BSD 3-clause license that
|
3
|
+
* can be found in the LICENSE.txt file in the project root.
|
4
|
+
*/
|
5
|
+
|
6
|
+
#pragma once
|
7
|
+
|
8
|
+
#include "tree/ParseTree.h"
|
9
|
+
|
10
|
+
namespace antlr4 {
|
11
|
+
|
12
|
+
/** A rule context is a record of a single rule invocation.
|
13
|
+
*
|
14
|
+
* We form a stack of these context objects using the parent
|
15
|
+
* pointer. A parent pointer of null indicates that the current
|
16
|
+
* context is the bottom of the stack. The ParserRuleContext subclass
|
17
|
+
* as a children list so that we can turn this data structure into a
|
18
|
+
* tree.
|
19
|
+
*
|
20
|
+
* The root node always has a null pointer and invokingState of -1.
|
21
|
+
*
|
22
|
+
* Upon entry to parsing, the first invoked rule function creates a
|
23
|
+
* context object (asubclass specialized for that rule such as
|
24
|
+
* SContext) and makes it the root of a parse tree, recorded by field
|
25
|
+
* Parser._ctx.
|
26
|
+
*
|
27
|
+
* public final SContext s() throws RecognitionException {
|
28
|
+
* SContext _localctx = new SContext(_ctx, getState()); <-- create new node
|
29
|
+
* enterRule(_localctx, 0, RULE_s); <-- push it
|
30
|
+
* ...
|
31
|
+
* exitRule(); <-- pop back to _localctx
|
32
|
+
* return _localctx;
|
33
|
+
* }
|
34
|
+
*
|
35
|
+
* A subsequent rule invocation of r from the start rule s pushes a
|
36
|
+
* new context object for r whose parent points at s and use invoking
|
37
|
+
* state is the state with r emanating as edge label.
|
38
|
+
*
|
39
|
+
* The invokingState fields from a context object to the root
|
40
|
+
* together form a stack of rule indication states where the root
|
41
|
+
* (bottom of the stack) has a -1 sentinel value. If we invoke start
|
42
|
+
* symbol s then call r1, which calls r2, the would look like
|
43
|
+
* this:
|
44
|
+
*
|
45
|
+
* SContext[-1] <- root node (bottom of the stack)
|
46
|
+
* R1Context[p] <- p in rule s called r1
|
47
|
+
* R2Context[q] <- q in rule r1 called r2
|
48
|
+
*
|
49
|
+
* So the top of the stack, _ctx, represents a call to the current
|
50
|
+
* rule and it holds the return address from another rule that invoke
|
51
|
+
* to this rule. To invoke a rule, we must always have a current context.
|
52
|
+
*
|
53
|
+
* The parent contexts are useful for computing lookahead sets and
|
54
|
+
* getting error information.
|
55
|
+
*
|
56
|
+
* These objects are used during parsing and prediction.
|
57
|
+
* For the special case of parsers, we use the subclass
|
58
|
+
* ParserRuleContext.
|
59
|
+
*
|
60
|
+
* @see ParserRuleContext
|
61
|
+
*/
|
62
|
+
class ANTLR4CPP_PUBLIC RuleContext : public tree::ParseTree {
|
63
|
+
public:
|
64
|
+
/// What state invoked the rule associated with this context?
|
65
|
+
/// The "return address" is the followState of invokingState
|
66
|
+
/// If parent is null, this should be -1 and this context object represents the start rule.
|
67
|
+
size_t invokingState;
|
68
|
+
|
69
|
+
RuleContext();
|
70
|
+
RuleContext(RuleContext *parent, size_t invokingState);
|
71
|
+
|
72
|
+
virtual int depth();
|
73
|
+
|
74
|
+
/// A context is empty if there is no invoking state; meaning nobody called current context.
|
75
|
+
virtual bool isEmpty();
|
76
|
+
|
77
|
+
// satisfy the ParseTree / SyntaxTree interface
|
78
|
+
|
79
|
+
virtual misc::Interval getSourceInterval() override;
|
80
|
+
|
81
|
+
virtual std::string getText() override;
|
82
|
+
|
83
|
+
virtual size_t getRuleIndex() const;
|
84
|
+
|
85
|
+
/** For rule associated with this parse tree internal node, return
|
86
|
+
* the outer alternative number used to match the input. Default
|
87
|
+
* implementation does not compute nor store this alt num. Create
|
88
|
+
* a subclass of ParserRuleContext with backing field and set
|
89
|
+
* option contextSuperClass.
|
90
|
+
* to set it.
|
91
|
+
*
|
92
|
+
* @since 4.5.3
|
93
|
+
*/
|
94
|
+
virtual size_t getAltNumber() const;
|
95
|
+
|
96
|
+
/** Set the outer alternative number for this context node. Default
|
97
|
+
* implementation does nothing to avoid backing field overhead for
|
98
|
+
* trees that don't need it. Create
|
99
|
+
* a subclass of ParserRuleContext with backing field and set
|
100
|
+
* option contextSuperClass.
|
101
|
+
*
|
102
|
+
* @since 4.5.3
|
103
|
+
*/
|
104
|
+
virtual void setAltNumber(size_t altNumber);
|
105
|
+
|
106
|
+
virtual antlrcpp::Any accept(tree::ParseTreeVisitor *visitor) override;
|
107
|
+
|
108
|
+
/// <summary>
|
109
|
+
/// Print out a whole tree, not just a node, in LISP format
|
110
|
+
/// (root child1 .. childN). Print just a node if this is a leaf.
|
111
|
+
/// We have to know the recognizer so we can get rule names.
|
112
|
+
/// </summary>
|
113
|
+
virtual std::string toStringTree(Parser *recog, bool pretty = false) override;
|
114
|
+
|
115
|
+
/// <summary>
|
116
|
+
/// Print out a whole tree, not just a node, in LISP format
|
117
|
+
/// (root child1 .. childN). Print just a node if this is a leaf.
|
118
|
+
/// </summary>
|
119
|
+
virtual std::string toStringTree(std::vector<std::string> &ruleNames, bool pretty = false);
|
120
|
+
|
121
|
+
virtual std::string toStringTree(bool pretty = false) override;
|
122
|
+
virtual std::string toString() override;
|
123
|
+
std::string toString(Recognizer *recog);
|
124
|
+
std::string toString(const std::vector<std::string> &ruleNames);
|
125
|
+
|
126
|
+
// recog null unless ParserRuleContext, in which case we use subclass toString(...)
|
127
|
+
std::string toString(Recognizer *recog, RuleContext *stop);
|
128
|
+
|
129
|
+
virtual std::string toString(const std::vector<std::string> &ruleNames, RuleContext *stop);
|
130
|
+
|
131
|
+
bool operator == (const RuleContext &other) { return this == &other; } // Simple address comparison.
|
132
|
+
|
133
|
+
private:
|
134
|
+
void InitializeInstanceFields();
|
135
|
+
};
|
136
|
+
|
137
|
+
} // namespace antlr4
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
|
2
|
+
* Use of this file is governed by the BSD 3-clause license that
|
3
|
+
* can be found in the LICENSE.txt file in the project root.
|
4
|
+
*/
|
5
|
+
|
6
|
+
#include "atn/ATN.h"
|
7
|
+
|
8
|
+
#include "RuleContextWithAltNum.h"
|
9
|
+
|
10
|
+
using namespace antlr4;
|
11
|
+
using namespace antlr4::atn;
|
12
|
+
|
13
|
+
RuleContextWithAltNum::RuleContextWithAltNum() : ParserRuleContext() {
|
14
|
+
altNum = ATN::INVALID_ALT_NUMBER;
|
15
|
+
}
|
16
|
+
|
17
|
+
RuleContextWithAltNum::RuleContextWithAltNum(ParserRuleContext *parent, int invokingStateNumber)
|
18
|
+
: ParserRuleContext(parent, invokingStateNumber) {
|
19
|
+
}
|
20
|
+
|
21
|
+
size_t RuleContextWithAltNum::getAltNumber() const {
|
22
|
+
return altNum;
|
23
|
+
}
|
24
|
+
|
25
|
+
void RuleContextWithAltNum::setAltNumber(size_t number) {
|
26
|
+
altNum = number;
|
27
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
|
2
|
+
* Use of this file is governed by the BSD 3-clause license that
|
3
|
+
* can be found in the LICENSE.txt file in the project root.
|
4
|
+
*/
|
5
|
+
|
6
|
+
#pragma once
|
7
|
+
|
8
|
+
#include "ParserRuleContext.h"
|
9
|
+
|
10
|
+
namespace antlr4 {
|
11
|
+
|
12
|
+
/// A handy class for use with
|
13
|
+
///
|
14
|
+
/// options {contextSuperClass=org.antlr.v4.runtime.RuleContextWithAltNum;}
|
15
|
+
///
|
16
|
+
/// that provides a backing field / impl for the outer alternative number
|
17
|
+
/// matched for an internal parse tree node.
|
18
|
+
///
|
19
|
+
/// I'm only putting into Java runtime as I'm certain I'm the only one that
|
20
|
+
/// will really every use this.
|
21
|
+
class ANTLR4CPP_PUBLIC RuleContextWithAltNum : public ParserRuleContext {
|
22
|
+
public:
|
23
|
+
size_t altNum = 0;
|
24
|
+
|
25
|
+
RuleContextWithAltNum();
|
26
|
+
RuleContextWithAltNum(ParserRuleContext *parent, int invokingStateNumber);
|
27
|
+
|
28
|
+
virtual size_t getAltNumber() const override;
|
29
|
+
virtual void setAltNumber(size_t altNum) override;
|
30
|
+
};
|
31
|
+
|
32
|
+
} // namespace antlr4
|
@@ -0,0 +1,53 @@
|
|
1
|
+
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
|
2
|
+
* Use of this file is governed by the BSD 3-clause license that
|
3
|
+
* can be found in the LICENSE.txt file in the project root.
|
4
|
+
*/
|
5
|
+
|
6
|
+
#include "RuntimeMetaData.h"
|
7
|
+
|
8
|
+
using namespace antlr4;
|
9
|
+
|
10
|
+
const std::string RuntimeMetaData::VERSION = "4.8";
|
11
|
+
|
12
|
+
std::string RuntimeMetaData::getRuntimeVersion() {
|
13
|
+
return VERSION;
|
14
|
+
}
|
15
|
+
|
16
|
+
void RuntimeMetaData::checkVersion(const std::string &generatingToolVersion, const std::string &compileTimeVersion) {
|
17
|
+
std::string runtimeVersion = VERSION;
|
18
|
+
bool runtimeConflictsWithGeneratingTool = false;
|
19
|
+
bool runtimeConflictsWithCompileTimeTool = false;
|
20
|
+
|
21
|
+
if (generatingToolVersion != "") {
|
22
|
+
runtimeConflictsWithGeneratingTool = runtimeVersion != generatingToolVersion
|
23
|
+
&& getMajorMinorVersion(runtimeVersion) != getMajorMinorVersion(generatingToolVersion);
|
24
|
+
}
|
25
|
+
|
26
|
+
runtimeConflictsWithCompileTimeTool = runtimeVersion != compileTimeVersion
|
27
|
+
&& getMajorMinorVersion(runtimeVersion) != getMajorMinorVersion(compileTimeVersion);
|
28
|
+
|
29
|
+
if (runtimeConflictsWithGeneratingTool) {
|
30
|
+
std::cerr << "ANTLR Tool version " << generatingToolVersion << " used for code generation does not match "
|
31
|
+
"the current runtime version " << runtimeVersion << std::endl;
|
32
|
+
}
|
33
|
+
if (runtimeConflictsWithCompileTimeTool) {
|
34
|
+
std::cerr << "ANTLR Runtime version " << compileTimeVersion << " used for parser compilation does not match "
|
35
|
+
"the current runtime version " << runtimeVersion << std::endl;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
std::string RuntimeMetaData::getMajorMinorVersion(const std::string &version) {
|
40
|
+
size_t firstDot = version.find('.');
|
41
|
+
size_t secondDot = firstDot != std::string::npos ? version.find('.', firstDot + 1) : std::string::npos;
|
42
|
+
size_t firstDash = version.find('-');
|
43
|
+
size_t referenceLength = version.size();
|
44
|
+
if (secondDot != std::string::npos) {
|
45
|
+
referenceLength = std::min(referenceLength, secondDot);
|
46
|
+
}
|
47
|
+
|
48
|
+
if (firstDash != std::string::npos) {
|
49
|
+
referenceLength = std::min(referenceLength, firstDash);
|
50
|
+
}
|
51
|
+
|
52
|
+
return version.substr(0, referenceLength);
|
53
|
+
}
|
@@ -0,0 +1,155 @@
|
|
1
|
+
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
|
2
|
+
* Use of this file is governed by the BSD 3-clause license that
|
3
|
+
* can be found in the LICENSE.txt file in the project root.
|
4
|
+
*/
|
5
|
+
|
6
|
+
#pragma once
|
7
|
+
|
8
|
+
#include "antlr4-common.h"
|
9
|
+
|
10
|
+
namespace antlr4 {
|
11
|
+
|
12
|
+
/// <summary>
|
13
|
+
/// This class provides access to the current version of the ANTLR 4 runtime
|
14
|
+
/// library as compile-time and runtime constants, along with methods for
|
15
|
+
/// checking for matching version numbers and notifying listeners in the case
|
16
|
+
/// where a version mismatch is detected.
|
17
|
+
///
|
18
|
+
/// <para>
|
19
|
+
/// The runtime version information is provided by <seealso cref="#VERSION"/> and
|
20
|
+
/// <seealso cref="#getRuntimeVersion()"/>. Detailed information about these values is
|
21
|
+
/// provided in the documentation for each member.</para>
|
22
|
+
///
|
23
|
+
/// <para>
|
24
|
+
/// The runtime version check is implemented by <seealso cref="#checkVersion"/>. Detailed
|
25
|
+
/// information about incorporating this call into user code, as well as its use
|
26
|
+
/// in generated code, is provided in the documentation for the method.</para>
|
27
|
+
///
|
28
|
+
/// <para>
|
29
|
+
/// Version strings x.y and x.y.z are considered "compatible" and no error
|
30
|
+
/// would be generated. Likewise, version strings x.y-SNAPSHOT and x.y.z are
|
31
|
+
/// considered "compatible" because the major and minor components x.y
|
32
|
+
/// are the same in each.</para>
|
33
|
+
///
|
34
|
+
/// <para>
|
35
|
+
/// To trap any error messages issued by this code, use System.setErr()
|
36
|
+
/// in your main() startup code.
|
37
|
+
/// </para>
|
38
|
+
///
|
39
|
+
/// @since 4.3
|
40
|
+
/// </summary>
|
41
|
+
class ANTLR4CPP_PUBLIC RuntimeMetaData {
|
42
|
+
public:
|
43
|
+
/// A compile-time constant containing the current version of the ANTLR 4
|
44
|
+
/// runtime library.
|
45
|
+
///
|
46
|
+
/// <para>
|
47
|
+
/// This compile-time constant value allows generated parsers and other
|
48
|
+
/// libraries to include a literal reference to the version of the ANTLR 4
|
49
|
+
/// runtime library the code was compiled against. At each release, we
|
50
|
+
/// change this value.</para>
|
51
|
+
///
|
52
|
+
/// <para>Version numbers are assumed to have the form
|
53
|
+
///
|
54
|
+
/// <em>major</em>.<em>minor</em>.<em>patch</em>.<em>revision</em>-<em>suffix</em>,
|
55
|
+
///
|
56
|
+
/// with the individual components defined as follows.</para>
|
57
|
+
///
|
58
|
+
/// <ul>
|
59
|
+
/// <li><em>major</em> is a required non-negative integer, and is equal to
|
60
|
+
/// {@code 4} for ANTLR 4.</li>
|
61
|
+
/// <li><em>minor</em> is a required non-negative integer.</li>
|
62
|
+
/// <li><em>patch</em> is an optional non-negative integer. When
|
63
|
+
/// <em>patch</em> is omitted, the {@code .} (dot) appearing before it is
|
64
|
+
/// also omitted.</li>
|
65
|
+
/// <li><em>revision</em> is an optional non-negative integer, and may only
|
66
|
+
/// be included when <em>patch</em> is also included. When <em>revision</em>
|
67
|
+
/// is omitted, the {@code .} (dot) appearing before it is also omitted.</li>
|
68
|
+
/// <li><em>suffix</em> is an optional string. When <em>suffix</em> is
|
69
|
+
/// omitted, the {@code -} (hyphen-minus) appearing before it is also
|
70
|
+
/// omitted.</li>
|
71
|
+
/// </ul>
|
72
|
+
static const std::string VERSION;
|
73
|
+
|
74
|
+
/// <summary>
|
75
|
+
/// Gets the currently executing version of the ANTLR 4 runtime library.
|
76
|
+
///
|
77
|
+
/// <para>
|
78
|
+
/// This method provides runtime access to the <seealso cref="#VERSION"/> field, as
|
79
|
+
/// opposed to directly referencing the field as a compile-time constant.</para>
|
80
|
+
/// </summary>
|
81
|
+
/// <returns> The currently executing version of the ANTLR 4 library </returns>
|
82
|
+
|
83
|
+
static std::string getRuntimeVersion();
|
84
|
+
|
85
|
+
/// <summary>
|
86
|
+
/// This method provides the ability to detect mismatches between the version
|
87
|
+
/// of ANTLR 4 used to generate a parser, the version of the ANTLR runtime a
|
88
|
+
/// parser was compiled against, and the version of the ANTLR runtime which
|
89
|
+
/// is currently executing.
|
90
|
+
///
|
91
|
+
/// <para>
|
92
|
+
/// The version check is designed to detect the following two specific
|
93
|
+
/// scenarios.</para>
|
94
|
+
///
|
95
|
+
/// <ul>
|
96
|
+
/// <li>The ANTLR Tool version used for code generation does not match the
|
97
|
+
/// currently executing runtime version.</li>
|
98
|
+
/// <li>The ANTLR Runtime version referenced at the time a parser was
|
99
|
+
/// compiled does not match the currently executing runtime version.</li>
|
100
|
+
/// </ul>
|
101
|
+
///
|
102
|
+
/// <para>
|
103
|
+
/// Starting with ANTLR 4.3, the code generator emits a call to this method
|
104
|
+
/// using two constants in each generated lexer and parser: a hard-coded
|
105
|
+
/// constant indicating the version of the tool used to generate the parser
|
106
|
+
/// and a reference to the compile-time constant <seealso cref="#VERSION"/>. At
|
107
|
+
/// runtime, this method is called during the initialization of the generated
|
108
|
+
/// parser to detect mismatched versions, and notify the registered listeners
|
109
|
+
/// prior to creating instances of the parser.</para>
|
110
|
+
///
|
111
|
+
/// <para>
|
112
|
+
/// This method does not perform any detection or filtering of semantic
|
113
|
+
/// changes between tool and runtime versions. It simply checks for a
|
114
|
+
/// version match and emits an error to stderr if a difference
|
115
|
+
/// is detected.</para>
|
116
|
+
///
|
117
|
+
/// <para>
|
118
|
+
/// Note that some breaking changes between releases could result in other
|
119
|
+
/// types of runtime exceptions, such as a <seealso cref="LinkageError"/>, prior to
|
120
|
+
/// calling this method. In these cases, the underlying version mismatch will
|
121
|
+
/// not be reported here. This method is primarily intended to
|
122
|
+
/// notify users of potential semantic changes between releases that do not
|
123
|
+
/// result in binary compatibility problems which would be detected by the
|
124
|
+
/// class loader. As with semantic changes, changes that break binary
|
125
|
+
/// compatibility between releases are mentioned in the release notes
|
126
|
+
/// accompanying the affected release.</para>
|
127
|
+
///
|
128
|
+
/// <para>
|
129
|
+
/// <strong>Additional note for target developers:</strong> The version check
|
130
|
+
/// implemented by this class is designed to address specific compatibility
|
131
|
+
/// concerns that may arise during the execution of Java applications. Other
|
132
|
+
/// targets should consider the implementation of this method in the context
|
133
|
+
/// of that target's known execution environment, which may or may not
|
134
|
+
/// resemble the design provided for the Java target.</para>
|
135
|
+
/// </summary>
|
136
|
+
/// <param name="generatingToolVersion"> The version of the tool used to generate a parser.
|
137
|
+
/// This value may be null when called from user code that was not generated
|
138
|
+
/// by, and does not reference, the ANTLR 4 Tool itself. </param>
|
139
|
+
/// <param name="compileTimeVersion"> The version of the runtime the parser was
|
140
|
+
/// compiled against. This should always be passed using a direct reference
|
141
|
+
/// to <seealso cref="#VERSION"/>. </param>
|
142
|
+
static void checkVersion(const std::string &generatingToolVersion, const std::string &compileTimeVersion);
|
143
|
+
|
144
|
+
/// <summary>
|
145
|
+
/// Gets the major and minor version numbers from a version string. For
|
146
|
+
/// details about the syntax of the input {@code version}.
|
147
|
+
/// E.g., from x.y.z return x.y.
|
148
|
+
/// </summary>
|
149
|
+
/// <param name="version"> The complete version string. </param>
|
150
|
+
/// <returns> A string of the form <em>major</em>.<em>minor</em> containing
|
151
|
+
/// only the major and minor components of the version string. </returns>
|
152
|
+
static std::string getMajorMinorVersion(const std::string &version);
|
153
|
+
};
|
154
|
+
|
155
|
+
} // namespace antlr4
|
@@ -0,0 +1,92 @@
|
|
1
|
+
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
|
2
|
+
* Use of this file is governed by the BSD 3-clause license that
|
3
|
+
* can be found in the LICENSE.txt file in the project root.
|
4
|
+
*/
|
5
|
+
|
6
|
+
#pragma once
|
7
|
+
|
8
|
+
#include "IntStream.h"
|
9
|
+
|
10
|
+
namespace antlr4 {
|
11
|
+
|
12
|
+
/// A token has properties: text, type, line, character position in the line
|
13
|
+
/// (so we can ignore tabs), token channel, index, and source from which
|
14
|
+
/// we obtained this token.
|
15
|
+
class ANTLR4CPP_PUBLIC Token {
|
16
|
+
public:
|
17
|
+
static const size_t INVALID_TYPE = 0;
|
18
|
+
|
19
|
+
/// During lookahead operations, this "token" signifies we hit rule end ATN state
|
20
|
+
/// and did not follow it despite needing to.
|
21
|
+
static const size_t EPSILON = static_cast<size_t>(-2);
|
22
|
+
static const size_t MIN_USER_TOKEN_TYPE = 1;
|
23
|
+
static const size_t EOF = IntStream::EOF;
|
24
|
+
|
25
|
+
virtual ~Token();
|
26
|
+
|
27
|
+
/// All tokens go to the parser (unless skip() is called in that rule)
|
28
|
+
/// on a particular "channel". The parser tunes to a particular channel
|
29
|
+
/// so that whitespace etc... can go to the parser on a "hidden" channel.
|
30
|
+
static const size_t DEFAULT_CHANNEL = 0;
|
31
|
+
|
32
|
+
/// Anything on different channel than DEFAULT_CHANNEL is not parsed
|
33
|
+
/// by parser.
|
34
|
+
static const size_t HIDDEN_CHANNEL = 1;
|
35
|
+
|
36
|
+
/**
|
37
|
+
* This is the minimum constant value which can be assigned to a
|
38
|
+
* user-defined token channel.
|
39
|
+
*
|
40
|
+
* <p>
|
41
|
+
* The non-negative numbers less than {@link #MIN_USER_CHANNEL_VALUE} are
|
42
|
+
* assigned to the predefined channels {@link #DEFAULT_CHANNEL} and
|
43
|
+
* {@link #HIDDEN_CHANNEL}.</p>
|
44
|
+
*
|
45
|
+
* @see Token#getChannel()
|
46
|
+
*/
|
47
|
+
static const size_t MIN_USER_CHANNEL_VALUE = 2;
|
48
|
+
|
49
|
+
/// Get the text of the token.
|
50
|
+
virtual std::string getText() const = 0;
|
51
|
+
|
52
|
+
/// Get the token type of the token
|
53
|
+
virtual size_t getType() const = 0;
|
54
|
+
|
55
|
+
/// The line number on which the 1st character of this token was matched, line=1..n
|
56
|
+
virtual size_t getLine() const = 0;
|
57
|
+
|
58
|
+
/// The index of the first character of this token relative to the
|
59
|
+
/// beginning of the line at which it occurs, 0..n-1
|
60
|
+
virtual size_t getCharPositionInLine() const = 0;
|
61
|
+
|
62
|
+
/// Return the channel this token. Each token can arrive at the parser
|
63
|
+
/// on a different channel, but the parser only "tunes" to a single channel.
|
64
|
+
/// The parser ignores everything not on DEFAULT_CHANNEL.
|
65
|
+
virtual size_t getChannel() const = 0;
|
66
|
+
|
67
|
+
/// An index from 0..n-1 of the token object in the input stream.
|
68
|
+
/// This must be valid in order to print token streams and
|
69
|
+
/// use TokenRewriteStream.
|
70
|
+
///
|
71
|
+
/// Return INVALID_INDEX to indicate that this token was conjured up since
|
72
|
+
/// it doesn't have a valid index.
|
73
|
+
virtual size_t getTokenIndex() const = 0;
|
74
|
+
|
75
|
+
/// The starting character index of the token
|
76
|
+
/// This method is optional; return INVALID_INDEX if not implemented.
|
77
|
+
virtual size_t getStartIndex() const = 0;
|
78
|
+
|
79
|
+
/// The last character index of the token.
|
80
|
+
/// This method is optional; return INVALID_INDEX if not implemented.
|
81
|
+
virtual size_t getStopIndex() const = 0;
|
82
|
+
|
83
|
+
/// Gets the <seealso cref="TokenSource"/> which created this token.
|
84
|
+
virtual TokenSource *getTokenSource() const = 0;
|
85
|
+
|
86
|
+
/// Gets the <seealso cref="CharStream"/> from which this token was derived.
|
87
|
+
virtual CharStream *getInputStream() const = 0;
|
88
|
+
|
89
|
+
virtual std::string toString() const = 0;
|
90
|
+
};
|
91
|
+
|
92
|
+
} // namespace antlr4
|