did_parser 1.0.0
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 +7 -0
- data/Gemfile +12 -0
- data/Rakefile +28 -0
- data/did_parser.gemspec +31 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +10 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.h +167 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +10 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +121 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +23 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +30 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +180 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +79 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +61 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.h +59 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.cpp +25 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.h +36 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +414 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.h +200 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.cpp +11 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.h +37 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +193 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.h +158 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +39 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +74 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.cpp +78 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.h +79 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +15 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.h +35 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +336 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +466 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +84 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +80 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +64 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +99 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +52 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +32 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.cpp +18 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.h +24 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.cpp +12 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +218 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +19 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.h +45 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +294 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +196 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +60 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +46 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +36 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.h +31 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +92 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +88 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.cpp +46 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.h +42 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +668 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +461 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +294 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +173 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +138 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +147 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +53 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.h +38 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +65 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.h +98 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +156 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +159 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +144 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +141 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +27 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +32 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +54 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.h +155 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.cpp +9 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +92 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenFactory.h +30 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.cpp +9 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +85 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.cpp +11 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.h +137 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +425 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +295 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +208 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +117 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +270 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +115 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/Version.h +42 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +64 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +177 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.cpp +9 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.h +23 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +98 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +169 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +158 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +132 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +106 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +157 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +232 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +156 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +54 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +48 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +629 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +32 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +33 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +71 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +56 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +139 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.cpp +33 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.h +36 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNType.h +20 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +29 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +35 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +16 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +68 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +109 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +51 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +27 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +33 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +24 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +23 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +26 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +30 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +14 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +47 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +14 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +70 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +25 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +227 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +12 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +34 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +31 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +42 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +15 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.h +43 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +189 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +76 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +67 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +44 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +615 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +199 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +15 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +100 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +111 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +128 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +57 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +43 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +59 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +45 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +75 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +57 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +76 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +43 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +57 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +36 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +53 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +36 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +53 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +43 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +57 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +36 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +51 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +43 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +51 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +16 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +42 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +26 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +22 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +27 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +16 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +25 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +102 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.h +102 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +1383 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +911 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulatorOptions.h +50 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +29 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +25 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +23 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +35 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +17 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +62 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +24 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +50 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +579 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +225 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.cpp +56 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.h +64 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.cpp +167 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.h +101 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCacheOptions.h +71 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextType.h +21 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +202 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +436 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +179 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +60 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +26 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +31 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +26 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +27 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +33 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +42 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +418 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +233 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContextType.h +23 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SerializedATNView.h +101 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +28 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +38 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +86 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +43 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +24 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +37 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +19 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +25 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +24 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +36 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +65 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.cpp +27 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.h +33 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +21 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +27 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +115 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +96 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +60 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +32 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +59 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +153 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +17 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +22 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +124 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +33 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +61 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +84 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +508 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +190 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +120 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +102 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.cpp +4 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.h +21 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +8 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +16 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +43 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +149 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +76 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +207 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +65 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Casts.h +34 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +161 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +38 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +16 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Unicode.h +28 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.cpp +242 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.h +54 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +129 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +24 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +54 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +43 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +66 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +53 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +12 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +111 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +9 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +39 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +50 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeType.h +22 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +9 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +57 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +48 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +55 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +40 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +54 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +32 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +241 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.h +78 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +9 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +44 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +69 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +132 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +64 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +105 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +370 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +185 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +77 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +117 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +39 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +86 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +28 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +51 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +36 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +80 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +154 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.h +86 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +31 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +40 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +182 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +47 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +13 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +22 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +20 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +27 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +30 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +26 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +20 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +25 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +33 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +26 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +23 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +23 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +24 -0
- data/ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +23 -0
- data/ext/did_parser/antlrgen/DIDLexer.cpp +225 -0
- data/ext/did_parser/antlrgen/DIDLexer.h +52 -0
- data/ext/did_parser/antlrgen/DIDLexer.interp +93 -0
- data/ext/did_parser/antlrgen/DIDLexer.tokens +42 -0
- data/ext/did_parser/antlrgen/DIDParser.cpp +2042 -0
- data/ext/did_parser/antlrgen/DIDParser.h +537 -0
- data/ext/did_parser/antlrgen/DIDParser.interp +74 -0
- data/ext/did_parser/antlrgen/DIDParser.tokens +42 -0
- data/ext/did_parser/antlrgen/DIDParserBaseListener.cpp +7 -0
- data/ext/did_parser/antlrgen/DIDParserBaseListener.h +104 -0
- data/ext/did_parser/antlrgen/DIDParserBaseVisitor.cpp +7 -0
- data/ext/did_parser/antlrgen/DIDParserBaseVisitor.h +124 -0
- data/ext/did_parser/antlrgen/DIDParserListener.cpp +7 -0
- data/ext/did_parser/antlrgen/DIDParserListener.h +97 -0
- data/ext/did_parser/antlrgen/DIDParserVisitor.cpp +7 -0
- data/ext/did_parser/antlrgen/DIDParserVisitor.h +76 -0
- data/ext/did_parser/did_parser.cpp +2996 -0
- data/ext/did_parser/extconf.rb +38 -0
- data/lib/did_parser/version.rb +3 -0
- data/lib/did_parser.rb +2 -0
- metadata +382 -0
|
@@ -0,0 +1,76 @@
|
|
|
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 antlrcpp {
|
|
11
|
+
|
|
12
|
+
class ANTLR4CPP_PUBLIC BitSet : public std::bitset<2048> {
|
|
13
|
+
public:
|
|
14
|
+
size_t nextSetBit(size_t pos) const {
|
|
15
|
+
for (size_t i = pos; i < size(); i++){
|
|
16
|
+
if (test(i)) {
|
|
17
|
+
return i;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return INVALID_INDEX;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Prints a list of every index for which the bitset contains a bit in true.
|
|
25
|
+
friend std::wostream& operator << (std::wostream& os, const BitSet& obj)
|
|
26
|
+
{
|
|
27
|
+
os << "{";
|
|
28
|
+
size_t total = obj.count();
|
|
29
|
+
for (size_t i = 0; i < obj.size(); i++){
|
|
30
|
+
if (obj.test(i)){
|
|
31
|
+
os << i;
|
|
32
|
+
--total;
|
|
33
|
+
if (total > 1){
|
|
34
|
+
os << ", ";
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
os << "}";
|
|
40
|
+
return os;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static std::string subStringRepresentation(const std::vector<BitSet>::iterator &begin,
|
|
44
|
+
const std::vector<BitSet>::iterator &end) {
|
|
45
|
+
std::string result;
|
|
46
|
+
std::vector<BitSet>::iterator vectorIterator;
|
|
47
|
+
|
|
48
|
+
for (vectorIterator = begin; vectorIterator != end; vectorIterator++) {
|
|
49
|
+
result += vectorIterator->toString();
|
|
50
|
+
}
|
|
51
|
+
// Grab the end
|
|
52
|
+
result += end->toString();
|
|
53
|
+
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
std::string toString() const {
|
|
58
|
+
std::stringstream stream;
|
|
59
|
+
stream << "{";
|
|
60
|
+
bool valueAdded = false;
|
|
61
|
+
for (size_t i = 0; i < size(); ++i){
|
|
62
|
+
if (test(i)){
|
|
63
|
+
if (valueAdded) {
|
|
64
|
+
stream << ", ";
|
|
65
|
+
}
|
|
66
|
+
stream << i;
|
|
67
|
+
valueAdded = true;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
stream << "}";
|
|
72
|
+
return stream.str();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
};
|
|
76
|
+
}
|
|
@@ -0,0 +1,207 @@
|
|
|
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 "support/CPPUtils.h"
|
|
7
|
+
|
|
8
|
+
namespace antlrcpp {
|
|
9
|
+
|
|
10
|
+
std::string join(const std::vector<std::string> &strings, const std::string &separator) {
|
|
11
|
+
std::string str;
|
|
12
|
+
bool firstItem = true;
|
|
13
|
+
for (const std::string &s : strings) {
|
|
14
|
+
if (!firstItem) {
|
|
15
|
+
str.append(separator);
|
|
16
|
+
}
|
|
17
|
+
firstItem = false;
|
|
18
|
+
str.append(s);
|
|
19
|
+
}
|
|
20
|
+
return str;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
std::map<std::string, size_t> toMap(const std::vector<std::string> &keys) {
|
|
24
|
+
std::map<std::string, size_t> result;
|
|
25
|
+
for (size_t i = 0; i < keys.size(); ++i) {
|
|
26
|
+
result.insert({ keys[i], i });
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
std::string escapeWhitespace(std::string str, bool escapeSpaces) {
|
|
32
|
+
std::string result;
|
|
33
|
+
for (auto c : str) {
|
|
34
|
+
switch (c) {
|
|
35
|
+
case '\n':
|
|
36
|
+
result += "\\n";
|
|
37
|
+
break;
|
|
38
|
+
|
|
39
|
+
case '\r':
|
|
40
|
+
result += "\\r";
|
|
41
|
+
break;
|
|
42
|
+
|
|
43
|
+
case '\t':
|
|
44
|
+
result += "\\t";
|
|
45
|
+
break;
|
|
46
|
+
|
|
47
|
+
case ' ':
|
|
48
|
+
if (escapeSpaces) {
|
|
49
|
+
result += "\u00B7";
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
result += c;
|
|
53
|
+
break;
|
|
54
|
+
|
|
55
|
+
default:
|
|
56
|
+
result += c;
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
std::string toHexString(const int t) {
|
|
65
|
+
std::stringstream stream;
|
|
66
|
+
stream << std::uppercase << std::hex << t;
|
|
67
|
+
return stream.str();
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
std::string arrayToString(const std::vector<std::string> &data) {
|
|
71
|
+
std::string answer;
|
|
72
|
+
size_t toReserve = 0;
|
|
73
|
+
for (const auto &sub : data) {
|
|
74
|
+
toReserve += sub.size();
|
|
75
|
+
}
|
|
76
|
+
answer.reserve(toReserve);
|
|
77
|
+
for (const auto &sub: data) {
|
|
78
|
+
answer.append(sub);
|
|
79
|
+
}
|
|
80
|
+
return answer;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
std::string replaceString(const std::string &s, const std::string &from, const std::string &to) {
|
|
84
|
+
std::string::size_type p;
|
|
85
|
+
std::string ss, res;
|
|
86
|
+
|
|
87
|
+
ss = s;
|
|
88
|
+
p = ss.find(from);
|
|
89
|
+
while (p != std::string::npos) {
|
|
90
|
+
if (p > 0)
|
|
91
|
+
res.append(ss.substr(0, p)).append(to);
|
|
92
|
+
else
|
|
93
|
+
res.append(to);
|
|
94
|
+
ss = ss.substr(p + from.size());
|
|
95
|
+
p = ss.find(from);
|
|
96
|
+
}
|
|
97
|
+
res.append(ss);
|
|
98
|
+
|
|
99
|
+
return res;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
std::vector<std::string> split(const std::string &s, const std::string &sep, int count) {
|
|
103
|
+
std::vector<std::string> parts;
|
|
104
|
+
std::string ss = s;
|
|
105
|
+
|
|
106
|
+
std::string::size_type p;
|
|
107
|
+
|
|
108
|
+
if (s.empty())
|
|
109
|
+
return parts;
|
|
110
|
+
|
|
111
|
+
if (count == 0)
|
|
112
|
+
count= -1;
|
|
113
|
+
|
|
114
|
+
p = ss.find(sep);
|
|
115
|
+
while (!ss.empty() && p != std::string::npos && (count < 0 || count > 0)) {
|
|
116
|
+
parts.push_back(ss.substr(0, p));
|
|
117
|
+
ss = ss.substr(p+sep.size());
|
|
118
|
+
|
|
119
|
+
--count;
|
|
120
|
+
p = ss.find(sep);
|
|
121
|
+
}
|
|
122
|
+
parts.push_back(ss);
|
|
123
|
+
|
|
124
|
+
return parts;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
//--------------------------------------------------------------------------------------------------
|
|
128
|
+
|
|
129
|
+
// Debugging helper. Adds indentation to all lines in the given string.
|
|
130
|
+
std::string indent(const std::string &s, const std::string &indentation, bool includingFirst) {
|
|
131
|
+
std::vector<std::string> parts = split(s, "\n", -1);
|
|
132
|
+
for (size_t i = 0; i < parts.size(); ++i) {
|
|
133
|
+
if (i == 0 && !includingFirst)
|
|
134
|
+
continue;
|
|
135
|
+
parts[i].insert(0, indentation);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
return join(parts, "\n");
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
//--------------------------------------------------------------------------------------------------
|
|
142
|
+
|
|
143
|
+
// Recursively get the error from a, possibly nested, exception.
|
|
144
|
+
#if defined(_MSC_FULL_VER) && _MSC_FULL_VER < 190023026
|
|
145
|
+
// No nested exceptions before VS 2015.
|
|
146
|
+
template <typename T>
|
|
147
|
+
std::exception_ptr get_nested(const T &/*e*/) {
|
|
148
|
+
try {
|
|
149
|
+
return nullptr;
|
|
150
|
+
}
|
|
151
|
+
catch (const std::bad_cast &) {
|
|
152
|
+
return nullptr;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
#else
|
|
156
|
+
template <typename T>
|
|
157
|
+
std::exception_ptr get_nested(const T &e) {
|
|
158
|
+
try {
|
|
159
|
+
auto nested = dynamic_cast<const std::nested_exception&>(e);
|
|
160
|
+
return nested.nested_ptr();
|
|
161
|
+
}
|
|
162
|
+
catch (const std::bad_cast &) {
|
|
163
|
+
return nullptr;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
#endif
|
|
167
|
+
|
|
168
|
+
std::string what(std::exception_ptr eptr) {
|
|
169
|
+
if (!eptr) {
|
|
170
|
+
throw std::bad_exception();
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
std::string result;
|
|
174
|
+
std::size_t nestCount = 0;
|
|
175
|
+
|
|
176
|
+
next: {
|
|
177
|
+
try {
|
|
178
|
+
std::exception_ptr yeptr;
|
|
179
|
+
std::swap(eptr, yeptr);
|
|
180
|
+
std::rethrow_exception(yeptr);
|
|
181
|
+
}
|
|
182
|
+
catch (const std::exception &e) {
|
|
183
|
+
result += e.what();
|
|
184
|
+
eptr = get_nested(e);
|
|
185
|
+
}
|
|
186
|
+
catch (const std::string &e) {
|
|
187
|
+
result += e;
|
|
188
|
+
}
|
|
189
|
+
catch (const char *e) {
|
|
190
|
+
result += e;
|
|
191
|
+
}
|
|
192
|
+
catch (...) {
|
|
193
|
+
result += "cannot be determined";
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
if (eptr) {
|
|
197
|
+
result += " (";
|
|
198
|
+
++nestCount;
|
|
199
|
+
goto next;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
result += std::string(nestCount, ')');
|
|
204
|
+
return result;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
} // namespace antlrcpp
|
|
@@ -0,0 +1,65 @@
|
|
|
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 antlrcpp {
|
|
11
|
+
|
|
12
|
+
ANTLR4CPP_PUBLIC std::string join(const std::vector<std::string> &strings, const std::string &separator);
|
|
13
|
+
ANTLR4CPP_PUBLIC std::map<std::string, size_t> toMap(const std::vector<std::string> &keys);
|
|
14
|
+
ANTLR4CPP_PUBLIC std::string escapeWhitespace(std::string str, bool escapeSpaces);
|
|
15
|
+
ANTLR4CPP_PUBLIC std::string toHexString(const int t);
|
|
16
|
+
ANTLR4CPP_PUBLIC std::string arrayToString(const std::vector<std::string> &data);
|
|
17
|
+
ANTLR4CPP_PUBLIC std::string replaceString(const std::string &s, const std::string &from, const std::string &to);
|
|
18
|
+
ANTLR4CPP_PUBLIC std::vector<std::string> split(const std::string &s, const std::string &sep, int count);
|
|
19
|
+
ANTLR4CPP_PUBLIC std::string indent(const std::string &s, const std::string &indentation, bool includingFirst = true);
|
|
20
|
+
|
|
21
|
+
// Using RAII + a lambda to implement a "finally" replacement.
|
|
22
|
+
template <typename OnEnd>
|
|
23
|
+
struct FinalAction {
|
|
24
|
+
FinalAction(OnEnd f) : _cleanUp { std::move(f) } {}
|
|
25
|
+
FinalAction(FinalAction &&other) :
|
|
26
|
+
_cleanUp(std::move(other._cleanUp)), _enabled(other._enabled) {
|
|
27
|
+
other._enabled = false; // Don't trigger the lambda after ownership has moved.
|
|
28
|
+
}
|
|
29
|
+
~FinalAction() { if (_enabled) _cleanUp(); }
|
|
30
|
+
|
|
31
|
+
void disable() { _enabled = false; }
|
|
32
|
+
private:
|
|
33
|
+
OnEnd _cleanUp;
|
|
34
|
+
bool _enabled {true};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
template <typename OnEnd>
|
|
38
|
+
FinalAction<OnEnd> finally(OnEnd f) {
|
|
39
|
+
return FinalAction<OnEnd>(std::move(f));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Convenience functions to avoid lengthy dynamic_cast() != nullptr checks in many places.
|
|
43
|
+
template <typename T1, typename T2>
|
|
44
|
+
inline bool is(T2 *obj) { // For pointer types.
|
|
45
|
+
return dynamic_cast<typename std::add_const<T1>::type>(obj) != nullptr;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
template <typename T1, typename T2>
|
|
49
|
+
inline bool is(Ref<T2> const& obj) { // For shared pointers.
|
|
50
|
+
return dynamic_cast<T1 *>(obj.get()) != nullptr;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
template <typename T>
|
|
54
|
+
std::string toString(const T &o) {
|
|
55
|
+
std::stringstream ss;
|
|
56
|
+
// typeid gives the mangled class name, but that's all what's possible
|
|
57
|
+
// in a portable way.
|
|
58
|
+
ss << typeid(o).name() << "@" << std::hex << reinterpret_cast<uintptr_t>(&o);
|
|
59
|
+
return ss.str();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Get the error text from an exception pointer or the current exception.
|
|
63
|
+
ANTLR4CPP_PUBLIC std::string what(std::exception_ptr eptr = std::current_exception());
|
|
64
|
+
|
|
65
|
+
} // namespace antlrcpp
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/* Copyright (c) 2012-2021 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 <cassert>
|
|
9
|
+
#include <memory>
|
|
10
|
+
#include <type_traits>
|
|
11
|
+
|
|
12
|
+
namespace antlrcpp {
|
|
13
|
+
|
|
14
|
+
template <typename To, typename From>
|
|
15
|
+
To downCast(From* from) {
|
|
16
|
+
static_assert(std::is_pointer_v<To>, "Target type not a pointer.");
|
|
17
|
+
static_assert(std::is_base_of_v<From, std::remove_pointer_t<To>>, "Target type not derived from source type.");
|
|
18
|
+
#if !defined(__GNUC__) || defined(__GXX_RTTI)
|
|
19
|
+
assert(from == nullptr || dynamic_cast<To>(from) != nullptr);
|
|
20
|
+
#endif
|
|
21
|
+
return static_cast<To>(from);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
template <typename To, typename From>
|
|
25
|
+
To downCast(From& from) {
|
|
26
|
+
static_assert(std::is_lvalue_reference_v<To>, "Target type not a lvalue reference.");
|
|
27
|
+
static_assert(std::is_base_of_v<From, std::remove_reference_t<To>>, "Target type not derived from source type.");
|
|
28
|
+
#if !defined(__GNUC__) || defined(__GXX_RTTI)
|
|
29
|
+
assert(dynamic_cast<std::add_pointer_t<std::remove_reference_t<To>>>(std::addressof(from)) != nullptr);
|
|
30
|
+
#endif
|
|
31
|
+
return static_cast<To>(from);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
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
|
+
namespace antlr4 {
|
|
9
|
+
class ANTLRErrorListener;
|
|
10
|
+
class ANTLRErrorStrategy;
|
|
11
|
+
class ANTLRFileStream;
|
|
12
|
+
class ANTLRInputStream;
|
|
13
|
+
class BailErrorStrategy;
|
|
14
|
+
class BaseErrorListener;
|
|
15
|
+
class BufferedTokenStream;
|
|
16
|
+
class CharStream;
|
|
17
|
+
class CommonToken;
|
|
18
|
+
class CommonTokenFactory;
|
|
19
|
+
class CommonTokenStream;
|
|
20
|
+
class ConsoleErrorListener;
|
|
21
|
+
class DefaultErrorStrategy;
|
|
22
|
+
class DiagnosticErrorListener;
|
|
23
|
+
class EmptyStackException;
|
|
24
|
+
class FailedPredicateException;
|
|
25
|
+
class IllegalArgumentException;
|
|
26
|
+
class IllegalStateException;
|
|
27
|
+
class InputMismatchException;
|
|
28
|
+
class IntStream;
|
|
29
|
+
class InterpreterRuleContext;
|
|
30
|
+
class Lexer;
|
|
31
|
+
class LexerInterpreter;
|
|
32
|
+
class LexerNoViableAltException;
|
|
33
|
+
class ListTokenSource;
|
|
34
|
+
class NoSuchElementException;
|
|
35
|
+
class NoViableAltException;
|
|
36
|
+
class NullPointerException;
|
|
37
|
+
class ParseCancellationException;
|
|
38
|
+
class Parser;
|
|
39
|
+
class ParserInterpreter;
|
|
40
|
+
class ParserRuleContext;
|
|
41
|
+
class ProxyErrorListener;
|
|
42
|
+
class RecognitionException;
|
|
43
|
+
class Recognizer;
|
|
44
|
+
class RuleContext;
|
|
45
|
+
class Token;
|
|
46
|
+
template<typename Symbol> class TokenFactory;
|
|
47
|
+
class TokenSource;
|
|
48
|
+
class TokenStream;
|
|
49
|
+
class TokenStreamRewriter;
|
|
50
|
+
class UnbufferedCharStream;
|
|
51
|
+
class UnbufferedTokenStream;
|
|
52
|
+
class WritableToken;
|
|
53
|
+
|
|
54
|
+
namespace misc {
|
|
55
|
+
class InterpreterDataReader;
|
|
56
|
+
class Interval;
|
|
57
|
+
class IntervalSet;
|
|
58
|
+
class MurmurHash;
|
|
59
|
+
class Utils;
|
|
60
|
+
class Predicate;
|
|
61
|
+
}
|
|
62
|
+
namespace atn {
|
|
63
|
+
class ATN;
|
|
64
|
+
class ATNConfig;
|
|
65
|
+
class ATNConfigSet;
|
|
66
|
+
class ATNDeserializationOptions;
|
|
67
|
+
class ATNDeserializer;
|
|
68
|
+
class ATNSerializer;
|
|
69
|
+
class ATNSimulator;
|
|
70
|
+
class ATNState;
|
|
71
|
+
enum class ATNType;
|
|
72
|
+
class ActionTransition;
|
|
73
|
+
class ArrayPredictionContext;
|
|
74
|
+
class AtomTransition;
|
|
75
|
+
class BasicBlockStartState;
|
|
76
|
+
class BasicState;
|
|
77
|
+
class BlockEndState;
|
|
78
|
+
class BlockStartState;
|
|
79
|
+
class DecisionState;
|
|
80
|
+
class EpsilonTransition;
|
|
81
|
+
class LL1Analyzer;
|
|
82
|
+
class LexerAction;
|
|
83
|
+
class LexerActionExecutor;
|
|
84
|
+
class LexerATNConfig;
|
|
85
|
+
class LexerATNSimulator;
|
|
86
|
+
class LexerMoreAction;
|
|
87
|
+
class LexerPopModeAction;
|
|
88
|
+
class LexerSkipAction;
|
|
89
|
+
class LookaheadEventInfo;
|
|
90
|
+
class LoopEndState;
|
|
91
|
+
class NotSetTransition;
|
|
92
|
+
class OrderedATNConfigSet;
|
|
93
|
+
class ParseInfo;
|
|
94
|
+
class ParserATNSimulator;
|
|
95
|
+
class PlusBlockStartState;
|
|
96
|
+
class PlusLoopbackState;
|
|
97
|
+
class PrecedencePredicateTransition;
|
|
98
|
+
class PredicateTransition;
|
|
99
|
+
class PredictionContext;
|
|
100
|
+
enum class PredictionMode;
|
|
101
|
+
class PredictionModeClass;
|
|
102
|
+
class RangeTransition;
|
|
103
|
+
class RuleStartState;
|
|
104
|
+
class RuleStopState;
|
|
105
|
+
class RuleTransition;
|
|
106
|
+
class SemanticContext;
|
|
107
|
+
class SetTransition;
|
|
108
|
+
class SingletonPredictionContext;
|
|
109
|
+
class StarBlockStartState;
|
|
110
|
+
class StarLoopEntryState;
|
|
111
|
+
class StarLoopbackState;
|
|
112
|
+
class TokensStartState;
|
|
113
|
+
class Transition;
|
|
114
|
+
class WildcardTransition;
|
|
115
|
+
}
|
|
116
|
+
namespace dfa {
|
|
117
|
+
class DFA;
|
|
118
|
+
class DFASerializer;
|
|
119
|
+
class DFAState;
|
|
120
|
+
class LexerDFASerializer;
|
|
121
|
+
class Vocabulary;
|
|
122
|
+
}
|
|
123
|
+
namespace tree {
|
|
124
|
+
class AbstractParseTreeVisitor;
|
|
125
|
+
class ErrorNode;
|
|
126
|
+
class ErrorNodeImpl;
|
|
127
|
+
class ParseTree;
|
|
128
|
+
class ParseTreeListener;
|
|
129
|
+
template<typename T> class ParseTreeProperty;
|
|
130
|
+
class ParseTreeVisitor;
|
|
131
|
+
class ParseTreeWalker;
|
|
132
|
+
class SyntaxTree;
|
|
133
|
+
class TerminalNode;
|
|
134
|
+
class TerminalNodeImpl;
|
|
135
|
+
class Tree;
|
|
136
|
+
class Trees;
|
|
137
|
+
|
|
138
|
+
namespace pattern {
|
|
139
|
+
class Chunk;
|
|
140
|
+
class ParseTreeMatch;
|
|
141
|
+
class ParseTreePattern;
|
|
142
|
+
class ParseTreePatternMatcher;
|
|
143
|
+
class RuleTagToken;
|
|
144
|
+
class TagChunk;
|
|
145
|
+
class TextChunk;
|
|
146
|
+
class TokenTagToken;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
namespace xpath {
|
|
150
|
+
class XPath;
|
|
151
|
+
class XPathElement;
|
|
152
|
+
class XPathLexerErrorListener;
|
|
153
|
+
class XPathRuleAnywhereElement;
|
|
154
|
+
class XPathRuleElement;
|
|
155
|
+
class XPathTokenAnywhereElement;
|
|
156
|
+
class XPathTokenElement;
|
|
157
|
+
class XPathWildcardAnywhereElement;
|
|
158
|
+
class XPathWildcardElement;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
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 "support/StringUtils.h"
|
|
7
|
+
|
|
8
|
+
namespace antlrcpp {
|
|
9
|
+
|
|
10
|
+
std::string escapeWhitespace(std::string_view in) {
|
|
11
|
+
std::string out;
|
|
12
|
+
escapeWhitespace(out, in);
|
|
13
|
+
out.shrink_to_fit();
|
|
14
|
+
return out;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
std::string& escapeWhitespace(std::string& out, std::string_view in) {
|
|
18
|
+
out.reserve(in.size()); // Best case, no escaping.
|
|
19
|
+
for (const auto &c : in) {
|
|
20
|
+
switch (c) {
|
|
21
|
+
case '\t':
|
|
22
|
+
out.append("\\t");
|
|
23
|
+
break;
|
|
24
|
+
case '\r':
|
|
25
|
+
out.append("\\r");
|
|
26
|
+
break;
|
|
27
|
+
case '\n':
|
|
28
|
+
out.append("\\n");
|
|
29
|
+
break;
|
|
30
|
+
default:
|
|
31
|
+
out.push_back(c);
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return out;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
} // namespace antrlcpp
|
|
@@ -0,0 +1,16 @@
|
|
|
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 antlrcpp {
|
|
11
|
+
|
|
12
|
+
ANTLR4CPP_PUBLIC std::string escapeWhitespace(std::string_view in);
|
|
13
|
+
|
|
14
|
+
ANTLR4CPP_PUBLIC std::string& escapeWhitespace(std::string& out, std::string_view in);
|
|
15
|
+
|
|
16
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/* Copyright (c) 2021 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 antlrcpp {
|
|
11
|
+
|
|
12
|
+
class ANTLR4CPP_PUBLIC Unicode final {
|
|
13
|
+
public:
|
|
14
|
+
static constexpr char32_t REPLACEMENT_CHARACTER = 0xfffd;
|
|
15
|
+
|
|
16
|
+
static constexpr bool isValid(char32_t codePoint) {
|
|
17
|
+
return codePoint < 0xd800 || (codePoint > 0xdfff && codePoint <= 0x10ffff);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
private:
|
|
21
|
+
Unicode() = delete;
|
|
22
|
+
Unicode(const Unicode&) = delete;
|
|
23
|
+
Unicode(Unicode&&) = delete;
|
|
24
|
+
Unicode& operator=(const Unicode&) = delete;
|
|
25
|
+
Unicode& operator=(Unicode&&) = delete;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
}
|