expressir 1.2.4 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.cross_rubies +0 -6
- data/.github/workflows/rake.yml +200 -9
- data/.gitignore +7 -2
- data/.gitmodules +3 -0
- data/.rubocop.yml +13 -4
- 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 -34
- 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 +11 -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 +20 -20
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +0 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +30 -19
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +13 -10
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +2 -4
- 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 +0 -6
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +0 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +0 -13
- 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/Parser.cpp +47 -27
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +0 -6
- 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 +19 -22
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +20 -20
- 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 +10 -21
- 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 +0 -32
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +1 -1
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +2 -7
- 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 -45
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +11 -26
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +19 -61
- 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 +4 -55
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +34 -20
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +30 -35
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +35 -32
- 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 -462
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +9 -68
- 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 +41 -42
- 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 -106
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +9 -48
- 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 +15 -33
- 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 +164 -151
- 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 +86 -127
- 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 +9 -21
- 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 +1 -8
- 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 +7 -20
- 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 +34 -14
- 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.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 +12 -53
- 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 -33
- data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +2 -62
- 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 +13 -4
- 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 +4 -4
- 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/pattern/ParseTreePatternMatcher.cpp +1 -2
- 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/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 +207 -75
- data/ext/express-parser/extconf.rb +10 -9
- data/lib/expressir/config.rb +1 -1
- data/lib/expressir/express/parser.rb +2 -2
- data/lib/expressir/express/visitor.rb +7 -5
- data/lib/expressir/model.rb +78 -78
- data/lib/expressir/version.rb +1 -1
- data/rakelib/antlr4-native.rake +63 -0
- data/rakelib/cross-ruby.rake +213 -162
- data/spec/acceptance/version_spec.rb +7 -2
- data/spec/expressir/express/cache_spec.rb +8 -5
- data/spec/expressir/express/formatter_spec.rb +16 -8
- data/spec/expressir/express/parser_spec.rb +17 -11
- data/spec/expressir/model/model_element_spec.rb +154 -146
- 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
data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
|
|
9
9
|
/* Begin PBXBuildFile section */
|
|
10
10
|
270C67F31CDB4F1E00116E17 /* antlrcpp_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 270C67F21CDB4F1E00116E17 /* antlrcpp_ios.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
11
|
-
270C69E01CDB536A00116E17 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 270C69DF1CDB536A00116E17 /* CoreFoundation.framework */; };
|
|
12
11
|
276566E01DA93BFB000869BE /* ParseTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276566DF1DA93BFB000869BE /* ParseTree.cpp */; };
|
|
13
12
|
276566E11DA93BFB000869BE /* ParseTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276566DF1DA93BFB000869BE /* ParseTree.cpp */; };
|
|
14
13
|
276566E21DA93BFB000869BE /* ParseTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276566DF1DA93BFB000869BE /* ParseTree.cpp */; };
|
|
@@ -645,12 +644,12 @@
|
|
|
645
644
|
276E5FBC1CDB57AA003FF4B4 /* Declarations.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEA1CDB57AA003FF4B4 /* Declarations.h */; };
|
|
646
645
|
276E5FBD1CDB57AA003FF4B4 /* Declarations.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEA1CDB57AA003FF4B4 /* Declarations.h */; };
|
|
647
646
|
276E5FBE1CDB57AA003FF4B4 /* Declarations.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEA1CDB57AA003FF4B4 /* Declarations.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
648
|
-
276E5FBF1CDB57AA003FF4B4 /*
|
|
649
|
-
276E5FC01CDB57AA003FF4B4 /*
|
|
650
|
-
276E5FC11CDB57AA003FF4B4 /*
|
|
651
|
-
276E5FC21CDB57AA003FF4B4 /*
|
|
652
|
-
276E5FC31CDB57AA003FF4B4 /*
|
|
653
|
-
276E5FC41CDB57AA003FF4B4 /*
|
|
647
|
+
276E5FBF1CDB57AA003FF4B4 /* Guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CEB1CDB57AA003FF4B4 /* Guid.cpp */; };
|
|
648
|
+
276E5FC01CDB57AA003FF4B4 /* Guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CEB1CDB57AA003FF4B4 /* Guid.cpp */; };
|
|
649
|
+
276E5FC11CDB57AA003FF4B4 /* Guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CEB1CDB57AA003FF4B4 /* Guid.cpp */; };
|
|
650
|
+
276E5FC21CDB57AA003FF4B4 /* Guid.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEC1CDB57AA003FF4B4 /* Guid.h */; };
|
|
651
|
+
276E5FC31CDB57AA003FF4B4 /* Guid.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEC1CDB57AA003FF4B4 /* Guid.h */; };
|
|
652
|
+
276E5FC41CDB57AA003FF4B4 /* Guid.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEC1CDB57AA003FF4B4 /* Guid.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
654
653
|
276E5FC51CDB57AA003FF4B4 /* StringUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CED1CDB57AA003FF4B4 /* StringUtils.cpp */; };
|
|
655
654
|
276E5FC61CDB57AA003FF4B4 /* StringUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CED1CDB57AA003FF4B4 /* StringUtils.cpp */; };
|
|
656
655
|
276E5FC71CDB57AA003FF4B4 /* StringUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CED1CDB57AA003FF4B4 /* StringUtils.cpp */; };
|
|
@@ -927,7 +926,6 @@
|
|
|
927
926
|
270C67F01CDB4F1E00116E17 /* antlr4_ios.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = antlr4_ios.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
928
927
|
270C67F21CDB4F1E00116E17 /* antlrcpp_ios.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = antlrcpp_ios.h; sourceTree = "<group>"; wrapsLines = 0; };
|
|
929
928
|
270C67F41CDB4F1E00116E17 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
|
930
|
-
270C69DF1CDB536A00116E17 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; };
|
|
931
929
|
276566DF1DA93BFB000869BE /* ParseTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParseTree.cpp; sourceTree = "<group>"; };
|
|
932
930
|
276E5C0C1CDB57AA003FF4B4 /* ANTLRErrorListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ANTLRErrorListener.h; sourceTree = "<group>"; wrapsLines = 0; };
|
|
933
931
|
276E5C0D1CDB57AA003FF4B4 /* ANTLRErrorStrategy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ANTLRErrorStrategy.h; sourceTree = "<group>"; };
|
|
@@ -1140,8 +1138,8 @@
|
|
|
1140
1138
|
276E5CE81CDB57AA003FF4B4 /* CPPUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPPUtils.cpp; sourceTree = "<group>"; wrapsLines = 0; };
|
|
1141
1139
|
276E5CE91CDB57AA003FF4B4 /* CPPUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = CPPUtils.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
|
|
1142
1140
|
276E5CEA1CDB57AA003FF4B4 /* Declarations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Declarations.h; sourceTree = "<group>"; };
|
|
1143
|
-
276E5CEB1CDB57AA003FF4B4 /*
|
|
1144
|
-
276E5CEC1CDB57AA003FF4B4 /*
|
|
1141
|
+
276E5CEB1CDB57AA003FF4B4 /* Guid.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Guid.cpp; sourceTree = "<group>"; };
|
|
1142
|
+
276E5CEC1CDB57AA003FF4B4 /* Guid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Guid.h; sourceTree = "<group>"; };
|
|
1145
1143
|
276E5CED1CDB57AA003FF4B4 /* StringUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StringUtils.cpp; sourceTree = "<group>"; };
|
|
1146
1144
|
276E5CEE1CDB57AA003FF4B4 /* StringUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringUtils.h; sourceTree = "<group>"; };
|
|
1147
1145
|
276E5CF01CDB57AA003FF4B4 /* Token.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Token.h; sourceTree = "<group>"; };
|
|
@@ -1242,7 +1240,6 @@
|
|
|
1242
1240
|
isa = PBXFrameworksBuildPhase;
|
|
1243
1241
|
buildActionMask = 2147483647;
|
|
1244
1242
|
files = (
|
|
1245
|
-
270C69E01CDB536A00116E17 /* CoreFoundation.framework in Frameworks */,
|
|
1246
1243
|
);
|
|
1247
1244
|
runOnlyForDeploymentPostprocessing = 0;
|
|
1248
1245
|
};
|
|
@@ -1553,8 +1550,8 @@
|
|
|
1553
1550
|
276E5CE81CDB57AA003FF4B4 /* CPPUtils.cpp */,
|
|
1554
1551
|
276E5CE91CDB57AA003FF4B4 /* CPPUtils.h */,
|
|
1555
1552
|
276E5CEA1CDB57AA003FF4B4 /* Declarations.h */,
|
|
1556
|
-
276E5CEB1CDB57AA003FF4B4 /*
|
|
1557
|
-
276E5CEC1CDB57AA003FF4B4 /*
|
|
1553
|
+
276E5CEB1CDB57AA003FF4B4 /* Guid.cpp */,
|
|
1554
|
+
276E5CEC1CDB57AA003FF4B4 /* Guid.h */,
|
|
1558
1555
|
276E5CED1CDB57AA003FF4B4 /* StringUtils.cpp */,
|
|
1559
1556
|
276E5CEE1CDB57AA003FF4B4 /* StringUtils.h */,
|
|
1560
1557
|
);
|
|
@@ -1618,7 +1615,6 @@
|
|
|
1618
1615
|
27874F221CCBB34200AF1C53 /* Linked Frameworks */ = {
|
|
1619
1616
|
isa = PBXGroup;
|
|
1620
1617
|
children = (
|
|
1621
|
-
270C69DF1CDB536A00116E17 /* CoreFoundation.framework */,
|
|
1622
1618
|
27874F1D1CCB7A0700AF1C53 /* CoreFoundation.framework */,
|
|
1623
1619
|
);
|
|
1624
1620
|
name = "Linked Frameworks";
|
|
@@ -1767,7 +1763,7 @@
|
|
|
1767
1763
|
276E5F581CDB57AA003FF4B4 /* LexerNoViableAltException.h in Headers */,
|
|
1768
1764
|
276E5D811CDB57AA003FF4B4 /* ATNSimulator.h in Headers */,
|
|
1769
1765
|
27DB44B61D0463CC007E790B /* XPathLexer.h in Headers */,
|
|
1770
|
-
276E5FC41CDB57AA003FF4B4 /*
|
|
1766
|
+
276E5FC41CDB57AA003FF4B4 /* Guid.h in Headers */,
|
|
1771
1767
|
276E602D1CDB57AA003FF4B4 /* TagChunk.h in Headers */,
|
|
1772
1768
|
276E5E951CDB57AA003FF4B4 /* RuleStopState.h in Headers */,
|
|
1773
1769
|
276E5F761CDB57AA003FF4B4 /* Predicate.h in Headers */,
|
|
@@ -1934,7 +1930,7 @@
|
|
|
1934
1930
|
276E60141CDB57AA003FF4B4 /* ParseTreeMatch.h in Headers */,
|
|
1935
1931
|
276E5F571CDB57AA003FF4B4 /* LexerNoViableAltException.h in Headers */,
|
|
1936
1932
|
276E5D801CDB57AA003FF4B4 /* ATNSimulator.h in Headers */,
|
|
1937
|
-
276E5FC31CDB57AA003FF4B4 /*
|
|
1933
|
+
276E5FC31CDB57AA003FF4B4 /* Guid.h in Headers */,
|
|
1938
1934
|
276E602C1CDB57AA003FF4B4 /* TagChunk.h in Headers */,
|
|
1939
1935
|
276E5E941CDB57AA003FF4B4 /* RuleStopState.h in Headers */,
|
|
1940
1936
|
276E5F751CDB57AA003FF4B4 /* Predicate.h in Headers */,
|
|
@@ -2092,7 +2088,7 @@
|
|
|
2092
2088
|
276E60131CDB57AA003FF4B4 /* ParseTreeMatch.h in Headers */,
|
|
2093
2089
|
276E5F561CDB57AA003FF4B4 /* LexerNoViableAltException.h in Headers */,
|
|
2094
2090
|
276E5D7F1CDB57AA003FF4B4 /* ATNSimulator.h in Headers */,
|
|
2095
|
-
276E5FC21CDB57AA003FF4B4 /*
|
|
2091
|
+
276E5FC21CDB57AA003FF4B4 /* Guid.h in Headers */,
|
|
2096
2092
|
276E602B1CDB57AA003FF4B4 /* TagChunk.h in Headers */,
|
|
2097
2093
|
276E5E931CDB57AA003FF4B4 /* RuleStopState.h in Headers */,
|
|
2098
2094
|
276E5F741CDB57AA003FF4B4 /* Predicate.h in Headers */,
|
|
@@ -2368,7 +2364,7 @@
|
|
|
2368
2364
|
276E5E861CDB57AA003FF4B4 /* RangeTransition.cpp in Sources */,
|
|
2369
2365
|
276E5D7E1CDB57AA003FF4B4 /* ATNSimulator.cpp in Sources */,
|
|
2370
2366
|
276E5D9C1CDB57AA003FF4B4 /* BasicState.cpp in Sources */,
|
|
2371
|
-
276E5FC11CDB57AA003FF4B4 /*
|
|
2367
|
+
276E5FC11CDB57AA003FF4B4 /* Guid.cpp in Sources */,
|
|
2372
2368
|
276E5E801CDB57AA003FF4B4 /* ProfilingATNSimulator.cpp in Sources */,
|
|
2373
2369
|
2793DCA91F08095F00A84290 /* ANTLRErrorStrategy.cpp in Sources */,
|
|
2374
2370
|
276E5F401CDB57AA003FF4B4 /* IntStream.cpp in Sources */,
|
|
@@ -2522,7 +2518,7 @@
|
|
|
2522
2518
|
276E5E851CDB57AA003FF4B4 /* RangeTransition.cpp in Sources */,
|
|
2523
2519
|
276E5D7D1CDB57AA003FF4B4 /* ATNSimulator.cpp in Sources */,
|
|
2524
2520
|
276E5D9B1CDB57AA003FF4B4 /* BasicState.cpp in Sources */,
|
|
2525
|
-
276E5FC01CDB57AA003FF4B4 /*
|
|
2521
|
+
276E5FC01CDB57AA003FF4B4 /* Guid.cpp in Sources */,
|
|
2526
2522
|
276E5E7F1CDB57AA003FF4B4 /* ProfilingATNSimulator.cpp in Sources */,
|
|
2527
2523
|
2793DCA81F08095F00A84290 /* ANTLRErrorStrategy.cpp in Sources */,
|
|
2528
2524
|
276E5F3F1CDB57AA003FF4B4 /* IntStream.cpp in Sources */,
|
|
@@ -2676,7 +2672,7 @@
|
|
|
2676
2672
|
276E5E841CDB57AA003FF4B4 /* RangeTransition.cpp in Sources */,
|
|
2677
2673
|
276E5D7C1CDB57AA003FF4B4 /* ATNSimulator.cpp in Sources */,
|
|
2678
2674
|
276E5D9A1CDB57AA003FF4B4 /* BasicState.cpp in Sources */,
|
|
2679
|
-
276E5FBF1CDB57AA003FF4B4 /*
|
|
2675
|
+
276E5FBF1CDB57AA003FF4B4 /* Guid.cpp in Sources */,
|
|
2680
2676
|
276E5E7E1CDB57AA003FF4B4 /* ProfilingATNSimulator.cpp in Sources */,
|
|
2681
2677
|
2793DCA71F08095F00A84290 /* ANTLRErrorStrategy.cpp in Sources */,
|
|
2682
2678
|
276E5F3E1CDB57AA003FF4B4 /* IntStream.cpp in Sources */,
|
|
@@ -2737,6 +2733,7 @@
|
|
|
2737
2733
|
isa = XCBuildConfiguration;
|
|
2738
2734
|
buildSettings = {
|
|
2739
2735
|
CLANG_ANALYZER_NONNULL = YES;
|
|
2736
|
+
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
|
2740
2737
|
CLANG_ENABLE_MODULES = YES;
|
|
2741
2738
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
2742
2739
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
|
@@ -2772,6 +2769,7 @@
|
|
|
2772
2769
|
isa = XCBuildConfiguration;
|
|
2773
2770
|
buildSettings = {
|
|
2774
2771
|
CLANG_ANALYZER_NONNULL = YES;
|
|
2772
|
+
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
|
2775
2773
|
CLANG_ENABLE_MODULES = YES;
|
|
2776
2774
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
2777
2775
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
|
@@ -2807,6 +2805,7 @@
|
|
|
2807
2805
|
37C1471F1B4D5A04008EDDDB /* Debug */ = {
|
|
2808
2806
|
isa = XCBuildConfiguration;
|
|
2809
2807
|
buildSettings = {
|
|
2808
|
+
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
|
2810
2809
|
CLANG_ENABLE_MODULES = YES;
|
|
2811
2810
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
2812
2811
|
COMBINE_HIDPI_IMAGES = YES;
|
|
@@ -2829,6 +2828,7 @@
|
|
|
2829
2828
|
37C147201B4D5A04008EDDDB /* Release */ = {
|
|
2830
2829
|
isa = XCBuildConfiguration;
|
|
2831
2830
|
buildSettings = {
|
|
2831
|
+
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
|
2832
2832
|
CLANG_ENABLE_MODULES = YES;
|
|
2833
2833
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
2834
2834
|
COMBINE_HIDPI_IMAGES = YES;
|
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
* can be found in the LICENSE.txt file in the project root.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
#include "support/StringUtils.h"
|
|
7
|
-
|
|
8
6
|
#include "ANTLRFileStream.h"
|
|
9
7
|
|
|
10
8
|
using namespace antlr4;
|
|
@@ -15,11 +13,7 @@ void ANTLRFileStream::loadFromFile(const std::string &fileName) {
|
|
|
15
13
|
return;
|
|
16
14
|
}
|
|
17
15
|
|
|
18
|
-
#ifdef _MSC_VER
|
|
19
|
-
std::ifstream stream(antlrcpp::s2ws(fileName), std::ios::binary);
|
|
20
|
-
#else
|
|
21
16
|
std::ifstream stream(fileName, std::ios::binary);
|
|
22
|
-
#endif
|
|
23
17
|
|
|
24
18
|
ANTLRInputStream::load(stream);
|
|
25
19
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
#include "misc/Interval.h"
|
|
10
10
|
#include "IntStream.h"
|
|
11
11
|
|
|
12
|
-
#include "support/
|
|
12
|
+
#include "support/Utf8.h"
|
|
13
13
|
#include "support/CPPUtils.h"
|
|
14
14
|
|
|
15
15
|
#include "ANTLRInputStream.h"
|
|
@@ -23,15 +23,9 @@ ANTLRInputStream::ANTLRInputStream() {
|
|
|
23
23
|
InitializeInstanceFields();
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
ANTLRInputStream::ANTLRInputStream(const std::string_view &input): ANTLRInputStream() {
|
|
26
|
+
ANTLRInputStream::ANTLRInputStream(std::string_view input): ANTLRInputStream() {
|
|
28
27
|
load(input.data(), input.length());
|
|
29
28
|
}
|
|
30
|
-
#endif
|
|
31
|
-
|
|
32
|
-
ANTLRInputStream::ANTLRInputStream(const std::string &input): ANTLRInputStream() {
|
|
33
|
-
load(input.data(), input.size());
|
|
34
|
-
}
|
|
35
29
|
|
|
36
30
|
ANTLRInputStream::ANTLRInputStream(const char *data, size_t length) {
|
|
37
31
|
load(data, length);
|
|
@@ -41,28 +35,37 @@ ANTLRInputStream::ANTLRInputStream(std::istream &stream): ANTLRInputStream() {
|
|
|
41
35
|
load(stream);
|
|
42
36
|
}
|
|
43
37
|
|
|
44
|
-
void ANTLRInputStream::load(const std::string &input) {
|
|
45
|
-
load(input.data(), input.size());
|
|
38
|
+
void ANTLRInputStream::load(const std::string &input, bool lenient) {
|
|
39
|
+
load(input.data(), input.size(), lenient);
|
|
46
40
|
}
|
|
47
41
|
|
|
48
|
-
void ANTLRInputStream::load(const char *data, size_t length) {
|
|
42
|
+
void ANTLRInputStream::load(const char *data, size_t length, bool lenient) {
|
|
49
43
|
// Remove the UTF-8 BOM if present.
|
|
50
44
|
const char *bom = "\xef\xbb\xbf";
|
|
51
|
-
if (length >= 3 && strncmp(data, bom, 3) == 0)
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
45
|
+
if (length >= 3 && strncmp(data, bom, 3) == 0) {
|
|
46
|
+
data += 3;
|
|
47
|
+
length -= 3;
|
|
48
|
+
}
|
|
49
|
+
if (lenient) {
|
|
50
|
+
_data = Utf8::lenientDecode(std::string_view(data, length));
|
|
51
|
+
} else {
|
|
52
|
+
auto maybe_utf32 = Utf8::strictDecode(std::string_view(data, length));
|
|
53
|
+
if (!maybe_utf32.has_value()) {
|
|
54
|
+
throw IllegalArgumentException("UTF-8 string contains an illegal byte sequence");
|
|
55
|
+
}
|
|
56
|
+
_data = std::move(maybe_utf32).value();
|
|
57
|
+
}
|
|
55
58
|
p = 0;
|
|
56
59
|
}
|
|
57
60
|
|
|
58
|
-
void ANTLRInputStream::load(std::istream &stream) {
|
|
61
|
+
void ANTLRInputStream::load(std::istream &stream, bool lenient) {
|
|
59
62
|
if (!stream.good() || stream.eof()) // No fail, bad or EOF.
|
|
60
63
|
return;
|
|
61
64
|
|
|
62
65
|
_data.clear();
|
|
63
66
|
|
|
64
67
|
std::string s((std::istreambuf_iterator<char>(stream)), std::istreambuf_iterator<char>());
|
|
65
|
-
load(s.data(), s.length());
|
|
68
|
+
load(s.data(), s.length(), lenient);
|
|
66
69
|
}
|
|
67
70
|
|
|
68
71
|
void ANTLRInputStream::reset() {
|
|
@@ -150,7 +153,11 @@ std::string ANTLRInputStream::getText(const Interval &interval) {
|
|
|
150
153
|
return "";
|
|
151
154
|
}
|
|
152
155
|
|
|
153
|
-
|
|
156
|
+
auto maybeUtf8 = Utf8::strictEncode(std::u32string_view(_data).substr(start, count));
|
|
157
|
+
if (!maybeUtf8.has_value()) {
|
|
158
|
+
throw IllegalArgumentException("Input stream contains invalid Unicode code points");
|
|
159
|
+
}
|
|
160
|
+
return std::move(maybeUtf8).value();
|
|
154
161
|
}
|
|
155
162
|
|
|
156
163
|
std::string ANTLRInputStream::getSourceName() const {
|
|
@@ -161,7 +168,11 @@ std::string ANTLRInputStream::getSourceName() const {
|
|
|
161
168
|
}
|
|
162
169
|
|
|
163
170
|
std::string ANTLRInputStream::toString() const {
|
|
164
|
-
|
|
171
|
+
auto maybeUtf8 = Utf8::strictEncode(_data);
|
|
172
|
+
if (!maybeUtf8.has_value()) {
|
|
173
|
+
throw IllegalArgumentException("Input stream contains invalid Unicode code points");
|
|
174
|
+
}
|
|
175
|
+
return std::move(maybeUtf8).value();
|
|
165
176
|
}
|
|
166
177
|
|
|
167
178
|
void ANTLRInputStream::InitializeInstanceFields() {
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
#pragma once
|
|
7
7
|
|
|
8
|
+
#include <string_view>
|
|
9
|
+
|
|
8
10
|
#include "CharStream.h"
|
|
9
11
|
|
|
10
12
|
namespace antlr4 {
|
|
@@ -16,7 +18,7 @@ namespace antlr4 {
|
|
|
16
18
|
protected:
|
|
17
19
|
/// The data being scanned.
|
|
18
20
|
// UTF-32
|
|
19
|
-
|
|
21
|
+
std::u32string _data;
|
|
20
22
|
|
|
21
23
|
/// 0..n-1 index into string of next char </summary>
|
|
22
24
|
size_t p;
|
|
@@ -26,18 +28,19 @@ namespace antlr4 {
|
|
|
26
28
|
std::string name;
|
|
27
29
|
|
|
28
30
|
ANTLRInputStream();
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
#endif
|
|
33
|
-
|
|
34
|
-
ANTLRInputStream(const std::string &input);
|
|
31
|
+
|
|
32
|
+
ANTLRInputStream(std::string_view input);
|
|
33
|
+
|
|
35
34
|
ANTLRInputStream(const char *data, size_t length);
|
|
36
35
|
ANTLRInputStream(std::istream &stream);
|
|
37
36
|
|
|
38
|
-
virtual void load(const std::string &input);
|
|
39
|
-
virtual void load(const char *data, size_t length);
|
|
40
|
-
virtual void load(std::istream &stream);
|
|
37
|
+
virtual void load(const std::string &input, bool lenient);
|
|
38
|
+
virtual void load(const char *data, size_t length, bool lenient);
|
|
39
|
+
virtual void load(std::istream &stream, bool lenient);
|
|
40
|
+
|
|
41
|
+
virtual void load(const std::string &input) { load(input, false); }
|
|
42
|
+
virtual void load(const char *data, size_t length) { load(data, length, false); }
|
|
43
|
+
virtual void load(std::istream &stream) { load(stream, false); }
|
|
41
44
|
|
|
42
45
|
/// Reset the stream so that it's in the same state it was
|
|
43
46
|
/// when the object was created *except* the data array is not
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
#include "misc/Interval.h"
|
|
12
12
|
|
|
13
|
-
#include "support/StringUtils.h"
|
|
14
13
|
#include "support/CPPUtils.h"
|
|
14
|
+
#include "support/StringUtils.h"
|
|
15
15
|
|
|
16
16
|
#include "CommonToken.h"
|
|
17
17
|
|
|
@@ -165,9 +165,7 @@ std::string CommonToken::toString(Recognizer *r) const {
|
|
|
165
165
|
}
|
|
166
166
|
std::string txt = getText();
|
|
167
167
|
if (!txt.empty()) {
|
|
168
|
-
antlrcpp::
|
|
169
|
-
antlrcpp::replaceAll(txt, "\r", "\\r");
|
|
170
|
-
antlrcpp::replaceAll(txt, "\t", "\\t");
|
|
168
|
+
txt = antlrcpp::escapeWhitespace(txt);
|
|
171
169
|
} else {
|
|
172
170
|
txt = "<no text>";
|
|
173
171
|
}
|
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
#include "atn/RuleTransition.h"
|
|
13
13
|
#include "atn/ATN.h"
|
|
14
14
|
#include "atn/ATNState.h"
|
|
15
|
+
#include "support/StringUtils.h"
|
|
16
|
+
#include "support/Casts.h"
|
|
15
17
|
#include "Parser.h"
|
|
16
18
|
#include "CommonToken.h"
|
|
17
19
|
#include "Vocabulary.h"
|
|
18
|
-
#include "support/StringUtils.h"
|
|
19
20
|
|
|
20
21
|
#include "DefaultErrorStrategy.h"
|
|
21
22
|
|
|
@@ -106,10 +107,10 @@ void DefaultErrorStrategy::sync(Parser *recognizer) {
|
|
|
106
107
|
}
|
|
107
108
|
|
|
108
109
|
switch (s->getStateType()) {
|
|
109
|
-
case atn::
|
|
110
|
-
case atn::
|
|
111
|
-
case atn::
|
|
112
|
-
case atn::
|
|
110
|
+
case atn::ATNStateType::BLOCK_START:
|
|
111
|
+
case atn::ATNStateType::STAR_BLOCK_START:
|
|
112
|
+
case atn::ATNStateType::PLUS_BLOCK_START:
|
|
113
|
+
case atn::ATNStateType::STAR_LOOP_ENTRY:
|
|
113
114
|
// report error and recover if possible
|
|
114
115
|
if (singleTokenDeletion(recognizer) != nullptr) {
|
|
115
116
|
return;
|
|
@@ -117,8 +118,8 @@ void DefaultErrorStrategy::sync(Parser *recognizer) {
|
|
|
117
118
|
|
|
118
119
|
throw InputMismatchException(recognizer);
|
|
119
120
|
|
|
120
|
-
case atn::
|
|
121
|
-
case atn::
|
|
121
|
+
case atn::ATNStateType::PLUS_LOOP_BACK:
|
|
122
|
+
case atn::ATNStateType::STAR_LOOP_BACK: {
|
|
122
123
|
reportUnwantedToken(recognizer);
|
|
123
124
|
misc::IntervalSet expecting = recognizer->getExpectedTokens();
|
|
124
125
|
misc::IntervalSet whatFollowsLoopIterationOrRule = expecting.Or(getErrorRecoverySet(recognizer));
|
|
@@ -292,11 +293,13 @@ size_t DefaultErrorStrategy::getSymbolType(Token *symbol) {
|
|
|
292
293
|
}
|
|
293
294
|
|
|
294
295
|
std::string DefaultErrorStrategy::escapeWSAndQuote(const std::string &s) const {
|
|
295
|
-
std::string result
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
antlrcpp::
|
|
299
|
-
|
|
296
|
+
std::string result;
|
|
297
|
+
result.reserve(s.size() + 2);
|
|
298
|
+
result.push_back('\'');
|
|
299
|
+
antlrcpp::escapeWhitespace(result, s);
|
|
300
|
+
result.push_back('\'');
|
|
301
|
+
result.shrink_to_fit();
|
|
302
|
+
return result;
|
|
300
303
|
}
|
|
301
304
|
|
|
302
305
|
misc::IntervalSet DefaultErrorStrategy::getErrorRecoverySet(Parser *recognizer) {
|
|
@@ -306,7 +309,7 @@ misc::IntervalSet DefaultErrorStrategy::getErrorRecoverySet(Parser *recognizer)
|
|
|
306
309
|
while (ctx->invokingState != ATNState::INVALID_STATE_NUMBER) {
|
|
307
310
|
// compute what follows who invoked us
|
|
308
311
|
atn::ATNState *invokingState = atn.states[ctx->invokingState];
|
|
309
|
-
atn::RuleTransition *rt =
|
|
312
|
+
const atn::RuleTransition *rt = downCast<const atn::RuleTransition*>(invokingState->transitions[0].get());
|
|
310
313
|
misc::IntervalSet follow = atn.nextTokens(rt->followState);
|
|
311
314
|
recoverSet.addAll(follow);
|
|
312
315
|
|
|
@@ -10,7 +10,7 @@ using namespace antlr4;
|
|
|
10
10
|
RuntimeException::RuntimeException(const std::string &msg) : std::exception(), _message(msg) {
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
const char* RuntimeException::what() const
|
|
13
|
+
const char* RuntimeException::what() const noexcept {
|
|
14
14
|
return _message.c_str();
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -19,7 +19,7 @@ const char* RuntimeException::what() const NOEXCEPT {
|
|
|
19
19
|
IOException::IOException(const std::string &msg) : std::exception(), _message(msg) {
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
const char* IOException::what() const
|
|
22
|
+
const char* IOException::what() const noexcept {
|
|
23
23
|
return _message.c_str();
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -16,7 +16,7 @@ namespace antlr4 {
|
|
|
16
16
|
public:
|
|
17
17
|
RuntimeException(const std::string &msg = "");
|
|
18
18
|
|
|
19
|
-
virtual const char* what() const
|
|
19
|
+
virtual const char* what() const noexcept override;
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
class ANTLR4CPP_PUBLIC IllegalStateException : public RuntimeException {
|
|
@@ -77,7 +77,7 @@ namespace antlr4 {
|
|
|
77
77
|
public:
|
|
78
78
|
IOException(const std::string &msg = "");
|
|
79
79
|
|
|
80
|
-
virtual const char* what() const
|
|
80
|
+
virtual const char* what() const noexcept override;
|
|
81
81
|
};
|
|
82
82
|
|
|
83
83
|
class ANTLR4CPP_PUBLIC CancellationException : public IllegalStateException {
|
data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
#include "atn/PredicateTransition.h"
|
|
9
9
|
#include "atn/ATN.h"
|
|
10
10
|
#include "atn/ATNState.h"
|
|
11
|
+
#include "support/Casts.h"
|
|
11
12
|
#include "support/CPPUtils.h"
|
|
12
13
|
|
|
13
14
|
#include "FailedPredicateException.h"
|
|
@@ -26,10 +27,10 @@ FailedPredicateException::FailedPredicateException(Parser *recognizer, const std
|
|
|
26
27
|
recognizer->getInputStream(), recognizer->getContext(), recognizer->getCurrentToken()) {
|
|
27
28
|
|
|
28
29
|
atn::ATNState *s = recognizer->getInterpreter<atn::ATNSimulator>()->atn.states[recognizer->getState()];
|
|
29
|
-
atn::Transition *transition = s->transitions[0];
|
|
30
|
-
if (
|
|
31
|
-
_ruleIndex =
|
|
32
|
-
_predicateIndex =
|
|
30
|
+
const atn::Transition *transition = s->transitions[0].get();
|
|
31
|
+
if (transition->getTransitionType() == atn::TransitionType::PREDICATE) {
|
|
32
|
+
_ruleIndex = downCast<const atn::PredicateTransition&>(*transition).getRuleIndex();
|
|
33
|
+
_predicateIndex = downCast<const atn::PredicateTransition&>(*transition).getPredIndex();
|
|
33
34
|
} else {
|
|
34
35
|
_ruleIndex = 0;
|
|
35
36
|
_predicateIndex = 0;
|
|
@@ -15,7 +15,7 @@ namespace antlr4 {
|
|
|
15
15
|
/// prediction.
|
|
16
16
|
class ANTLR4CPP_PUBLIC FailedPredicateException : public RecognitionException {
|
|
17
17
|
public:
|
|
18
|
-
FailedPredicateException(Parser *recognizer);
|
|
18
|
+
explicit FailedPredicateException(Parser *recognizer);
|
|
19
19
|
FailedPredicateException(Parser *recognizer, const std::string &predicate);
|
|
20
20
|
FailedPredicateException(Parser *recognizer, const std::string &predicate, const std::string &message);
|
|
21
21
|
|
|
@@ -27,13 +27,7 @@ namespace antlr4 {
|
|
|
27
27
|
/// </summary>
|
|
28
28
|
class ANTLR4CPP_PUBLIC IntStream {
|
|
29
29
|
public:
|
|
30
|
-
#if __cplusplus >= 201703L
|
|
31
30
|
static constexpr size_t EOF = std::numeric_limits<size_t>::max();
|
|
32
|
-
#else
|
|
33
|
-
enum : size_t {
|
|
34
|
-
EOF = static_cast<size_t>(-1), // std::numeric_limits<size_t>::max(); doesn't work in VS 2013
|
|
35
|
-
};
|
|
36
|
-
#endif
|
|
37
31
|
|
|
38
32
|
/// The value returned by <seealso cref="#LA LA()"/> when the end of the stream is
|
|
39
33
|
/// reached.
|
|
@@ -18,7 +18,6 @@ namespace antlr4 {
|
|
|
18
18
|
/// of speed.
|
|
19
19
|
class ANTLR4CPP_PUBLIC Lexer : public Recognizer, public TokenSource {
|
|
20
20
|
public:
|
|
21
|
-
#if __cplusplus >= 201703L
|
|
22
21
|
static constexpr size_t DEFAULT_MODE = 0;
|
|
23
22
|
static constexpr size_t MORE = std::numeric_limits<size_t>::max() - 1;
|
|
24
23
|
static constexpr size_t SKIP = std::numeric_limits<size_t>::max() - 2;
|
|
@@ -27,18 +26,6 @@ namespace antlr4 {
|
|
|
27
26
|
static constexpr size_t HIDDEN = Token::HIDDEN_CHANNEL;
|
|
28
27
|
static constexpr size_t MIN_CHAR_VALUE = 0;
|
|
29
28
|
static constexpr size_t MAX_CHAR_VALUE = 0x10FFFF;
|
|
30
|
-
#else
|
|
31
|
-
enum : size_t {
|
|
32
|
-
DEFAULT_MODE = 0,
|
|
33
|
-
MORE = static_cast<size_t>(-2), // std::numeric_limits<size_t>::max() - 1; doesn't work in VS 2013
|
|
34
|
-
SKIP = static_cast<size_t>(-3), // std::numeric_limits<size_t>::max() - 2; doesn't work in VS 2013
|
|
35
|
-
|
|
36
|
-
DEFAULT_TOKEN_CHANNEL = Token::DEFAULT_CHANNEL,
|
|
37
|
-
HIDDEN = Token::HIDDEN_CHANNEL,
|
|
38
|
-
MIN_CHAR_VALUE = 0,
|
|
39
|
-
MAX_CHAR_VALUE = 0x10FFFF,
|
|
40
|
-
};
|
|
41
|
-
#endif
|
|
42
29
|
|
|
43
30
|
CharStream *_input; // Pure reference, usually from statically allocated instance.
|
|
44
31
|
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
#include "atn/ATNType.h"
|
|
7
7
|
#include "atn/LexerATNSimulator.h"
|
|
8
8
|
#include "dfa/DFA.h"
|
|
9
|
-
#include "atn/EmptyPredictionContext.h"
|
|
10
9
|
#include "Exceptions.h"
|
|
11
10
|
#include "Vocabulary.h"
|
|
12
11
|
|
|
@@ -14,12 +13,6 @@
|
|
|
14
13
|
|
|
15
14
|
using namespace antlr4;
|
|
16
15
|
|
|
17
|
-
LexerInterpreter::LexerInterpreter(const std::string &grammarFileName, const std::vector<std::string> &tokenNames,
|
|
18
|
-
const std::vector<std::string> &ruleNames, const std::vector<std::string> &channelNames, const std::vector<std::string> &modeNames,
|
|
19
|
-
const atn::ATN &atn, CharStream *input)
|
|
20
|
-
: LexerInterpreter(grammarFileName, dfa::Vocabulary::fromTokenNames(tokenNames), ruleNames, channelNames, modeNames, atn, input) {
|
|
21
|
-
}
|
|
22
|
-
|
|
23
16
|
LexerInterpreter::LexerInterpreter(const std::string &grammarFileName, const dfa::Vocabulary &vocabulary,
|
|
24
17
|
const std::vector<std::string> &ruleNames, const std::vector<std::string> &channelNames, const std::vector<std::string> &modeNames,
|
|
25
18
|
const atn::ATN &atn, CharStream *input)
|
|
@@ -31,10 +24,6 @@ LexerInterpreter::LexerInterpreter(const std::string &grammarFileName, const dfa
|
|
|
31
24
|
throw IllegalArgumentException("The ATN must be a lexer ATN.");
|
|
32
25
|
}
|
|
33
26
|
|
|
34
|
-
for (size_t i = 0; i < atn.maxTokenType; i++) {
|
|
35
|
-
_tokenNames.push_back(vocabulary.getDisplayName(i));
|
|
36
|
-
}
|
|
37
|
-
|
|
38
27
|
for (size_t i = 0; i < atn.getNumberOfDecisions(); ++i) {
|
|
39
28
|
_decisionToDFA.push_back(dfa::DFA(_atn.getDecisionState(i), i));
|
|
40
29
|
}
|
|
@@ -54,10 +43,6 @@ std::string LexerInterpreter::getGrammarFileName() const {
|
|
|
54
43
|
return _grammarFileName;
|
|
55
44
|
}
|
|
56
45
|
|
|
57
|
-
const std::vector<std::string>& LexerInterpreter::getTokenNames() const {
|
|
58
|
-
return _tokenNames;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
46
|
const std::vector<std::string>& LexerInterpreter::getRuleNames() const {
|
|
62
47
|
return _ruleNames;
|
|
63
48
|
}
|
|
@@ -7,16 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
#include "Lexer.h"
|
|
9
9
|
#include "atn/PredictionContext.h"
|
|
10
|
+
#include "atn/PredictionContextCache.h"
|
|
10
11
|
#include "Vocabulary.h"
|
|
11
12
|
|
|
12
13
|
namespace antlr4 {
|
|
13
14
|
|
|
14
15
|
class ANTLR4CPP_PUBLIC LexerInterpreter : public Lexer {
|
|
15
16
|
public:
|
|
16
|
-
// @deprecated
|
|
17
|
-
LexerInterpreter(const std::string &grammarFileName, const std::vector<std::string> &tokenNames,
|
|
18
|
-
const std::vector<std::string> &ruleNames, const std::vector<std::string> &channelNames,
|
|
19
|
-
const std::vector<std::string> &modeNames, const atn::ATN &atn, CharStream *input);
|
|
20
17
|
LexerInterpreter(const std::string &grammarFileName, const dfa::Vocabulary &vocabulary,
|
|
21
18
|
const std::vector<std::string> &ruleNames, const std::vector<std::string> &channelNames,
|
|
22
19
|
const std::vector<std::string> &modeNames, const atn::ATN &atn, CharStream *input);
|
|
@@ -25,7 +22,6 @@ namespace antlr4 {
|
|
|
25
22
|
|
|
26
23
|
virtual const atn::ATN& getATN() const override;
|
|
27
24
|
virtual std::string getGrammarFileName() const override;
|
|
28
|
-
virtual const std::vector<std::string>& getTokenNames() const override;
|
|
29
25
|
virtual const std::vector<std::string>& getRuleNames() const override;
|
|
30
26
|
virtual const std::vector<std::string>& getChannelNames() const override;
|
|
31
27
|
virtual const std::vector<std::string>& getModeNames() const override;
|
|
@@ -36,8 +32,6 @@ namespace antlr4 {
|
|
|
36
32
|
const std::string _grammarFileName;
|
|
37
33
|
const atn::ATN &_atn;
|
|
38
34
|
|
|
39
|
-
// @deprecated
|
|
40
|
-
std::vector<std::string> _tokenNames;
|
|
41
35
|
const std::vector<std::string> &_ruleNames;
|
|
42
36
|
const std::vector<std::string> &_channelNames;
|
|
43
37
|
const std::vector<std::string> &_modeNames;
|