From c6ad2948bb98d42f8e0883ef82cd14cd2d5eda60 Mon Sep 17 00:00:00 2001
From: Patrick Schönberger
Date: Sat, 14 Aug 2021 14:56:12 +0200
Subject: add antlr source code and ReadMe
---
.../runtime/src/ANTLRErrorListener.cpp | 10 +
.../runtime/src/ANTLRErrorListener.h | 167 +++
.../runtime/src/ANTLRErrorStrategy.cpp | 10 +
.../runtime/src/ANTLRErrorStrategy.h | 121 ++
.../runtime/src/ANTLRFileStream.cpp | 29 +
.../runtime/src/ANTLRFileStream.h | 30 +
.../runtime/src/ANTLRInputStream.cpp | 169 +++
.../runtime/src/ANTLRInputStream.h | 76 ++
.../runtime/src/BailErrorStrategy.cpp | 61 +
.../runtime/src/BailErrorStrategy.h | 59 +
.../runtime/src/BaseErrorListener.cpp | 25 +
.../runtime/src/BaseErrorListener.h | 36 +
.../runtime/src/BufferedTokenStream.cpp | 414 ++++++
.../runtime/src/BufferedTokenStream.h | 200 +++
.../runtime/src/CharStream.cpp | 11 +
.../runtime/src/CharStream.h | 37 +
.../runtime/src/CommonToken.cpp | 195 +++
.../runtime/src/CommonToken.h | 158 +++
.../runtime/src/CommonTokenFactory.cpp | 39 +
.../runtime/src/CommonTokenFactory.h | 74 ++
.../runtime/src/CommonTokenStream.cpp | 78 ++
.../runtime/src/CommonTokenStream.h | 79 ++
.../runtime/src/ConsoleErrorListener.cpp | 15 +
.../runtime/src/ConsoleErrorListener.h | 35 +
.../runtime/src/DefaultErrorStrategy.cpp | 333 +++++
.../runtime/src/DefaultErrorStrategy.h | 466 +++++++
.../runtime/src/DiagnosticErrorListener.cpp | 84 ++
.../runtime/src/DiagnosticErrorListener.h | 80 ++
.../runtime/src/Exceptions.cpp | 64 +
.../runtime/src/Exceptions.h | 99 ++
.../runtime/src/FailedPredicateException.cpp | 51 +
.../runtime/src/FailedPredicateException.h | 32 +
.../runtime/src/InputMismatchException.cpp | 18 +
.../runtime/src/InputMismatchException.h | 24 +
.../runtime/src/IntStream.cpp | 12 +
.../runtime/src/IntStream.h | 224 ++++
.../runtime/src/InterpreterRuleContext.cpp | 19 +
.../runtime/src/InterpreterRuleContext.h | 45 +
.../runtime/src/Lexer.cpp | 295 +++++
.../runtime/src/Lexer.h | 209 +++
.../runtime/src/LexerInterpreter.cpp | 75 ++
.../runtime/src/LexerInterpreter.h | 52 +
.../runtime/src/LexerNoViableAltException.cpp | 36 +
.../runtime/src/LexerNoViableAltException.h | 31 +
.../runtime/src/ListTokenSource.cpp | 92 ++
.../runtime/src/ListTokenSource.h | 88 ++
.../runtime/src/NoViableAltException.cpp | 46 +
.../runtime/src/NoViableAltException.h | 42 +
.../runtime/src/Parser.cpp | 648 +++++++++
.../runtime/src/Parser.h | 467 +++++++
.../runtime/src/ParserInterpreter.cpp | 306 +++++
.../runtime/src/ParserInterpreter.h | 179 +++
.../runtime/src/ParserRuleContext.cpp | 141 ++
.../runtime/src/ParserRuleContext.h | 147 +++
.../runtime/src/ProxyErrorListener.cpp | 53 +
.../runtime/src/ProxyErrorListener.h | 38 +
.../runtime/src/RecognitionException.cpp | 66 +
.../runtime/src/RecognitionException.h | 98 ++
.../runtime/src/Recognizer.cpp | 167 +++
.../runtime/src/Recognizer.h | 170 +++
.../runtime/src/RuleContext.cpp | 143 ++
.../runtime/src/RuleContext.h | 137 ++
.../runtime/src/RuleContextWithAltNum.cpp | 27 +
.../runtime/src/RuleContextWithAltNum.h | 32 +
.../runtime/src/RuntimeMetaData.cpp | 53 +
.../runtime/src/RuntimeMetaData.h | 155 +++
.../runtime/src/Token.cpp | 9 +
.../runtime/src/Token.h | 124 ++
.../runtime/src/TokenFactory.h | 30 +
.../runtime/src/TokenSource.cpp | 9 +
.../runtime/src/TokenSource.h | 85 ++
.../runtime/src/TokenStream.cpp | 11 +
.../runtime/src/TokenStream.h | 137 ++
.../runtime/src/TokenStreamRewriter.cpp | 425 ++++++
.../runtime/src/TokenStreamRewriter.h | 300 +++++
.../runtime/src/UnbufferedCharStream.cpp | 211 +++
.../runtime/src/UnbufferedCharStream.h | 123 ++
.../runtime/src/UnbufferedTokenStream.cpp | 270 ++++
.../runtime/src/UnbufferedTokenStream.h | 115 ++
.../runtime/src/Vocabulary.cpp | 96 ++
.../runtime/src/Vocabulary.h | 192 +++
.../runtime/src/WritableToken.cpp | 9 +
.../runtime/src/WritableToken.h | 23 +
.../runtime/src/antlr4-common.h | 140 ++
.../runtime/src/antlr4-runtime.h | 167 +++
.../runtime/src/atn/ATN.cpp | 209 +++
.../runtime/src/atn/ATN.h | 118 ++
.../runtime/src/atn/ATNConfig.cpp | 111 ++
.../runtime/src/atn/ATNConfig.h | 154 +++
.../runtime/src/atn/ATNConfigSet.cpp | 228 ++++
.../runtime/src/atn/ATNConfigSet.h | 110 ++
.../runtime/src/atn/ATNDeserializationOptions.cpp | 64 +
.../runtime/src/atn/ATNDeserializationOptions.h | 50 +
.../runtime/src/atn/ATNDeserializer.cpp | 756 +++++++++++
.../runtime/src/atn/ATNDeserializer.h | 91 ++
.../runtime/src/atn/ATNSerializer.cpp | 621 +++++++++
.../runtime/src/atn/ATNSerializer.h | 61 +
.../runtime/src/atn/ATNSimulator.cpp | 63 +
.../runtime/src/atn/ATNSimulator.h | 87 ++
.../runtime/src/atn/ATNState.cpp | 72 +
.../runtime/src/atn/ATNState.h | 140 ++
.../runtime/src/atn/ATNType.h | 20 +
.../src/atn/AbstractPredicateTransition.cpp | 14 +
.../runtime/src/atn/AbstractPredicateTransition.h | 24 +
.../runtime/src/atn/ActionTransition.cpp | 33 +
.../runtime/src/atn/ActionTransition.h | 33 +
.../runtime/src/atn/AmbiguityInfo.cpp | 16 +
.../runtime/src/atn/AmbiguityInfo.h | 68 +
.../runtime/src/atn/ArrayPredictionContext.cpp | 82 ++
.../runtime/src/atn/ArrayPredictionContext.h | 43 +
.../runtime/src/atn/AtomTransition.cpp | 31 +
.../runtime/src/atn/AtomTransition.h | 30 +
.../runtime/src/atn/BasicBlockStartState.cpp | 12 +
.../runtime/src/atn/BasicBlockStartState.h | 22 +
.../runtime/src/atn/BasicState.cpp | 12 +
.../runtime/src/atn/BasicState.h | 21 +
.../runtime/src/atn/BlockEndState.cpp | 15 +
.../runtime/src/atn/BlockEndState.h | 24 +
.../runtime/src/atn/BlockStartState.cpp | 9 +
.../runtime/src/atn/BlockStartState.h | 21 +
.../runtime/src/atn/ContextSensitivityInfo.cpp | 14 +
.../runtime/src/atn/ContextSensitivityInfo.h | 47 +
.../runtime/src/atn/DecisionEventInfo.cpp | 14 +
.../runtime/src/atn/DecisionEventInfo.h | 70 +
.../runtime/src/atn/DecisionInfo.cpp | 25 +
.../runtime/src/atn/DecisionInfo.h | 227 ++++
.../runtime/src/atn/DecisionState.cpp | 17 +
.../runtime/src/atn/DecisionState.h | 30 +
.../runtime/src/atn/EmptyPredictionContext.cpp | 35 +
.../runtime/src/atn/EmptyPredictionContext.h | 27 +
.../runtime/src/atn/EpsilonTransition.cpp | 35 +
.../runtime/src/atn/EpsilonTransition.h | 39 +
.../runtime/src/atn/ErrorInfo.cpp | 15 +
.../runtime/src/atn/ErrorInfo.h | 43 +
.../runtime/src/atn/LL1Analyzer.cpp | 156 +++
.../runtime/src/atn/LL1Analyzer.h | 115 ++
.../runtime/src/atn/LexerATNConfig.cpp | 84 ++
.../runtime/src/atn/LexerATNConfig.h | 44 +
.../runtime/src/atn/LexerATNSimulator.cpp | 628 +++++++++
.../runtime/src/atn/LexerATNSimulator.h | 217 ++++
.../runtime/src/atn/LexerAction.cpp | 9 +
.../runtime/src/atn/LexerAction.h | 66 +
.../runtime/src/atn/LexerActionExecutor.cpp | 107 ++
.../runtime/src/atn/LexerActionExecutor.h | 115 ++
.../runtime/src/atn/LexerActionType.h | 55 +
.../runtime/src/atn/LexerChannelAction.cpp | 55 +
.../runtime/src/atn/LexerChannelAction.h | 63 +
.../runtime/src/atn/LexerCustomAction.cpp | 62 +
.../runtime/src/atn/LexerCustomAction.h | 87 ++
.../runtime/src/atn/LexerIndexedCustomAction.cpp | 63 +
.../runtime/src/atn/LexerIndexedCustomAction.h | 82 ++
.../runtime/src/atn/LexerModeAction.cpp | 56 +
.../runtime/src/atn/LexerModeAction.h | 61 +
.../runtime/src/atn/LexerMoreAction.cpp | 47 +
.../runtime/src/atn/LexerMoreAction.h | 57 +
.../runtime/src/atn/LexerPopModeAction.cpp | 47 +
.../runtime/src/atn/LexerPopModeAction.h | 57 +
.../runtime/src/atn/LexerPushModeAction.cpp | 56 +
.../runtime/src/atn/LexerPushModeAction.h | 61 +
.../runtime/src/atn/LexerSkipAction.cpp | 47 +
.../runtime/src/atn/LexerSkipAction.h | 55 +
.../runtime/src/atn/LexerTypeAction.cpp | 56 +
.../runtime/src/atn/LexerTypeAction.h | 55 +
.../runtime/src/atn/LookaheadEventInfo.cpp | 16 +
.../runtime/src/atn/LookaheadEventInfo.h | 42 +
.../runtime/src/atn/LoopEndState.cpp | 12 +
.../runtime/src/atn/LoopEndState.h | 22 +
.../runtime/src/atn/Makefile | 67 +
.../runtime/src/atn/NotSetTransition.cpp | 27 +
.../runtime/src/atn/NotSetTransition.h | 25 +
.../runtime/src/atn/OrderedATNConfigSet.cpp | 12 +
.../runtime/src/atn/OrderedATNConfigSet.h | 20 +
.../runtime/src/atn/ParseInfo.cpp | 102 ++
.../runtime/src/atn/ParseInfo.h | 102 ++
.../runtime/src/atn/ParserATNSimulator.cpp | 1370 ++++++++++++++++++++
.../runtime/src/atn/ParserATNSimulator.h | 904 +++++++++++++
.../runtime/src/atn/PlusBlockStartState.cpp | 12 +
.../runtime/src/atn/PlusBlockStartState.h | 25 +
.../runtime/src/atn/PlusLoopbackState.cpp | 12 +
.../runtime/src/atn/PlusLoopbackState.h | 22 +
.../src/atn/PrecedencePredicateTransition.cpp | 32 +
.../src/atn/PrecedencePredicateTransition.h | 29 +
.../runtime/src/atn/PredicateEvalInfo.cpp | 17 +
.../runtime/src/atn/PredicateEvalInfo.h | 62 +
.../runtime/src/atn/PredicateTransition.cpp | 34 +
.../runtime/src/atn/PredicateTransition.h | 39 +
.../runtime/src/atn/PredictionContext.cpp | 662 ++++++++++
.../runtime/src/atn/PredictionContext.h | 266 ++++
.../runtime/src/atn/PredictionMode.cpp | 201 +++
.../runtime/src/atn/PredictionMode.h | 436 +++++++
.../runtime/src/atn/ProfilingATNSimulator.cpp | 179 +++
.../runtime/src/atn/ProfilingATNSimulator.h | 60 +
.../runtime/src/atn/RangeTransition.cpp | 30 +
.../runtime/src/atn/RangeTransition.h | 29 +
.../runtime/src/atn/RuleStartState.cpp | 16 +
.../runtime/src/atn/RuleStartState.h | 25 +
.../runtime/src/atn/RuleStopState.cpp | 12 +
.../runtime/src/atn/RuleStopState.h | 25 +
.../runtime/src/atn/RuleTransition.cpp | 37 +
.../runtime/src/atn/RuleTransition.h | 40 +
.../runtime/src/atn/SemanticContext.cpp | 377 ++++++
.../runtime/src/atn/SemanticContext.h | 222 ++++
.../runtime/src/atn/SetTransition.cpp | 32 +
.../runtime/src/atn/SetTransition.h | 30 +
.../runtime/src/atn/SingletonPredictionContext.cpp | 81 ++
.../runtime/src/atn/SingletonPredictionContext.h | 36 +
.../runtime/src/atn/StarBlockStartState.cpp | 12 +
.../runtime/src/atn/StarBlockStartState.h | 21 +
.../runtime/src/atn/StarLoopEntryState.cpp | 15 +
.../runtime/src/atn/StarLoopEntryState.h | 35 +
.../runtime/src/atn/StarLoopbackState.cpp | 19 +
.../runtime/src/atn/StarLoopbackState.h | 21 +
.../runtime/src/atn/TokensStartState.cpp | 12 +
.../runtime/src/atn/TokensStartState.h | 21 +
.../runtime/src/atn/Transition.cpp | 44 +
.../runtime/src/atn/Transition.h | 76 ++
.../runtime/src/atn/WildcardTransition.cpp | 25 +
.../runtime/src/atn/WildcardTransition.h | 25 +
.../runtime/src/dfa/DFA.cpp | 127 ++
.../runtime/src/dfa/DFA.h | 91 ++
.../runtime/src/dfa/DFASerializer.cpp | 67 +
.../runtime/src/dfa/DFASerializer.h | 32 +
.../runtime/src/dfa/DFAState.cpp | 100 ++
.../runtime/src/dfa/DFAState.h | 144 ++
.../runtime/src/dfa/LexerDFASerializer.cpp | 20 +
.../runtime/src/dfa/LexerDFASerializer.h | 23 +
.../runtime/src/misc/InterpreterDataReader.cpp | 124 ++
.../runtime/src/misc/InterpreterDataReader.h | 31 +
.../runtime/src/misc/Interval.cpp | 89 ++
.../runtime/src/misc/Interval.h | 84 ++
.../runtime/src/misc/IntervalSet.cpp | 521 ++++++++
.../runtime/src/misc/IntervalSet.h | 198 +++
.../runtime/src/misc/MurmurHash.cpp | 134 ++
.../runtime/src/misc/MurmurHash.h | 82 ++
.../runtime/src/misc/Predicate.cpp | 4 +
.../runtime/src/misc/Predicate.h | 21 +
.../runtime/src/support/Any.cpp | 13 +
.../runtime/src/support/Any.h | 170 +++
.../runtime/src/support/Arrays.cpp | 43 +
.../runtime/src/support/Arrays.h | 110 ++
.../runtime/src/support/BitSet.h | 76 ++
.../runtime/src/support/CPPUtils.cpp | 248 ++++
.../runtime/src/support/CPPUtils.h | 78 ++
.../runtime/src/support/Declarations.h | 163 +++
.../runtime/src/support/StringUtils.cpp | 46 +
.../runtime/src/support/StringUtils.h | 76 ++
.../runtime/src/support/guid.cpp | 303 +++++
.../runtime/src/support/guid.h | 112 ++
.../runtime/src/tree/AbstractParseTreeVisitor.h | 128 ++
.../runtime/src/tree/ErrorNode.cpp | 9 +
.../runtime/src/tree/ErrorNode.h | 19 +
.../runtime/src/tree/ErrorNodeImpl.cpp | 23 +
.../runtime/src/tree/ErrorNodeImpl.h | 33 +
.../runtime/src/tree/IterativeParseTreeWalker.cpp | 71 +
.../runtime/src/tree/IterativeParseTreeWalker.h | 53 +
.../runtime/src/tree/ParseTree.cpp | 15 +
.../runtime/src/tree/ParseTree.h | 102 ++
.../runtime/src/tree/ParseTreeListener.cpp | 9 +
.../runtime/src/tree/ParseTreeListener.h | 39 +
.../runtime/src/tree/ParseTreeProperty.h | 50 +
.../runtime/src/tree/ParseTreeVisitor.cpp | 9 +
.../runtime/src/tree/ParseTreeVisitor.h | 57 +
.../runtime/src/tree/ParseTreeWalker.cpp | 49 +
.../runtime/src/tree/ParseTreeWalker.h | 55 +
.../runtime/src/tree/TerminalNode.cpp | 9 +
.../runtime/src/tree/TerminalNode.h | 32 +
.../runtime/src/tree/TerminalNodeImpl.cpp | 57 +
.../runtime/src/tree/TerminalNodeImpl.h | 33 +
.../runtime/src/tree/Trees.cpp | 241 ++++
.../runtime/src/tree/Trees.h | 78 ++
.../runtime/src/tree/pattern/Chunk.cpp | 9 +
.../runtime/src/tree/pattern/Chunk.h | 44 +
.../runtime/src/tree/pattern/ParseTreeMatch.cpp | 69 +
.../runtime/src/tree/pattern/ParseTreeMatch.h | 132 ++
.../runtime/src/tree/pattern/ParseTreePattern.cpp | 64 +
.../runtime/src/tree/pattern/ParseTreePattern.h | 105 ++
.../src/tree/pattern/ParseTreePatternMatcher.cpp | 371 ++++++
.../src/tree/pattern/ParseTreePatternMatcher.h | 185 +++
.../runtime/src/tree/pattern/RuleTagToken.cpp | 77 ++
.../runtime/src/tree/pattern/RuleTagToken.h | 117 ++
.../runtime/src/tree/pattern/TagChunk.cpp | 39 +
.../runtime/src/tree/pattern/TagChunk.h | 86 ++
.../runtime/src/tree/pattern/TextChunk.cpp | 28 +
.../runtime/src/tree/pattern/TextChunk.h | 51 +
.../runtime/src/tree/pattern/TokenTagToken.cpp | 36 +
.../runtime/src/tree/pattern/TokenTagToken.h | 80 ++
.../runtime/src/tree/xpath/XPath.cpp | 154 +++
.../runtime/src/tree/xpath/XPath.h | 86 ++
.../runtime/src/tree/xpath/XPathElement.cpp | 31 +
.../runtime/src/tree/xpath/XPathElement.h | 40 +
.../runtime/src/tree/xpath/XPathLexer.cpp | 173 +++
.../runtime/src/tree/xpath/XPathLexer.g4 | 64 +
.../runtime/src/tree/xpath/XPathLexer.h | 56 +
.../runtime/src/tree/xpath/XPathLexer.tokens | 12 +
.../src/tree/xpath/XPathLexerErrorListener.cpp | 13 +
.../src/tree/xpath/XPathLexerErrorListener.h | 22 +
.../src/tree/xpath/XPathRuleAnywhereElement.cpp | 20 +
.../src/tree/xpath/XPathRuleAnywhereElement.h | 27 +
.../runtime/src/tree/xpath/XPathRuleElement.cpp | 30 +
.../runtime/src/tree/xpath/XPathRuleElement.h | 26 +
.../src/tree/xpath/XPathTokenAnywhereElement.cpp | 20 +
.../src/tree/xpath/XPathTokenAnywhereElement.h | 25 +
.../runtime/src/tree/xpath/XPathTokenElement.cpp | 33 +
.../runtime/src/tree/xpath/XPathTokenElement.h | 26 +
.../tree/xpath/XPathWildcardAnywhereElement.cpp | 23 +
.../src/tree/xpath/XPathWildcardAnywhereElement.h | 23 +
.../src/tree/xpath/XPathWildcardElement.cpp | 24 +
.../runtime/src/tree/xpath/XPathWildcardElement.h | 23 +
308 files changed, 29986 insertions(+)
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorListener.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorListener.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorStrategy.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorStrategy.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRFileStream.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRFileStream.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRInputStream.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRInputStream.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/BailErrorStrategy.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/BailErrorStrategy.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/BaseErrorListener.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/BaseErrorListener.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/BufferedTokenStream.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/BufferedTokenStream.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/CharStream.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/CharStream.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/CommonToken.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/CommonToken.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/CommonTokenFactory.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/CommonTokenFactory.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/CommonTokenStream.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/CommonTokenStream.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ConsoleErrorListener.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ConsoleErrorListener.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/DefaultErrorStrategy.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/DefaultErrorStrategy.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/DiagnosticErrorListener.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/DiagnosticErrorListener.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/Exceptions.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/Exceptions.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/FailedPredicateException.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/FailedPredicateException.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/InputMismatchException.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/InputMismatchException.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/IntStream.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/IntStream.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/InterpreterRuleContext.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/InterpreterRuleContext.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/Lexer.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/Lexer.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/LexerInterpreter.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/LexerInterpreter.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/LexerNoViableAltException.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/LexerNoViableAltException.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ListTokenSource.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ListTokenSource.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/NoViableAltException.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/NoViableAltException.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/Parser.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/Parser.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ParserInterpreter.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ParserInterpreter.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ParserRuleContext.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ParserRuleContext.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ProxyErrorListener.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/ProxyErrorListener.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/RecognitionException.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/RecognitionException.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/Recognizer.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/Recognizer.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/RuleContext.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/RuleContext.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/RuleContextWithAltNum.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/RuleContextWithAltNum.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/RuntimeMetaData.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/RuntimeMetaData.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/Token.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/Token.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/TokenFactory.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/TokenSource.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/TokenSource.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/TokenStream.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/TokenStream.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/TokenStreamRewriter.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/TokenStreamRewriter.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/UnbufferedCharStream.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/UnbufferedCharStream.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/UnbufferedTokenStream.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/UnbufferedTokenStream.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/Vocabulary.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/Vocabulary.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/WritableToken.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/WritableToken.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/antlr4-common.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/antlr4-runtime.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATN.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATN.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNConfig.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNConfig.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNConfigSet.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNConfigSet.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNDeserializationOptions.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNDeserializationOptions.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNDeserializer.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNDeserializer.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNSerializer.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNSerializer.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNSimulator.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNSimulator.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ATNType.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/AbstractPredicateTransition.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/AbstractPredicateTransition.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ActionTransition.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ActionTransition.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/AmbiguityInfo.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/AmbiguityInfo.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ArrayPredictionContext.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ArrayPredictionContext.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/AtomTransition.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/AtomTransition.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/BasicBlockStartState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/BasicBlockStartState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/BasicState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/BasicState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/BlockEndState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/BlockEndState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/BlockStartState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/BlockStartState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ContextSensitivityInfo.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ContextSensitivityInfo.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/DecisionEventInfo.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/DecisionEventInfo.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/DecisionInfo.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/DecisionInfo.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/DecisionState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/DecisionState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/EmptyPredictionContext.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/EmptyPredictionContext.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/EpsilonTransition.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/EpsilonTransition.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ErrorInfo.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ErrorInfo.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LL1Analyzer.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LL1Analyzer.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerATNConfig.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerATNConfig.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerATNSimulator.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerATNSimulator.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerAction.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerAction.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerActionExecutor.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerActionExecutor.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerActionType.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerChannelAction.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerChannelAction.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerCustomAction.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerCustomAction.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerIndexedCustomAction.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerIndexedCustomAction.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerModeAction.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerModeAction.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerMoreAction.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerMoreAction.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerPopModeAction.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerPopModeAction.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerPushModeAction.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerPushModeAction.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerSkipAction.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerSkipAction.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerTypeAction.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LexerTypeAction.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LookaheadEventInfo.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LookaheadEventInfo.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LoopEndState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/LoopEndState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/Makefile
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/NotSetTransition.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/NotSetTransition.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/OrderedATNConfigSet.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/OrderedATNConfigSet.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ParseInfo.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ParseInfo.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ParserATNSimulator.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ParserATNSimulator.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PlusBlockStartState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PlusBlockStartState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PlusLoopbackState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PlusLoopbackState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PrecedencePredicateTransition.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PrecedencePredicateTransition.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PredicateEvalInfo.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PredicateEvalInfo.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PredicateTransition.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PredicateTransition.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PredictionContext.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PredictionContext.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PredictionMode.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/PredictionMode.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ProfilingATNSimulator.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/ProfilingATNSimulator.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/RangeTransition.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/RangeTransition.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/RuleStartState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/RuleStartState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/RuleStopState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/RuleStopState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/RuleTransition.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/RuleTransition.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/SemanticContext.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/SemanticContext.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/SetTransition.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/SetTransition.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/SingletonPredictionContext.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/SingletonPredictionContext.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/StarBlockStartState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/StarBlockStartState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/StarLoopEntryState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/StarLoopEntryState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/StarLoopbackState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/StarLoopbackState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/TokensStartState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/TokensStartState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/Transition.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/Transition.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/WildcardTransition.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/atn/WildcardTransition.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/dfa/DFA.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/dfa/DFA.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/dfa/DFASerializer.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/dfa/DFASerializer.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/dfa/DFAState.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/dfa/DFAState.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/dfa/LexerDFASerializer.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/dfa/LexerDFASerializer.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/misc/InterpreterDataReader.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/misc/InterpreterDataReader.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/misc/Interval.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/misc/Interval.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/misc/IntervalSet.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/misc/IntervalSet.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/misc/MurmurHash.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/misc/MurmurHash.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/misc/Predicate.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/misc/Predicate.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/support/Any.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/support/Any.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/support/Arrays.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/support/Arrays.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/support/BitSet.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/support/CPPUtils.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/support/CPPUtils.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/support/Declarations.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/support/StringUtils.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/support/StringUtils.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/support/guid.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/support/guid.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/AbstractParseTreeVisitor.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/ErrorNode.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/ErrorNode.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/ErrorNodeImpl.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/ErrorNodeImpl.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/IterativeParseTreeWalker.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/IterativeParseTreeWalker.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/ParseTree.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/ParseTree.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/ParseTreeListener.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/ParseTreeListener.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/ParseTreeProperty.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/ParseTreeVisitor.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/ParseTreeVisitor.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/ParseTreeWalker.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/ParseTreeWalker.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/TerminalNode.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/TerminalNode.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/TerminalNodeImpl.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/TerminalNodeImpl.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/Trees.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/Trees.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/Chunk.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/Chunk.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/ParseTreeMatch.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/ParseTreeMatch.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/ParseTreePattern.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/ParseTreePattern.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/ParseTreePatternMatcher.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/RuleTagToken.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/RuleTagToken.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/TagChunk.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/TagChunk.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/TextChunk.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/TextChunk.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/TokenTagToken.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/pattern/TokenTagToken.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPath.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPath.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathElement.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathElement.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathLexer.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathLexer.g4
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathLexer.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathLexer.tokens
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathLexerErrorListener.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathLexerErrorListener.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathRuleAnywhereElement.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathRuleElement.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathRuleElement.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathTokenAnywhereElement.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathTokenElement.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathTokenElement.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathWildcardElement.cpp
create mode 100644 antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/xpath/XPathWildcardElement.h
(limited to 'antlr4-cpp-runtime-4.9.2-source/runtime/src')
diff --git a/antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorListener.cpp b/antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorListener.cpp
new file mode 100644
index 0000000..6ceadb8
--- /dev/null
+++ b/antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorListener.cpp
@@ -0,0 +1,10 @@
+/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
+ * Use of this file is governed by the BSD 3-clause license that
+ * can be found in the LICENSE.txt file in the project root.
+ */
+
+#include "ANTLRErrorListener.h"
+
+antlr4::ANTLRErrorListener::~ANTLRErrorListener()
+{
+}
diff --git a/antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorListener.h b/antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorListener.h
new file mode 100644
index 0000000..d6efad1
--- /dev/null
+++ b/antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorListener.h
@@ -0,0 +1,167 @@
+/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
+ * Use of this file is governed by the BSD 3-clause license that
+ * can be found in the LICENSE.txt file in the project root.
+ */
+
+#pragma once
+
+#include "RecognitionException.h"
+
+namespace antlrcpp {
+ class BitSet;
+}
+
+namespace antlr4 {
+
+ /// How to emit recognition errors (an interface in Java).
+ class ANTLR4CPP_PUBLIC ANTLRErrorListener {
+ public:
+ virtual ~ANTLRErrorListener();
+
+ ///
Each full-context prediction which does not result in a syntax error + * will call either {@link #reportContextSensitivity} or + * {@link #reportAmbiguity}.
+ * + *When {@code ambigAlts} is not null, it contains the set of potentially + * viable alternatives identified by the prediction algorithm. When + * {@code ambigAlts} is null, use {@link ATNConfigSet#getAlts} to obtain the + * represented alternatives from the {@code configs} argument.
+ * + *When {@code exact} is {@code true}, all of the potentially + * viable alternatives are truly viable, i.e. this is reporting an exact + * ambiguity. When {@code exact} is {@code false}, at least two of + * the potentially viable alternatives are viable for the current input, but + * the prediction algorithm terminated as soon as it determined that at + * least the minimum potentially viable alternative is truly + * viable.
+ * + *When the {@link PredictionMode#LL_EXACT_AMBIG_DETECTION} prediction + * mode is used, the parser is required to identify exact ambiguities so + * {@code exact} will always be {@code true}.
+ * + *This method is not used by lexers.
+ * + * @param recognizer the parser instance + * @param dfa the DFA for the current decision + * @param startIndex the input index where the decision started + * @param stopIndex the input input where the ambiguity was identified + * @param exact {@code true} if the ambiguity is exactly known, otherwise + * {@code false}. This is always {@code true} when + * {@link PredictionMode#LL_EXACT_AMBIG_DETECTION} is used. + * @param ambigAlts the potentially ambiguous alternatives, or {@code null} + * to indicate that the potentially ambiguous alternatives are the complete + * set of represented alternatives in {@code configs} + * @param configs the ATN configuration set where the ambiguity was + * identified + */ + virtual void reportAmbiguity(Parser *recognizer, const dfa::DFA &dfa, size_t startIndex, size_t stopIndex, bool exact, + const antlrcpp::BitSet &ambigAlts, atn::ATNConfigSet *configs) = 0; + + /** + * This method is called when an SLL conflict occurs and the parser is about + * to use the full context information to make an LL decision. + * + *If one or more configurations in {@code configs} contains a semantic + * predicate, the predicates are evaluated before this method is called. The + * subset of alternatives which are still viable after predicates are + * evaluated is reported in {@code conflictingAlts}.
+ * + *This method is not used by lexers.
+ * + * @param recognizer the parser instance + * @param dfa the DFA for the current decision + * @param startIndex the input index where the decision started + * @param stopIndex the input index where the SLL conflict occurred + * @param conflictingAlts The specific conflicting alternatives. If this is + * {@code null}, the conflicting alternatives are all alternatives + * represented in {@code configs}. At the moment, conflictingAlts is non-null + * (for the reference implementation, but Sam's optimized version can see this + * as null). + * @param configs the ATN configuration set where the SLL conflict was + * detected + */ + virtual void reportAttemptingFullContext(Parser *recognizer, const dfa::DFA &dfa, size_t startIndex, size_t stopIndex, + const antlrcpp::BitSet &conflictingAlts, atn::ATNConfigSet *configs) = 0; + + /** + * This method is called by the parser when a full-context prediction has a + * unique result. + * + *Each full-context prediction which does not result in a syntax error + * will call either {@link #reportContextSensitivity} or + * {@link #reportAmbiguity}.
+ * + *For prediction implementations that only evaluate full-context + * predictions when an SLL conflict is found (including the default + * {@link ParserATNSimulator} implementation), this method reports cases + * where SLL conflicts were resolved to unique full-context predictions, + * i.e. the decision was context-sensitive. This report does not necessarily + * indicate a problem, and it may appear even in completely unambiguous + * grammars.
+ * + *{@code configs} may have more than one represented alternative if the + * full-context prediction algorithm does not evaluate predicates before + * beginning the full-context prediction. In all cases, the final prediction + * is passed as the {@code prediction} argument.
+ * + *Note that the definition of "context sensitivity" in this method + * differs from the concept in {@link DecisionInfo#contextSensitivities}. + * This method reports all instances where an SLL conflict occurred but LL + * parsing produced a unique result, whether or not that unique result + * matches the minimum alternative in the SLL conflicting set.
+ * + *This method is not used by lexers.
+ * + * @param recognizer the parser instance + * @param dfa the DFA for the current decision + * @param startIndex the input index where the decision started + * @param stopIndex the input index where the context sensitivity was + * finally determined + * @param prediction the unambiguous result of the full-context prediction + * @param configs the ATN configuration set where the unambiguous prediction + * was determined + */ + virtual void reportContextSensitivity(Parser *recognizer, const dfa::DFA &dfa, size_t startIndex, size_t stopIndex, + size_t prediction, atn::ATNConfigSet *configs) = 0; + }; + +} // namespace antlr4 diff --git a/antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorStrategy.cpp b/antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorStrategy.cpp new file mode 100644 index 0000000..1655a57 --- /dev/null +++ b/antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorStrategy.cpp @@ -0,0 +1,10 @@ +/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. + * Use of this file is governed by the BSD 3-clause license that + * can be found in the LICENSE.txt file in the project root. + */ + +#include "ANTLRErrorStrategy.h" + +antlr4::ANTLRErrorStrategy::~ANTLRErrorStrategy() +{ +} diff --git a/antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorStrategy.h b/antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorStrategy.h new file mode 100644 index 0000000..a3eecd1 --- /dev/null +++ b/antlr4-cpp-runtime-4.9.2-source/runtime/src/ANTLRErrorStrategy.h @@ -0,0 +1,121 @@ +/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. + * Use of this file is governed by the BSD 3-clause license that + * can be found in the LICENSE.txt file in the project root. + */ + +#pragma once + +#include "Token.h" + +namespace antlr4 { + + ///This method handles the consumption of any tokens - the caller should + * not call {@link Parser#consume} after a successful recovery.
+ * + *Note that the calling code will not report an error if this method + * returns successfully. The error strategy implementation is responsible + * for calling {@link Parser#notifyErrorListeners} as appropriate.
+ * + * @param recognizer the parser instance + * @throws RecognitionException if the error strategy was not able to + * recover from the unexpected input symbol + */ + virtual Token* recoverInline(Parser *recognizer) = 0; + + ///+ * This error strategy is useful in the following scenarios.
+ * + *+ * {@code myparser.setErrorHandler(new BailErrorStrategy());}
+ * + * @see Parser#setErrorHandler(ANTLRErrorStrategy) + */ + class ANTLR4CPP_PUBLIC BailErrorStrategy : public DefaultErrorStrategy { + ///+ * This token stream ignores the value of {@link Token#getChannel}. If your + * parser requires the token stream filter tokens to only those on a particular + * channel, such as {@link Token#DEFAULT_CHANNEL} or + * {@link Token#HIDDEN_CHANNEL}, use a filtering token stream such a + * {@link CommonTokenStream}.
+ */ + class ANTLR4CPP_PUBLIC BufferedTokenStream : public TokenStream { + public: + BufferedTokenStream(TokenSource *tokenSource); + BufferedTokenStream(const BufferedTokenStream& other) = delete; + + BufferedTokenStream& operator = (const BufferedTokenStream& other) = delete; + + virtual TokenSource* getTokenSource() const override; + virtual size_t index() override; + virtual ssize_t mark() override; + + virtual void release(ssize_t marker) override; + virtual void reset(); + virtual void seek(size_t index) override; + + virtual size_t size() override; + virtual void consume() override; + + virtual Token* get(size_t i) const override; + + /// Get all tokens from start..stop inclusively. + virtual std::vectorThis field is set to -1 when the stream is first constructed or when + * {@link #setTokenSource} is called, indicating that the first token has + * not yet been fetched from the token source. For additional information, + * see the documentation of {@link IntStream} for a description of + * Initializing Methods.
+ */ + // ml: since -1 requires to make this member signed for just this single aspect we use a member _needSetup instead. + // Use bool isInitialized() to find out if this stream has started reading. + size_t _p; + + /** + * Indicates whether the {@link Token#EOF} token has been fetched from + * {@link #tokenSource} and added to {@link #tokens}. This field improves + * performance for the following cases: + * + *+ * If {@code i} specifies an index at or after the EOF token, the EOF token + * index is returned. This is due to the fact that the EOF token is treated + * as though it were on every channel.
+ */ + virtual ssize_t previousTokenOnChannel(size_t i, size_t channel); + + virtual std::vector+ * These properties share a field to reduce the memory footprint of + * {@link CommonToken}. Tokens created by a {@link CommonTokenFactory} from + * the same source and input stream share a reference to the same + * {@link Pair} containing these values.
+ */ + + std::pair+ * If {@code oldToken} is also a {@link CommonToken} instance, the newly + * constructed token will share a reference to the {@link #text} field and + * the {@link Pair} stored in {@link #source}. Otherwise, {@link #text} will + * be assigned the result of calling {@link #getText}, and {@link #source} + * will be constructed from the result of {@link Token#getTokenSource} and + * {@link Token#getInputStream}.
+ * + * @param oldToken The token to copy. + */ + CommonToken(Token *oldToken); + + virtual size_t getType() const override; + + /** + * Explicitly set the text for this token. If {code text} is not + * {@code null}, then {@link #getText} will return this value rather than + * extracting the text from the input. + * + * @param text The explicit text of the token, or {@code null} if the text + * should be obtained from the input along with the start and stop indexes + * of the token. + */ + virtual void setText(const std::string &text) override; + virtual std::string getText() const override; + + virtual void setLine(size_t line) override; + virtual size_t getLine() const override; + + virtual size_t getCharPositionInLine() const override; + virtual void setCharPositionInLine(size_t charPositionInLine) override; + + virtual size_t getChannel() const override; + virtual void setChannel(size_t channel) override; + + virtual void setType(size_t type) override; + + virtual size_t getStartIndex() const override; + virtual void setStartIndex(size_t start); + + virtual size_t getStopIndex() const override; + virtual void setStopIndex(size_t stop); + + virtual size_t getTokenIndex() const override; + virtual void setTokenIndex(size_t index) override; + + virtual TokenSource *getTokenSource() const override; + virtual CharStream *getInputStream() const override; + + virtual std::string toString() const override; + + virtual std::string toString(Recognizer *r) const; + private: + void InitializeInstanceFields(); + }; + +} // namespace antlr4 diff --git a/antlr4-cpp-runtime-4.9.2-source/runtime/src/CommonTokenFactory.cpp b/antlr4-cpp-runtime-4.9.2-source/runtime/src/CommonTokenFactory.cpp new file mode 100644 index 0000000..b04d68f --- /dev/null +++ b/antlr4-cpp-runtime-4.9.2-source/runtime/src/CommonTokenFactory.cpp @@ -0,0 +1,39 @@ +/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. + * Use of this file is governed by the BSD 3-clause license that + * can be found in the LICENSE.txt file in the project root. + */ + +#include "misc/Interval.h" +#include "CommonToken.h" +#include "CharStream.h" + +#include "CommonTokenFactory.h" + +using namespace antlr4; + +const std::unique_ptr+ * This token factory does not explicitly copy token text when constructing + * tokens.
+ */ + static const std::unique_ptr+ * The default value is {@code false} to avoid the performance and memory + * overhead of copying text for every token unless explicitly requested.
+ */ + const bool copyText; + + public: + /** + * Constructs a {@link CommonTokenFactory} with the specified value for + * {@link #copyText}. + * + *+ * When {@code copyText} is {@code false}, the {@link #DEFAULT} instance + * should be used instead of constructing a new instance.
+ * + * @param copyText The value for {@link #copyText}. + */ + CommonTokenFactory(bool copyText); + + /** + * Constructs a {@link CommonTokenFactory} with {@link #copyText} set to + * {@code false}. + * + *+ * The {@link #DEFAULT} instance should be used instead of calling this + * directly.
+ */ + CommonTokenFactory(); + + virtual std::unique_ptr+ * This token stream provides access to all tokens by index or when calling + * methods like {@link #getText}. The channel filtering is only used for code + * accessing tokens via the lookahead methods {@link #LA}, {@link #LT}, and + * {@link #LB}.
+ * + *+ * By default, tokens are placed on the default channel + * ({@link Token#DEFAULT_CHANNEL}), but may be reassigned by using the + * {@code ->channel(HIDDEN)} lexer command, or by using an embedded action to + * call {@link Lexer#setChannel}. + *
+ * + *+ * Note: lexer rules which use the {@code ->skip} lexer command or call + * {@link Lexer#skip} do not produce tokens at all, so input text matched by + * such a rule will not be available as part of the token stream, regardless of + * channel.
+ */ + class ANTLR4CPP_PUBLIC CommonTokenStream : public BufferedTokenStream { + public: + /** + * Constructs a new {@link CommonTokenStream} using the specified token + * source and the default token channel ({@link Token#DEFAULT_CHANNEL}). + * + * @param tokenSource The token source. + */ + CommonTokenStream(TokenSource *tokenSource); + + /** + * Constructs a new {@link CommonTokenStream} using the specified token + * source and filtering tokens to the specified channel. Only tokens whose + * {@link Token#getChannel} matches {@code channel} or have the + * {@link Token#getType} equal to {@link Token#EOF} will be returned by the + * token stream lookahead methods. + * + * @param tokenSource The token source. + * @param channel The channel to use for filtering tokens. + */ + CommonTokenStream(TokenSource *tokenSource, size_t channel); + + virtual Token* LT(ssize_t k) override; + + /// Count EOF just once. + virtual int getNumberOfOnChannelTokens(); + + protected: + /** + * Specifies the channel to use for filtering tokens. + * + *+ * The default value is {@link Token#DEFAULT_CHANNEL}, which matches the + * default channel assigned to tokens created by the lexer.
+ */ + size_t channel; + + virtual ssize_t adjustSeekIndex(size_t i) override; + + virtual Token* LB(size_t k) override; + + }; + +} // namespace antlr4 diff --git a/antlr4-cpp-runtime-4.9.2-source/runtime/src/ConsoleErrorListener.cpp b/antlr4-cpp-runtime-4.9.2-source/runtime/src/ConsoleErrorListener.cpp new file mode 100644 index 0000000..c7925e4 --- /dev/null +++ b/antlr4-cpp-runtime-4.9.2-source/runtime/src/ConsoleErrorListener.cpp @@ -0,0 +1,15 @@ +/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. + * Use of this file is governed by the BSD 3-clause license that + * can be found in the LICENSE.txt file in the project root. + */ + +#include "ConsoleErrorListener.h" + +using namespace antlr4; + +ConsoleErrorListener ConsoleErrorListener::INSTANCE; + +void ConsoleErrorListener::syntaxError(Recognizer * /*recognizer*/, Token * /*offendingSymbol*/, + size_t line, size_t charPositionInLine, const std::string &msg, std::exception_ptr /*e*/) { + std::cerr << "line " << line << ":" << charPositionInLine << " " << msg << std::endl; +} diff --git a/antlr4-cpp-runtime-4.9.2-source/runtime/src/ConsoleErrorListener.h b/antlr4-cpp-runtime-4.9.2-source/runtime/src/ConsoleErrorListener.h new file mode 100644 index 0000000..65c6f8c --- /dev/null +++ b/antlr4-cpp-runtime-4.9.2-source/runtime/src/ConsoleErrorListener.h @@ -0,0 +1,35 @@ +/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. + * Use of this file is governed by the BSD 3-clause license that + * can be found in the LICENSE.txt file in the project root. + */ + +#pragma once + +#include "BaseErrorListener.h" + +namespace antlr4 { + + class ANTLR4CPP_PUBLIC ConsoleErrorListener : public BaseErrorListener { + public: + /** + * Provides a default instance of {@link ConsoleErrorListener}. + */ + static ConsoleErrorListener INSTANCE; + + /** + * {@inheritDoc} + * + *+ * This implementation prints messages to {@link System#err} containing the + * values of {@code line}, {@code charPositionInLine}, and {@code msg} using + * the following format.
+ * + *+ * line line:charPositionInLine msg + *+ */ + virtual void syntaxError(Recognizer *recognizer, Token * offendingSymbol, size_t line, size_t charPositionInLine, + const std::string &msg, std::exception_ptr e) override; + }; + +} // namespace antlr4 diff --git a/antlr4-cpp-runtime-4.9.2-source/runtime/src/DefaultErrorStrategy.cpp b/antlr4-cpp-runtime-4.9.2-source/runtime/src/DefaultErrorStrategy.cpp new file mode 100644 index 0000000..e0c9426 --- /dev/null +++ b/antlr4-cpp-runtime-4.9.2-source/runtime/src/DefaultErrorStrategy.cpp @@ -0,0 +1,333 @@ +/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. + * Use of this file is governed by the BSD 3-clause license that + * can be found in the LICENSE.txt file in the project root. + */ + +#include "NoViableAltException.h" +#include "misc/IntervalSet.h" +#include "atn/ParserATNSimulator.h" +#include "InputMismatchException.h" +#include "FailedPredicateException.h" +#include "ParserRuleContext.h" +#include "atn/RuleTransition.h" +#include "atn/ATN.h" +#include "atn/ATNState.h" +#include "Parser.h" +#include "CommonToken.h" +#include "Vocabulary.h" +#include "support/StringUtils.h" + +#include "DefaultErrorStrategy.h" + +using namespace antlr4; +using namespace antlr4::atn; + +using namespace antlrcpp; + +DefaultErrorStrategy::DefaultErrorStrategy() { + InitializeInstanceFields(); +} + +DefaultErrorStrategy::~DefaultErrorStrategy() { +} + +void DefaultErrorStrategy::reset(Parser *recognizer) { + _errorSymbols.clear(); + endErrorCondition(recognizer); +} + +void DefaultErrorStrategy::beginErrorCondition(Parser * /*recognizer*/) { + errorRecoveryMode = true; +} + +bool DefaultErrorStrategy::inErrorRecoveryMode(Parser * /*recognizer*/) { + return errorRecoveryMode; +} + +void DefaultErrorStrategy::endErrorCondition(Parser * /*recognizer*/) { + errorRecoveryMode = false; + lastErrorIndex = -1; +} + +void DefaultErrorStrategy::reportMatch(Parser *recognizer) { + endErrorCondition(recognizer); +} + +void DefaultErrorStrategy::reportError(Parser *recognizer, const RecognitionException &e) { + // If we've already reported an error and have not matched a token + // yet successfully, don't report any errors. + if (inErrorRecoveryMode(recognizer)) { + return; // don't report spurious errors + } + + beginErrorCondition(recognizer); + if (is
Implements Jim Idle's magic sync mechanism in closures and optional + * subrules. E.g.,
+ * + *
+ * a : sync ( stuff sync )* ;
+ * sync : {consume to what can follow sync} ;
+ *
+ *
+ * At the start of a sub rule upon error, {@link #sync} performs single
+ * token deletion, if possible. If it can't do that, it bails on the current
+ * rule and uses the default error recovery, which consumes until the
+ * resynchronization set of the current rule.
+ *
+ * If the sub rule is optional ({@code (...)?}, {@code (...)*}, or block + * with an empty alternative), then the expected set includes what follows + * the subrule.
+ * + *During loop iteration, it consumes until it sees a token that can start a + * sub rule or what follows loop. Yes, that is pretty aggressive. We opt to + * stay in the loop as long as possible.
+ * + *ORIGINS
+ * + *Previous versions of ANTLR did a poor job of their recovery within loops. + * A single mismatch token or missing token would force the parser to bail + * out of the entire rules surrounding the loop. So, for rule
+ * + *
+ * classDef : 'class' ID '{' member* '}'
+ *
+ *
+ * input with an extra token between members would force the parser to
+ * consume until it found the next class definition rather than the next
+ * member definition of the current class.
+ *
+ * This functionality cost a little bit of effort because the parser has to + * compare token set at the start of the loop and at each iteration. If for + * some reason speed is suffering for you, you can turn off this + * functionality by simply overriding this method as a blank { }.
+ */ + virtual void sync(Parser *recognizer) override; + + ///This method is called when {@link #singleTokenDeletion} identifies + * single-token deletion as a viable recovery strategy for a mismatched + * input error.
+ * + *The default implementation simply returns if the handler is already in + * error recovery mode. Otherwise, it calls {@link #beginErrorCondition} to + * enter error recovery mode, followed by calling + * {@link Parser#notifyErrorListeners}.
+ * + * @param recognizer the parser instance + */ + virtual void reportUnwantedToken(Parser *recognizer); + + /** + * This method is called to report a syntax error which requires the + * insertion of a missing token into the input stream. At the time this + * method is called, the missing token has not yet been inserted. When this + * method returns, {@code recognizer} is in error recovery mode. + * + *This method is called when {@link #singleTokenInsertion} identifies + * single-token insertion as a viable recovery strategy for a mismatched + * input error.
+ * + *The default implementation simply returns if the handler is already in + * error recovery mode. Otherwise, it calls {@link #beginErrorCondition} to + * enter error recovery mode, followed by calling + * {@link Parser#notifyErrorListeners}.
+ * + * @param recognizer the parser instance + */ + virtual void reportMissingToken(Parser *recognizer); + + public: + /** + * {@inheritDoc} + * + *The default implementation attempts to recover from the mismatched input + * by using single token insertion and deletion as described below. If the + * recovery attempt fails, this method throws an + * {@link InputMismatchException}.
+ * + *EXTRA TOKEN (single token deletion)
+ * + *{@code LA(1)} is not what we are looking for. If {@code LA(2)} has the + * right token, however, then assume {@code LA(1)} is some extra spurious + * token and delete it. Then consume and return the next token (which was + * the {@code LA(2)} token) as the successful result of the match operation.
+ * + *This recovery strategy is implemented by {@link #singleTokenDeletion}.
+ * + *MISSING TOKEN (single token insertion)
+ * + *If current token (at {@code LA(1)}) is consistent with what could come + * after the expected {@code LA(1)} token, then assume the token is missing + * and use the parser's {@link TokenFactory} to create it on the fly. The + * "insertion" is performed by returning the created token as the successful + * result of the match operation.
+ * + *This recovery strategy is implemented by {@link #singleTokenInsertion}.
+ * + *EXAMPLE
+ * + *For example, Input {@code i=(3;} is clearly missing the {@code ')'}. When + * the parser returns from the nested call to {@code expr}, it will have + * call chain:
+ * + *+ * stat → expr → atom + *+ * + * and it will be trying to match the {@code ')'} at this point in the + * derivation: + * + *
+ * => ID '=' '(' INT ')' ('+' atom)* ';'
+ * ^
+ *
+ *
+ * The attempt to match {@code ')'} will fail when it sees {@code ';'} and
+ * call {@link #recoverInline}. To recover, it sees that {@code LA(1)==';'}
+ * is in the set of tokens that can follow the {@code ')'} token reference
+ * in rule {@code atom}. It can assume that you forgot the {@code ')'}.
+ */
+ virtual Token* recoverInline(Parser *recognizer) override;
+
+ ///
+ /// IntStream stream = ...;
+ /// int index = -1;
+ /// int mark = stream.mark();
+ /// try {
+ /// index = stream.index();
+ /// // perform work here...
+ /// } finally {
+ /// if (index != -1) {
+ /// stream.seek(index);
+ /// }
+ /// stream.release(mark);
+ /// }
+ ///
+ /// + * {@link ParserRuleContext} does not include field storage for the rule index + * since the context classes created by the code generator override the + * {@link #getRuleIndex} method to return the correct value for that context. + * Since the parser interpreter does not use the context classes generated for a + * parser, this class (with slightly more memory overhead per node) is used to + * provide equivalent functionality.
+ */ + class ANTLR4CPP_PUBLIC InterpreterRuleContext : public ParserRuleContext { + public: + InterpreterRuleContext(); + + /** + * Constructs a new {@link InterpreterRuleContext} with the specified + * parent, invoking state, and rule index. + * + * @param parent The parent context. + * @param invokingStateNumber The invoking state number. + * @param ruleIndex The rule index for the current context. + */ + InterpreterRuleContext(ParserRuleContext *parent, size_t invokingStateNumber, size_t ruleIndex); + + virtual size_t getRuleIndex() const override; + + protected: + /** This is the backing field for {@link #getRuleIndex}. */ + const size_t _ruleIndex = INVALID_INDEX; +}; + +} // namespace antlr4 diff --git a/antlr4-cpp-runtime-4.9.2-source/runtime/src/Lexer.cpp b/antlr4-cpp-runtime-4.9.2-source/runtime/src/Lexer.cpp new file mode 100644 index 0000000..6cb8cd0 --- /dev/null +++ b/antlr4-cpp-runtime-4.9.2-source/runtime/src/Lexer.cpp @@ -0,0 +1,295 @@ +/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. + * Use of this file is governed by the BSD 3-clause license that + * can be found in the LICENSE.txt file in the project root. + */ + +#include "atn/LexerATNSimulator.h" +#include "Exceptions.h" +#include "misc/Interval.h" +#include "CommonTokenFactory.h" +#include "LexerNoViableAltException.h" +#include "ANTLRErrorListener.h" +#include "support/CPPUtils.h" +#include "CommonToken.h" +#include "support/StringUtils.h" + +#include "Lexer.h" + +#define DEBUG_LEXER 0 + +using namespace antlrcpp; +using namespace antlr4; + +Lexer::Lexer() : Recognizer() { + InitializeInstanceFields(); + _input = nullptr; +} + +Lexer::Lexer(CharStream *input) : Recognizer(), _input(input) { + InitializeInstanceFields(); +} + +void Lexer::reset() { + // wack Lexer state variables + _input->seek(0); // rewind the input + + _syntaxErrors = 0; + token.reset(); + type = Token::INVALID_TYPE; + channel = Token::DEFAULT_CHANNEL; + tokenStartCharIndex = INVALID_INDEX; + tokenStartCharPositionInLine = 0; + tokenStartLine = 0; + type = 0; + _text = ""; + + hitEOF = false; + mode = Lexer::DEFAULT_MODE; + modeStack.clear(); + + getInterpreter
+ /// ParseTree t = parser.expr();
+ /// ParseTreePattern p = parser.compileParseTreePattern("+0", MyParser.RULE_expr);
+ /// ParseTreeMatch m = p.match(t);
+ /// String id = m.get("ID");
+ ///
+ /// + /// A B + /// ^ + ///+ /// + /// If the parser is not in error recovery mode, the consumed symbol is added + /// to the parse tree using
+ /// return getExpectedTokens().contains(symbol); + ///+ ///