gitextract_275zyhbd/ ├── .clang-format ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ └── hosted.yml ├── .gitignore ├── ANTLR-HOUSE-RULES.md ├── CHANGES.txt ├── CONTRIBUTING.md ├── LICENSE.txt ├── Package.swift ├── README.md ├── antlr4-maven-plugin/ │ ├── nb-configuration.xml │ ├── pom.xml │ ├── resources/ │ │ └── META-INF/ │ │ └── m2e/ │ │ └── lifecycle-mapping-metadata.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── antlr/ │ │ └── mojo/ │ │ └── antlr4/ │ │ ├── Antlr4ErrorLog.java │ │ ├── Antlr4Mojo.java │ │ ├── GrammarDependencies.java │ │ └── MojoUtils.java │ ├── site/ │ │ ├── apt/ │ │ │ ├── examples/ │ │ │ │ ├── import.apt │ │ │ │ ├── libraries.apt.vm │ │ │ │ └── simple.apt.vm │ │ │ ├── faq.apt.vm │ │ │ ├── index.apt │ │ │ └── usage.apt.vm │ │ └── site.xml │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── antlr/ │ │ └── mojo/ │ │ └── antlr4/ │ │ └── Antlr4MojoTest.java │ └── projects/ │ ├── dependencyRemoved/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── antlr4/ │ │ ├── imports/ │ │ │ └── HelloBase.g4 │ │ └── test/ │ │ └── Hello.g4 │ ├── importTokens/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── antlr4/ │ │ ├── imports/ │ │ │ └── SimpleLexer.tokens │ │ └── test/ │ │ └── SimpleParser.g4 │ ├── importsCustom/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── antlr4/ │ │ ├── Hello.g4 │ │ ├── TestLexer.g4 │ │ ├── TestParser.g4 │ │ └── imports/ │ │ └── TestBaseLexer.g4 │ └── importsStandard/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── antlr4/ │ ├── imports/ │ │ ├── TestBaseLexer.g4 │ │ └── TestBaseLexer2.g4 │ └── test/ │ ├── Hello.g4 │ ├── TestLexer.g4 │ └── TestParser.g4 ├── developer-cert-of-origin.txt ├── doc/ │ ├── IDEs.md │ ├── ace-javascript-target.md │ ├── actions.md │ ├── antlr-project-testing.md │ ├── building-antlr.md │ ├── cpp-target.md │ ├── creating-a-language-target.md │ ├── csharp-target.md │ ├── dart-target.md │ ├── faq/ │ │ ├── actions-preds.md │ │ ├── error-handling.md │ │ ├── general.md │ │ ├── getting-started.md │ │ ├── index.md │ │ ├── installation.md │ │ ├── lexical.md │ │ ├── parse-trees.md │ │ └── translation.md │ ├── getting-started.md │ ├── go-changes.md │ ├── go-target.md │ ├── grammars.md │ ├── index.md │ ├── interpreters.md │ ├── java-target.md │ ├── javascript-target.md │ ├── left-recursion.md │ ├── lexer-rules.md │ ├── lexicon.md │ ├── listeners.md │ ├── options.md │ ├── parser-rules.md │ ├── parsing-binary-files.md │ ├── php-target.md │ ├── predicates.md │ ├── python-target.md │ ├── releasing-antlr.md │ ├── resources.md │ ├── swift-target.md │ ├── target-agnostic-grammars.md │ ├── targets.md │ ├── tool-options.md │ ├── tree-matching.md │ ├── typescript-target.md │ ├── unicode.md │ └── wildcard.md ├── docker/ │ ├── .dockerignore │ ├── Dockerfile │ └── README.md ├── historical-contributors-agreement.txt ├── pom.xml ├── runtime/ │ ├── CSharp/ │ │ ├── src/ │ │ │ ├── Antlr4.csproj │ │ │ ├── Antlr4.snk │ │ │ ├── AntlrFileStream.cs │ │ │ ├── AntlrInputStream.cs │ │ │ ├── Atn/ │ │ │ │ ├── ATN.cs │ │ │ │ ├── ATNConfig.cs │ │ │ │ ├── ATNConfigSet.cs │ │ │ │ ├── ATNDeserializationOptions.cs │ │ │ │ ├── ATNDeserializer.cs │ │ │ │ ├── ATNSimulator.cs │ │ │ │ ├── ATNState.cs │ │ │ │ ├── ATNType.cs │ │ │ │ ├── AbstractPredicateTransition.cs │ │ │ │ ├── ActionTransition.cs │ │ │ │ ├── AmbiguityInfo.cs │ │ │ │ ├── ArrayPredictionContext.cs │ │ │ │ ├── AtomTransition.cs │ │ │ │ ├── BasicBlockStartState.cs │ │ │ │ ├── BasicState.cs │ │ │ │ ├── BlockEndState.cs │ │ │ │ ├── BlockStartState.cs │ │ │ │ ├── ConflictInfo.cs │ │ │ │ ├── ContextSensitivityInfo.cs │ │ │ │ ├── DecisionEventInfo.cs │ │ │ │ ├── DecisionInfo.cs │ │ │ │ ├── DecisionState.cs │ │ │ │ ├── EmptyPredictionContext.cs │ │ │ │ ├── EpsilonTransition.cs │ │ │ │ ├── ErrorInfo.cs │ │ │ │ ├── ILexerAction.cs │ │ │ │ ├── LL1Analyzer.cs │ │ │ │ ├── LexerATNConfig.cs │ │ │ │ ├── LexerATNSimulator.cs │ │ │ │ ├── LexerActionExecutor.cs │ │ │ │ ├── LexerActionType.cs │ │ │ │ ├── LexerChannelAction.cs │ │ │ │ ├── LexerCustomAction.cs │ │ │ │ ├── LexerIndexedCustomAction.cs │ │ │ │ ├── LexerModeAction.cs │ │ │ │ ├── LexerMoreAction.cs │ │ │ │ ├── LexerPopModeAction.cs │ │ │ │ ├── LexerPushModeAction.cs │ │ │ │ ├── LexerSkipAction.cs │ │ │ │ ├── LexerTypeAction.cs │ │ │ │ ├── LookaheadEventInfo.cs │ │ │ │ ├── LoopEndState.cs │ │ │ │ ├── MergeCache.cs │ │ │ │ ├── NotSetTransition.cs │ │ │ │ ├── ParseInfo.cs │ │ │ │ ├── ParserATNSimulator.cs │ │ │ │ ├── PlusBlockStartState.cs │ │ │ │ ├── PlusLoopbackState.cs │ │ │ │ ├── PrecedencePredicateTransition.cs │ │ │ │ ├── PredicateEvalInfo.cs │ │ │ │ ├── PredicateTransition.cs │ │ │ │ ├── PredictionContext.cs │ │ │ │ ├── PredictionContextCache.cs │ │ │ │ ├── PredictionMode.cs │ │ │ │ ├── ProfilingATNSimulator.cs │ │ │ │ ├── RangeTransition.cs │ │ │ │ ├── RuleStartState.cs │ │ │ │ ├── RuleStopState.cs │ │ │ │ ├── RuleTransition.cs │ │ │ │ ├── SemanticContext.cs │ │ │ │ ├── SetTransition.cs │ │ │ │ ├── SimulatorState.cs │ │ │ │ ├── SingletonPredictionContext.cs │ │ │ │ ├── StarBlockStartState.cs │ │ │ │ ├── StarLoopEntryState.cs │ │ │ │ ├── StarLoopbackState.cs │ │ │ │ ├── StateType.cs │ │ │ │ ├── TokensStartState.cs │ │ │ │ ├── Transition.cs │ │ │ │ ├── TransitionType.cs │ │ │ │ └── WildcardTransition.cs │ │ │ ├── BailErrorStrategy.cs │ │ │ ├── BaseErrorListener.cs │ │ │ ├── BufferedTokenStream.cs │ │ │ ├── CharStreams.cs │ │ │ ├── CommonToken.cs │ │ │ ├── CommonTokenFactory.cs │ │ │ ├── CommonTokenStream.cs │ │ │ ├── ConsoleErrorListener.cs │ │ │ ├── DefaultErrorStrategy.cs │ │ │ ├── Dependents.cs │ │ │ ├── Dfa/ │ │ │ │ ├── AbstractEdgeMap.cs │ │ │ │ ├── AcceptStateInfo.cs │ │ │ │ ├── ArrayEdgeMap.cs │ │ │ │ ├── DFA.cs │ │ │ │ ├── DFASerializer.cs │ │ │ │ ├── DFAState.cs │ │ │ │ ├── EmptyEdgeMap.cs │ │ │ │ ├── IEdgeMap.cs │ │ │ │ ├── LexerDFASerializer.cs │ │ │ │ ├── SingletonEdgeMap.cs │ │ │ │ └── SparseEdgeMap.cs │ │ │ ├── DiagnosticErrorListener.cs │ │ │ ├── FailedPredicateException.cs │ │ │ ├── IAntlrErrorListener.cs │ │ │ ├── IAntlrErrorStrategy.cs │ │ │ ├── ICharStream.cs │ │ │ ├── IIntStream.cs │ │ │ ├── IParserErrorListener.cs │ │ │ ├── IRecognizer.cs │ │ │ ├── IToken.cs │ │ │ ├── ITokenFactory.cs │ │ │ ├── ITokenSource.cs │ │ │ ├── ITokenStream.cs │ │ │ ├── IVocabulary.cs │ │ │ ├── IWritableToken.cs │ │ │ ├── InputMismatchException.cs │ │ │ ├── InterpreterRuleContext.cs │ │ │ ├── Lexer.cs │ │ │ ├── LexerInterpreter.cs │ │ │ ├── LexerNoViableAltException.cs │ │ │ ├── ListTokenSource.cs │ │ │ ├── Misc/ │ │ │ │ ├── Args.cs │ │ │ │ ├── ArrayList.cs │ │ │ │ ├── IIntSet.cs │ │ │ │ ├── Interval.cs │ │ │ │ ├── IntervalSet.cs │ │ │ │ ├── MultiMap.cs │ │ │ │ ├── MurmurHash.cs │ │ │ │ ├── NotNullAttribute.cs │ │ │ │ ├── NullableAttribute.cs │ │ │ │ ├── Pair.cs │ │ │ │ ├── ParseCanceledException.cs │ │ │ │ ├── RuleDependencyChecker.cs │ │ │ │ └── Utils.cs │ │ │ ├── NoViableAltException.cs │ │ │ ├── Parser.cs │ │ │ ├── ParserInterpreter.cs │ │ │ ├── ParserRuleContext.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── ProxyErrorListener.cs │ │ │ ├── ProxyParserErrorListener.cs │ │ │ ├── README.md │ │ │ ├── RecognitionException.cs │ │ │ ├── Recognizer.cs │ │ │ ├── RuleContext.cs │ │ │ ├── RuleDependencyAttribute.cs │ │ │ ├── RuleVersionAttribute.cs │ │ │ ├── Sharpen/ │ │ │ │ ├── Arrays.cs │ │ │ │ ├── AtomicReference.cs │ │ │ │ ├── BitSet.cs │ │ │ │ ├── Collections.cs │ │ │ │ ├── DictionaryExtensions.cs │ │ │ │ ├── ListExtensions.cs │ │ │ │ ├── Runtime.cs │ │ │ │ └── SequenceEqualityComparer.cs │ │ │ ├── TokenStreamRewriter.cs │ │ │ ├── TokenTypes.cs │ │ │ ├── Tree/ │ │ │ │ ├── AbstractParseTreeVisitor.cs │ │ │ │ ├── ErrorNodeImpl.cs │ │ │ │ ├── IErrorNode.cs │ │ │ │ ├── IParseTree.cs │ │ │ │ ├── IParseTreeListener.cs │ │ │ │ ├── IParseTreeVisitor.cs │ │ │ │ ├── IRuleNode.cs │ │ │ │ ├── ISyntaxTree.cs │ │ │ │ ├── ITerminalNode.cs │ │ │ │ ├── ITree.cs │ │ │ │ ├── ParseTreeProperty.cs │ │ │ │ ├── ParseTreeWalker.cs │ │ │ │ ├── Pattern/ │ │ │ │ │ ├── Chunk.cs │ │ │ │ │ ├── ParseTreeMatch.cs │ │ │ │ │ ├── ParseTreePattern.cs │ │ │ │ │ ├── ParseTreePatternMatcher.cs │ │ │ │ │ ├── RuleTagToken.cs │ │ │ │ │ ├── TagChunk.cs │ │ │ │ │ ├── TextChunk.cs │ │ │ │ │ └── TokenTagToken.cs │ │ │ │ ├── TerminalNodeImpl.cs │ │ │ │ ├── Trees.cs │ │ │ │ └── Xpath/ │ │ │ │ ├── XPath.cs │ │ │ │ ├── XPathElement.cs │ │ │ │ ├── XPathLexer.cs │ │ │ │ ├── XPathLexer.g4 │ │ │ │ ├── XPathLexer.tokens │ │ │ │ ├── XPathLexerErrorListener.cs │ │ │ │ ├── XPathRuleAnywhereElement.cs │ │ │ │ ├── XPathRuleElement.cs │ │ │ │ ├── XPathTokenAnywhereElement.cs │ │ │ │ ├── XPathTokenElement.cs │ │ │ │ ├── XPathWildcardAnywhereElement.cs │ │ │ │ └── XPathWildcardElement.cs │ │ │ ├── UnbufferedCharStream.cs │ │ │ ├── UnbufferedTokenStream.cs │ │ │ └── Vocabulary.cs │ │ └── tests/ │ │ ├── issue-2693/ │ │ │ ├── ErrorListener.cs │ │ │ ├── Program.cs │ │ │ ├── Test.csproj │ │ │ ├── Test.sln │ │ │ ├── TreeOutput.cs │ │ │ ├── asm8080.g4 │ │ │ ├── cpm22.asm │ │ │ └── test.sh │ │ └── issue-3079/ │ │ ├── Arithmetic.g4 │ │ ├── ErrorListener.cs │ │ ├── Program.cs │ │ ├── Test.csproj │ │ ├── Test.sln │ │ ├── readme.md │ │ └── test.sh │ ├── Cpp/ │ │ ├── CMakeLists.txt │ │ ├── CMakeSettings.json │ │ ├── README.md │ │ ├── VERSION │ │ ├── cmake/ │ │ │ ├── Antlr4Package.md │ │ │ ├── ExternalAntlr4Cpp.cmake │ │ │ ├── FindANTLR.cmake │ │ │ ├── README.md │ │ │ ├── antlr4-generator.cmake.in │ │ │ └── antlr4-runtime.cmake.in │ │ ├── demo/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Linux/ │ │ │ │ └── main.cpp │ │ │ ├── Mac/ │ │ │ │ ├── antlr4-cpp-demo/ │ │ │ │ │ └── main.cpp │ │ │ │ ├── antlrcpp Tests/ │ │ │ │ │ ├── Info.plist │ │ │ │ │ ├── InputHandlingTests.mm │ │ │ │ │ ├── MiscClassTests.mm │ │ │ │ │ └── antlrcpp_Tests.mm │ │ │ │ ├── antlrcpp-demo.xcodeproj/ │ │ │ │ │ ├── project.pbxproj │ │ │ │ │ ├── project.xcworkspace/ │ │ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ │ │ └── xcshareddata/ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ │ │ └── xcshareddata/ │ │ │ │ │ └── xcschemes/ │ │ │ │ │ ├── antlr4-cpp-demo.xcscheme │ │ │ │ │ └── antlrcpp Tests.xcscheme │ │ │ │ └── build.sh │ │ │ ├── README.md │ │ │ ├── TLexer.g4 │ │ │ ├── TParser.g4 │ │ │ ├── Windows/ │ │ │ │ ├── antlr4-cpp-demo/ │ │ │ │ │ ├── antlr4-cpp-demo-vs2022.vcxproj │ │ │ │ │ ├── antlr4-cpp-demo-vs2022.vcxproj.filters │ │ │ │ │ └── main.cpp │ │ │ │ └── antlr4cpp-vs2022.sln │ │ │ ├── generate.cmd │ │ │ └── generate.sh │ │ ├── deploy-macos.sh │ │ ├── deploy-source.sh │ │ ├── deploy-windows.cmd │ │ └── runtime/ │ │ ├── CMakeLists.txt │ │ ├── antlr4cpp-vs2019.vcxproj │ │ ├── antlr4cpp-vs2019.vcxproj.filters │ │ ├── antlr4cpp-vs2022.vcxproj │ │ ├── antlr4cpp-vs2022.vcxproj.filters │ │ ├── antlrcpp-ios/ │ │ │ ├── Info.plist │ │ │ └── antlrcpp_ios.h │ │ ├── antlrcpp.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata/ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ ├── antlr4.xcscheme │ │ │ ├── antlr4_ios.xcscheme │ │ │ └── antlr4_static.xcscheme │ │ ├── nuget/ │ │ │ ├── ANTLR4.Runtime.cpp.noarch.nuspec │ │ │ ├── ANTLR4.Runtime.cpp.noarch.targets │ │ │ ├── ANTLR4.Runtime.cpp.shared.nuspec │ │ │ ├── ANTLR4.Runtime.cpp.shared.props │ │ │ ├── ANTLR4.Runtime.cpp.shared.targets │ │ │ ├── ANTLR4.Runtime.cpp.static.nuspec │ │ │ ├── ANTLR4.Runtime.cpp.static.targets │ │ │ └── pack.cmd │ │ ├── src/ │ │ │ ├── ANTLRErrorListener.cpp │ │ │ ├── ANTLRErrorListener.h │ │ │ ├── ANTLRErrorStrategy.cpp │ │ │ ├── ANTLRErrorStrategy.h │ │ │ ├── ANTLRFileStream.cpp │ │ │ ├── ANTLRFileStream.h │ │ │ ├── ANTLRInputStream.cpp │ │ │ ├── ANTLRInputStream.h │ │ │ ├── BailErrorStrategy.cpp │ │ │ ├── BailErrorStrategy.h │ │ │ ├── BaseErrorListener.cpp │ │ │ ├── BaseErrorListener.h │ │ │ ├── BufferedTokenStream.cpp │ │ │ ├── BufferedTokenStream.h │ │ │ ├── CharStream.cpp │ │ │ ├── CharStream.h │ │ │ ├── CommonToken.cpp │ │ │ ├── CommonToken.h │ │ │ ├── CommonTokenFactory.cpp │ │ │ ├── CommonTokenFactory.h │ │ │ ├── CommonTokenStream.cpp │ │ │ ├── CommonTokenStream.h │ │ │ ├── ConsoleErrorListener.cpp │ │ │ ├── ConsoleErrorListener.h │ │ │ ├── DefaultErrorStrategy.cpp │ │ │ ├── DefaultErrorStrategy.h │ │ │ ├── DiagnosticErrorListener.cpp │ │ │ ├── DiagnosticErrorListener.h │ │ │ ├── Exceptions.cpp │ │ │ ├── Exceptions.h │ │ │ ├── FailedPredicateException.cpp │ │ │ ├── FailedPredicateException.h │ │ │ ├── FlatHashMap.h │ │ │ ├── FlatHashSet.h │ │ │ ├── InputMismatchException.cpp │ │ │ ├── InputMismatchException.h │ │ │ ├── IntStream.cpp │ │ │ ├── IntStream.h │ │ │ ├── InterpreterRuleContext.cpp │ │ │ ├── InterpreterRuleContext.h │ │ │ ├── Lexer.cpp │ │ │ ├── Lexer.h │ │ │ ├── LexerInterpreter.cpp │ │ │ ├── LexerInterpreter.h │ │ │ ├── LexerNoViableAltException.cpp │ │ │ ├── LexerNoViableAltException.h │ │ │ ├── ListTokenSource.cpp │ │ │ ├── ListTokenSource.h │ │ │ ├── NoViableAltException.cpp │ │ │ ├── NoViableAltException.h │ │ │ ├── Parser.cpp │ │ │ ├── Parser.h │ │ │ ├── ParserInterpreter.cpp │ │ │ ├── ParserInterpreter.h │ │ │ ├── ParserRuleContext.cpp │ │ │ ├── ParserRuleContext.h │ │ │ ├── ProxyErrorListener.cpp │ │ │ ├── ProxyErrorListener.h │ │ │ ├── RecognitionException.cpp │ │ │ ├── RecognitionException.h │ │ │ ├── Recognizer.cpp │ │ │ ├── Recognizer.h │ │ │ ├── RuleContext.cpp │ │ │ ├── RuleContext.h │ │ │ ├── RuleContextWithAltNum.cpp │ │ │ ├── RuleContextWithAltNum.h │ │ │ ├── RuntimeMetaData.cpp │ │ │ ├── RuntimeMetaData.h │ │ │ ├── Token.cpp │ │ │ ├── Token.h │ │ │ ├── TokenFactory.h │ │ │ ├── TokenSource.cpp │ │ │ ├── TokenSource.h │ │ │ ├── TokenStream.cpp │ │ │ ├── TokenStream.h │ │ │ ├── TokenStreamRewriter.cpp │ │ │ ├── TokenStreamRewriter.h │ │ │ ├── UnbufferedCharStream.cpp │ │ │ ├── UnbufferedCharStream.h │ │ │ ├── UnbufferedTokenStream.cpp │ │ │ ├── UnbufferedTokenStream.h │ │ │ ├── Version.h │ │ │ ├── Vocabulary.cpp │ │ │ ├── Vocabulary.h │ │ │ ├── WritableToken.cpp │ │ │ ├── WritableToken.h │ │ │ ├── antlr4-common.h │ │ │ ├── antlr4-runtime.h │ │ │ ├── atn/ │ │ │ │ ├── ATN.cpp │ │ │ │ ├── ATN.h │ │ │ │ ├── ATNConfig.cpp │ │ │ │ ├── ATNConfig.h │ │ │ │ ├── ATNConfigSet.cpp │ │ │ │ ├── ATNConfigSet.h │ │ │ │ ├── ATNDeserializationOptions.cpp │ │ │ │ ├── ATNDeserializationOptions.h │ │ │ │ ├── ATNDeserializer.cpp │ │ │ │ ├── ATNDeserializer.h │ │ │ │ ├── ATNSimulator.cpp │ │ │ │ ├── ATNSimulator.h │ │ │ │ ├── ATNState.cpp │ │ │ │ ├── ATNState.h │ │ │ │ ├── ATNStateType.cpp │ │ │ │ ├── ATNStateType.h │ │ │ │ ├── ATNType.h │ │ │ │ ├── ActionTransition.cpp │ │ │ │ ├── ActionTransition.h │ │ │ │ ├── AmbiguityInfo.cpp │ │ │ │ ├── AmbiguityInfo.h │ │ │ │ ├── ArrayPredictionContext.cpp │ │ │ │ ├── ArrayPredictionContext.h │ │ │ │ ├── AtomTransition.cpp │ │ │ │ ├── AtomTransition.h │ │ │ │ ├── BasicBlockStartState.h │ │ │ │ ├── BasicState.h │ │ │ │ ├── BlockEndState.h │ │ │ │ ├── BlockStartState.h │ │ │ │ ├── ContextSensitivityInfo.cpp │ │ │ │ ├── ContextSensitivityInfo.h │ │ │ │ ├── DecisionEventInfo.cpp │ │ │ │ ├── DecisionEventInfo.h │ │ │ │ ├── DecisionInfo.cpp │ │ │ │ ├── DecisionInfo.h │ │ │ │ ├── DecisionState.cpp │ │ │ │ ├── DecisionState.h │ │ │ │ ├── EpsilonTransition.cpp │ │ │ │ ├── EpsilonTransition.h │ │ │ │ ├── ErrorInfo.cpp │ │ │ │ ├── ErrorInfo.h │ │ │ │ ├── HashUtils.h │ │ │ │ ├── LL1Analyzer.cpp │ │ │ │ ├── LL1Analyzer.h │ │ │ │ ├── LexerATNConfig.cpp │ │ │ │ ├── LexerATNConfig.h │ │ │ │ ├── LexerATNSimulator.cpp │ │ │ │ ├── LexerATNSimulator.h │ │ │ │ ├── LexerAction.cpp │ │ │ │ ├── LexerAction.h │ │ │ │ ├── LexerActionExecutor.cpp │ │ │ │ ├── LexerActionExecutor.h │ │ │ │ ├── LexerActionType.h │ │ │ │ ├── LexerChannelAction.cpp │ │ │ │ ├── LexerChannelAction.h │ │ │ │ ├── LexerCustomAction.cpp │ │ │ │ ├── LexerCustomAction.h │ │ │ │ ├── LexerIndexedCustomAction.cpp │ │ │ │ ├── LexerIndexedCustomAction.h │ │ │ │ ├── LexerModeAction.cpp │ │ │ │ ├── LexerModeAction.h │ │ │ │ ├── LexerMoreAction.cpp │ │ │ │ ├── LexerMoreAction.h │ │ │ │ ├── LexerPopModeAction.cpp │ │ │ │ ├── LexerPopModeAction.h │ │ │ │ ├── LexerPushModeAction.cpp │ │ │ │ ├── LexerPushModeAction.h │ │ │ │ ├── LexerSkipAction.cpp │ │ │ │ ├── LexerSkipAction.h │ │ │ │ ├── LexerTypeAction.cpp │ │ │ │ ├── LexerTypeAction.h │ │ │ │ ├── LookaheadEventInfo.cpp │ │ │ │ ├── LookaheadEventInfo.h │ │ │ │ ├── LoopEndState.h │ │ │ │ ├── NotSetTransition.cpp │ │ │ │ ├── NotSetTransition.h │ │ │ │ ├── OrderedATNConfigSet.cpp │ │ │ │ ├── OrderedATNConfigSet.h │ │ │ │ ├── ParseInfo.cpp │ │ │ │ ├── ParseInfo.h │ │ │ │ ├── ParserATNSimulator.cpp │ │ │ │ ├── ParserATNSimulator.h │ │ │ │ ├── ParserATNSimulatorOptions.h │ │ │ │ ├── PlusBlockStartState.h │ │ │ │ ├── PlusLoopbackState.h │ │ │ │ ├── PrecedencePredicateTransition.cpp │ │ │ │ ├── PrecedencePredicateTransition.h │ │ │ │ ├── PredicateEvalInfo.cpp │ │ │ │ ├── PredicateEvalInfo.h │ │ │ │ ├── PredicateTransition.cpp │ │ │ │ ├── PredicateTransition.h │ │ │ │ ├── PredictionContext.cpp │ │ │ │ ├── PredictionContext.h │ │ │ │ ├── PredictionContextCache.cpp │ │ │ │ ├── PredictionContextCache.h │ │ │ │ ├── PredictionContextMergeCache.cpp │ │ │ │ ├── PredictionContextMergeCache.h │ │ │ │ ├── PredictionContextMergeCacheOptions.h │ │ │ │ ├── PredictionContextType.h │ │ │ │ ├── PredictionMode.cpp │ │ │ │ ├── PredictionMode.h │ │ │ │ ├── ProfilingATNSimulator.cpp │ │ │ │ ├── ProfilingATNSimulator.h │ │ │ │ ├── RangeTransition.cpp │ │ │ │ ├── RangeTransition.h │ │ │ │ ├── RuleStartState.h │ │ │ │ ├── RuleStopState.h │ │ │ │ ├── RuleTransition.cpp │ │ │ │ ├── RuleTransition.h │ │ │ │ ├── SemanticContext.cpp │ │ │ │ ├── SemanticContext.h │ │ │ │ ├── SemanticContextType.h │ │ │ │ ├── SerializedATNView.h │ │ │ │ ├── SetTransition.cpp │ │ │ │ ├── SetTransition.h │ │ │ │ ├── SingletonPredictionContext.cpp │ │ │ │ ├── SingletonPredictionContext.h │ │ │ │ ├── StarBlockStartState.h │ │ │ │ ├── StarLoopEntryState.h │ │ │ │ ├── StarLoopbackState.cpp │ │ │ │ ├── StarLoopbackState.h │ │ │ │ ├── TokensStartState.h │ │ │ │ ├── Transition.cpp │ │ │ │ ├── Transition.h │ │ │ │ ├── TransitionType.cpp │ │ │ │ ├── TransitionType.h │ │ │ │ ├── WildcardTransition.cpp │ │ │ │ └── WildcardTransition.h │ │ │ ├── dfa/ │ │ │ │ ├── DFA.cpp │ │ │ │ ├── DFA.h │ │ │ │ ├── DFASerializer.cpp │ │ │ │ ├── DFASerializer.h │ │ │ │ ├── DFAState.cpp │ │ │ │ ├── DFAState.h │ │ │ │ ├── LexerDFASerializer.cpp │ │ │ │ └── LexerDFASerializer.h │ │ │ ├── internal/ │ │ │ │ ├── Synchronization.cpp │ │ │ │ └── Synchronization.h │ │ │ ├── misc/ │ │ │ │ ├── InterpreterDataReader.cpp │ │ │ │ ├── InterpreterDataReader.h │ │ │ │ ├── Interval.cpp │ │ │ │ ├── Interval.h │ │ │ │ ├── IntervalSet.cpp │ │ │ │ ├── IntervalSet.h │ │ │ │ ├── MurmurHash.cpp │ │ │ │ ├── MurmurHash.h │ │ │ │ ├── Predicate.cpp │ │ │ │ └── Predicate.h │ │ │ ├── support/ │ │ │ │ ├── Any.cpp │ │ │ │ ├── Any.h │ │ │ │ ├── Arrays.cpp │ │ │ │ ├── Arrays.h │ │ │ │ ├── BitSet.h │ │ │ │ ├── CPPUtils.cpp │ │ │ │ ├── CPPUtils.h │ │ │ │ ├── Casts.h │ │ │ │ ├── Declarations.h │ │ │ │ ├── StringUtils.cpp │ │ │ │ ├── StringUtils.h │ │ │ │ ├── Unicode.h │ │ │ │ ├── Utf8.cpp │ │ │ │ └── Utf8.h │ │ │ └── tree/ │ │ │ ├── AbstractParseTreeVisitor.h │ │ │ ├── ErrorNode.h │ │ │ ├── ErrorNodeImpl.cpp │ │ │ ├── ErrorNodeImpl.h │ │ │ ├── IterativeParseTreeWalker.cpp │ │ │ ├── IterativeParseTreeWalker.h │ │ │ ├── ParseTree.cpp │ │ │ ├── ParseTree.h │ │ │ ├── ParseTreeListener.cpp │ │ │ ├── ParseTreeListener.h │ │ │ ├── ParseTreeProperty.h │ │ │ ├── ParseTreeType.h │ │ │ ├── ParseTreeVisitor.cpp │ │ │ ├── ParseTreeVisitor.h │ │ │ ├── ParseTreeWalker.cpp │ │ │ ├── ParseTreeWalker.h │ │ │ ├── TerminalNode.h │ │ │ ├── TerminalNodeImpl.cpp │ │ │ ├── TerminalNodeImpl.h │ │ │ ├── Trees.cpp │ │ │ ├── Trees.h │ │ │ ├── pattern/ │ │ │ │ ├── Chunk.cpp │ │ │ │ ├── Chunk.h │ │ │ │ ├── ParseTreeMatch.cpp │ │ │ │ ├── ParseTreeMatch.h │ │ │ │ ├── ParseTreePattern.cpp │ │ │ │ ├── ParseTreePattern.h │ │ │ │ ├── ParseTreePatternMatcher.cpp │ │ │ │ ├── ParseTreePatternMatcher.h │ │ │ │ ├── RuleTagToken.cpp │ │ │ │ ├── RuleTagToken.h │ │ │ │ ├── TagChunk.cpp │ │ │ │ ├── TagChunk.h │ │ │ │ ├── TextChunk.cpp │ │ │ │ ├── TextChunk.h │ │ │ │ ├── TokenTagToken.cpp │ │ │ │ └── TokenTagToken.h │ │ │ └── xpath/ │ │ │ ├── XPath.cpp │ │ │ ├── XPath.h │ │ │ ├── XPathElement.cpp │ │ │ ├── XPathElement.h │ │ │ ├── XPathLexer.cpp │ │ │ ├── XPathLexer.g4 │ │ │ ├── XPathLexer.h │ │ │ ├── XPathLexer.tokens │ │ │ ├── XPathLexerErrorListener.cpp │ │ │ ├── XPathLexerErrorListener.h │ │ │ ├── XPathRuleAnywhereElement.cpp │ │ │ ├── XPathRuleAnywhereElement.h │ │ │ ├── XPathRuleElement.cpp │ │ │ ├── XPathRuleElement.h │ │ │ ├── XPathTokenAnywhereElement.cpp │ │ │ ├── XPathTokenAnywhereElement.h │ │ │ ├── XPathTokenElement.cpp │ │ │ ├── XPathTokenElement.h │ │ │ ├── XPathWildcardAnywhereElement.cpp │ │ │ ├── XPathWildcardAnywhereElement.h │ │ │ ├── XPathWildcardElement.cpp │ │ │ └── XPathWildcardElement.h │ │ └── tests/ │ │ └── Utf8Test.cpp │ ├── Dart/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── benchmark/ │ │ │ └── src/ │ │ │ └── util/ │ │ │ └── bit_set.dart │ │ ├── lib/ │ │ │ ├── antlr4.dart │ │ │ └── src/ │ │ │ ├── atn/ │ │ │ │ ├── atn.dart │ │ │ │ └── src/ │ │ │ │ ├── atn.dart │ │ │ │ ├── atn_config.dart │ │ │ │ ├── atn_config_set.dart │ │ │ │ ├── atn_deserializer.dart │ │ │ │ ├── atn_simulator.dart │ │ │ │ ├── atn_state.dart │ │ │ │ ├── atn_type.dart │ │ │ │ ├── info.dart │ │ │ │ ├── lexer_action.dart │ │ │ │ ├── lexer_action_executor.dart │ │ │ │ ├── lexer_atn_simulator.dart │ │ │ │ ├── parser_atn_simulator.dart │ │ │ │ ├── profiling_atn_simulator.dart │ │ │ │ ├── semantic_context.dart │ │ │ │ └── transition.dart │ │ │ ├── dfa/ │ │ │ │ ├── dfa.dart │ │ │ │ └── src/ │ │ │ │ ├── dfa.dart │ │ │ │ ├── dfa_serializer.dart │ │ │ │ └── dfa_state.dart │ │ │ ├── error/ │ │ │ │ ├── error.dart │ │ │ │ └── src/ │ │ │ │ ├── diagnostic_error_listener.dart │ │ │ │ ├── error_listener.dart │ │ │ │ ├── error_strategy.dart │ │ │ │ └── errors.dart │ │ │ ├── input_stream.dart │ │ │ ├── interval_set.dart │ │ │ ├── lexer.dart │ │ │ ├── ll1_analyzer.dart │ │ │ ├── misc/ │ │ │ │ ├── misc.dart │ │ │ │ └── src/ │ │ │ │ ├── multi_map.dart │ │ │ │ └── pair.dart │ │ │ ├── parser.dart │ │ │ ├── parser_interpreter.dart │ │ │ ├── parser_rule_context.dart │ │ │ ├── prediction_context.dart │ │ │ ├── recognizer.dart │ │ │ ├── rule_context.dart │ │ │ ├── runtime_meta_data.dart │ │ │ ├── token.dart │ │ │ ├── token_factory.dart │ │ │ ├── token_source.dart │ │ │ ├── token_stream.dart │ │ │ ├── tree/ │ │ │ │ ├── src/ │ │ │ │ │ ├── pattern/ │ │ │ │ │ │ ├── chunk.dart │ │ │ │ │ │ └── parse_tree_match.dart │ │ │ │ │ ├── tree.dart │ │ │ │ │ └── trees.dart │ │ │ │ └── tree.dart │ │ │ ├── util/ │ │ │ │ ├── bit_operation_util.dart │ │ │ │ ├── bit_operation_util_html.dart │ │ │ │ ├── bit_set.dart │ │ │ │ ├── murmur_hash.dart │ │ │ │ ├── platform_html.dart │ │ │ │ ├── platform_io.dart │ │ │ │ ├── platform_stub.dart │ │ │ │ └── utils.dart │ │ │ └── vocabulary.dart │ │ ├── pubspec.yaml │ │ └── test/ │ │ └── src/ │ │ └── util/ │ │ └── bit_set_test.dart │ ├── Go/ │ │ └── antlr/ │ │ ├── README.adoc │ │ └── v4/ │ │ ├── LICENSE │ │ ├── antlrdoc.go │ │ ├── atn.go │ │ ├── atn_config.go │ │ ├── atn_config_set.go │ │ ├── atn_deserialization_options.go │ │ ├── atn_deserializer.go │ │ ├── atn_simulator.go │ │ ├── atn_state.go │ │ ├── atn_type.go │ │ ├── char_stream.go │ │ ├── common_token_factory.go │ │ ├── common_token_stream.go │ │ ├── comparators.go │ │ ├── configuration.go │ │ ├── dfa.go │ │ ├── dfa_serializer.go │ │ ├── dfa_state.go │ │ ├── diagnostic_error_listener.go │ │ ├── error_listener.go │ │ ├── error_strategy.go │ │ ├── errors.go │ │ ├── file_stream.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── input_stream.go │ │ ├── int_stream.go │ │ ├── interval_set.go │ │ ├── jcollect.go │ │ ├── lexer.go │ │ ├── lexer_action.go │ │ ├── lexer_action_executor.go │ │ ├── lexer_atn_simulator.go │ │ ├── ll1_analyzer.go │ │ ├── mutex.go │ │ ├── mutex_nomutex.go │ │ ├── nostatistics.go │ │ ├── parser.go │ │ ├── parser_atn_simulator.go │ │ ├── parser_rule_context.go │ │ ├── prediction_context.go │ │ ├── prediction_context_cache.go │ │ ├── prediction_mode.go │ │ ├── recognizer.go │ │ ├── rule_context.go │ │ ├── semantic_context.go │ │ ├── statistics.go │ │ ├── stats_data.go │ │ ├── token.go │ │ ├── token_source.go │ │ ├── token_stream.go │ │ ├── tokenstream_rewriter.go │ │ ├── trace_listener.go │ │ ├── transition.go │ │ ├── tree.go │ │ ├── trees.go │ │ └── utils.go │ ├── Java/ │ │ ├── doxyfile │ │ ├── nb-configuration.xml │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── dot/ │ │ │ └── org/ │ │ │ └── antlr/ │ │ │ └── v4/ │ │ │ └── runtime/ │ │ │ └── atn/ │ │ │ └── images/ │ │ │ ├── ArrayMerge_DiffTopDiffPar.dot │ │ │ ├── ArrayMerge_EqualTop.dot │ │ │ ├── ArrayMerge_ShareTopDiffPar.dot │ │ │ ├── ArrayMerge_ShareTopSamePar.dot │ │ │ ├── ArrayMerge_ShareTopSharePar.dot │ │ │ ├── Block.dot │ │ │ ├── ClosureGreedy.dot │ │ │ ├── ClosureNonGreedy.dot │ │ │ ├── FullMerge_EmptyRoot.dot │ │ │ ├── FullMerge_EmptyRoots.dot │ │ │ ├── FullMerge_SameRoot.dot │ │ │ ├── LocalMerge_DiffRoots.dot │ │ │ ├── LocalMerge_EmptyParent.dot │ │ │ ├── LocalMerge_EmptyRoot.dot │ │ │ ├── OptionalGreedy.dot │ │ │ ├── OptionalNonGreedy.dot │ │ │ ├── PositiveClosureGreedy.dot │ │ │ ├── PositiveClosureNonGreedy.dot │ │ │ ├── Rule.dot │ │ │ ├── SingletonMerge_DiffRootDiffPar.dot │ │ │ ├── SingletonMerge_DiffRootSamePar.dot │ │ │ ├── SingletonMerge_SameRootDiffPar.dot │ │ │ └── SingletonMerge_SameRootSamePar.dot │ │ └── org/ │ │ └── antlr/ │ │ └── v4/ │ │ └── runtime/ │ │ ├── ANTLRErrorListener.java │ │ ├── ANTLRErrorStrategy.java │ │ ├── ANTLRFileStream.java │ │ ├── ANTLRInputStream.java │ │ ├── BailErrorStrategy.java │ │ ├── BaseErrorListener.java │ │ ├── BufferedTokenStream.java │ │ ├── CharStream.java │ │ ├── CharStreams.java │ │ ├── CodePointBuffer.java │ │ ├── CodePointCharStream.java │ │ ├── CommonToken.java │ │ ├── CommonTokenFactory.java │ │ ├── CommonTokenStream.java │ │ ├── ConsoleErrorListener.java │ │ ├── DefaultErrorStrategy.java │ │ ├── DiagnosticErrorListener.java │ │ ├── FailedPredicateException.java │ │ ├── InputMismatchException.java │ │ ├── IntStream.java │ │ ├── InterpreterRuleContext.java │ │ ├── Lexer.java │ │ ├── LexerInterpreter.java │ │ ├── LexerNoViableAltException.java │ │ ├── ListTokenSource.java │ │ ├── NoViableAltException.java │ │ ├── Parser.java │ │ ├── ParserInterpreter.java │ │ ├── ParserRuleContext.java │ │ ├── ProxyErrorListener.java │ │ ├── RecognitionException.java │ │ ├── Recognizer.java │ │ ├── RuleContext.java │ │ ├── RuleContextWithAltNum.java │ │ ├── RuntimeMetaData.java │ │ ├── Token.java │ │ ├── TokenFactory.java │ │ ├── TokenSource.java │ │ ├── TokenStream.java │ │ ├── TokenStreamRewriter.java │ │ ├── UnbufferedCharStream.java │ │ ├── UnbufferedTokenStream.java │ │ ├── Vocabulary.java │ │ ├── VocabularyImpl.java │ │ ├── WritableToken.java │ │ ├── atn/ │ │ │ ├── ATN.java │ │ │ ├── ATNConfig.java │ │ │ ├── ATNConfigSet.java │ │ │ ├── ATNDeserializationOptions.java │ │ │ ├── ATNDeserializer.java │ │ │ ├── ATNSerializer.java │ │ │ ├── ATNSimulator.java │ │ │ ├── ATNState.java │ │ │ ├── ATNType.java │ │ │ ├── AbstractPredicateTransition.java │ │ │ ├── ActionTransition.java │ │ │ ├── AmbiguityInfo.java │ │ │ ├── ArrayPredictionContext.java │ │ │ ├── AtomTransition.java │ │ │ ├── BasicBlockStartState.java │ │ │ ├── BasicState.java │ │ │ ├── BlockEndState.java │ │ │ ├── BlockStartState.java │ │ │ ├── CodePointTransitions.java │ │ │ ├── ContextSensitivityInfo.java │ │ │ ├── DecisionEventInfo.java │ │ │ ├── DecisionInfo.java │ │ │ ├── DecisionState.java │ │ │ ├── EmptyPredictionContext.java │ │ │ ├── EpsilonTransition.java │ │ │ ├── ErrorInfo.java │ │ │ ├── LL1Analyzer.java │ │ │ ├── LexerATNConfig.java │ │ │ ├── LexerATNSimulator.java │ │ │ ├── LexerAction.java │ │ │ ├── LexerActionExecutor.java │ │ │ ├── LexerActionType.java │ │ │ ├── LexerChannelAction.java │ │ │ ├── LexerCustomAction.java │ │ │ ├── LexerIndexedCustomAction.java │ │ │ ├── LexerModeAction.java │ │ │ ├── LexerMoreAction.java │ │ │ ├── LexerPopModeAction.java │ │ │ ├── LexerPushModeAction.java │ │ │ ├── LexerSkipAction.java │ │ │ ├── LexerTypeAction.java │ │ │ ├── LookaheadEventInfo.java │ │ │ ├── LoopEndState.java │ │ │ ├── NotSetTransition.java │ │ │ ├── OrderedATNConfigSet.java │ │ │ ├── ParseInfo.java │ │ │ ├── ParserATNSimulator.java │ │ │ ├── PlusBlockStartState.java │ │ │ ├── PlusLoopbackState.java │ │ │ ├── PrecedencePredicateTransition.java │ │ │ ├── PredicateEvalInfo.java │ │ │ ├── PredicateTransition.java │ │ │ ├── PredictionContext.java │ │ │ ├── PredictionContextCache.java │ │ │ ├── PredictionMode.java │ │ │ ├── ProfilingATNSimulator.java │ │ │ ├── RangeTransition.java │ │ │ ├── RuleStartState.java │ │ │ ├── RuleStopState.java │ │ │ ├── RuleTransition.java │ │ │ ├── SemanticContext.java │ │ │ ├── SetTransition.java │ │ │ ├── SingletonPredictionContext.java │ │ │ ├── StarBlockStartState.java │ │ │ ├── StarLoopEntryState.java │ │ │ ├── StarLoopbackState.java │ │ │ ├── TokensStartState.java │ │ │ ├── Transition.java │ │ │ └── WildcardTransition.java │ │ ├── dfa/ │ │ │ ├── DFA.java │ │ │ ├── DFASerializer.java │ │ │ ├── DFAState.java │ │ │ └── LexerDFASerializer.java │ │ ├── misc/ │ │ │ ├── AbstractEqualityComparator.java │ │ │ ├── Array2DHashSet.java │ │ │ ├── DoubleKeyMap.java │ │ │ ├── EqualityComparator.java │ │ │ ├── FlexibleHashMap.java │ │ │ ├── IntSet.java │ │ │ ├── IntegerList.java │ │ │ ├── IntegerStack.java │ │ │ ├── InterpreterDataReader.java │ │ │ ├── Interval.java │ │ │ ├── IntervalSet.java │ │ │ ├── LogManager.java │ │ │ ├── MultiMap.java │ │ │ ├── MurmurHash.java │ │ │ ├── NotNull.java │ │ │ ├── ObjectEqualityComparator.java │ │ │ ├── OrderedHashSet.java │ │ │ ├── Pair.java │ │ │ ├── ParseCancellationException.java │ │ │ ├── Predicate.java │ │ │ ├── TestRig.java │ │ │ ├── Triple.java │ │ │ └── Utils.java │ │ └── tree/ │ │ ├── AbstractParseTreeVisitor.java │ │ ├── ErrorNode.java │ │ ├── ErrorNodeImpl.java │ │ ├── IterativeParseTreeWalker.java │ │ ├── ParseTree.java │ │ ├── ParseTreeListener.java │ │ ├── ParseTreeProperty.java │ │ ├── ParseTreeVisitor.java │ │ ├── ParseTreeWalker.java │ │ ├── RuleNode.java │ │ ├── SyntaxTree.java │ │ ├── TerminalNode.java │ │ ├── TerminalNodeImpl.java │ │ ├── Tree.java │ │ ├── Trees.java │ │ ├── pattern/ │ │ │ ├── Chunk.java │ │ │ ├── ParseTreeMatch.java │ │ │ ├── ParseTreePattern.java │ │ │ ├── ParseTreePatternMatcher.java │ │ │ ├── RuleTagToken.java │ │ │ ├── TagChunk.java │ │ │ ├── TextChunk.java │ │ │ └── TokenTagToken.java │ │ └── xpath/ │ │ ├── XPath.java │ │ ├── XPathElement.java │ │ ├── XPathLexer.java │ │ ├── XPathLexerErrorListener.java │ │ ├── XPathRuleAnywhereElement.java │ │ ├── XPathRuleElement.java │ │ ├── XPathTokenAnywhereElement.java │ │ ├── XPathTokenElement.java │ │ ├── XPathWildcardAnywhereElement.java │ │ └── XPathWildcardElement.java │ ├── JavaScript/ │ │ ├── .babelrc │ │ ├── .c8rc.json │ │ ├── .eslintignore │ │ ├── .eslintrc.yml │ │ ├── .gitignore │ │ ├── README.md │ │ ├── package.json │ │ ├── spec/ │ │ │ ├── BitSetSpec.js │ │ │ ├── HashMapSpec.js │ │ │ ├── HashSetSpec.js │ │ │ ├── IntervalSetSpec.js │ │ │ ├── helpers/ │ │ │ │ └── Reporter.js │ │ │ ├── imports/ │ │ │ │ ├── NodeCommonJSImportSpec.cjs │ │ │ │ ├── NodeEsmImportSpec.mjs │ │ │ │ └── builds/ │ │ │ │ ├── node-cjs-ts/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── package.json │ │ │ │ │ ├── test.sh │ │ │ │ │ └── tsconfig.node.commonjs.json │ │ │ │ └── node-esm-ts/ │ │ │ │ ├── .gitignore │ │ │ │ ├── index.ts │ │ │ │ ├── package.json │ │ │ │ ├── test.sh │ │ │ │ ├── tsconfig.bundler.es2022.json │ │ │ │ └── tsconfig.node16.json │ │ │ ├── rewriter/ │ │ │ │ ├── Makefile │ │ │ │ ├── TokenStreamRewriterSpec.js │ │ │ │ ├── abc.g4 │ │ │ │ ├── calc.g4 │ │ │ │ └── generatedCode/ │ │ │ │ ├── abc.js │ │ │ │ └── calc.js │ │ │ └── support/ │ │ │ └── jasmine.json │ │ ├── src/ │ │ │ └── antlr4/ │ │ │ ├── BufferedTokenStream.d.ts │ │ │ ├── BufferedTokenStream.js │ │ │ ├── CharStream.d.ts │ │ │ ├── CharStream.js │ │ │ ├── CharStreams.d.ts │ │ │ ├── CharStreams.js │ │ │ ├── CommonToken.d.ts │ │ │ ├── CommonToken.js │ │ │ ├── CommonTokenFactory.js │ │ │ ├── CommonTokenStream.d.ts │ │ │ ├── CommonTokenStream.js │ │ │ ├── FileStream.d.ts │ │ │ ├── FileStream.js │ │ │ ├── InputStream.d.ts │ │ │ ├── InputStream.js │ │ │ ├── Lexer.d.ts │ │ │ ├── Lexer.js │ │ │ ├── Parser.d.ts │ │ │ ├── Parser.js │ │ │ ├── Recognizer.d.ts │ │ │ ├── Recognizer.js │ │ │ ├── Token.d.ts │ │ │ ├── Token.js │ │ │ ├── TokenSource.d.ts │ │ │ ├── TokenSource.js │ │ │ ├── TokenStream.d.ts │ │ │ ├── TokenStream.js │ │ │ ├── TokenStreamRewriter.d.ts │ │ │ ├── TokenStreamRewriter.js │ │ │ ├── TraceListener.js │ │ │ ├── action/ │ │ │ │ ├── LexerAction.js │ │ │ │ ├── LexerChannelAction.js │ │ │ │ ├── LexerCustomAction.js │ │ │ │ ├── LexerIndexedCustomAction.js │ │ │ │ ├── LexerModeAction.js │ │ │ │ ├── LexerMoreAction.js │ │ │ │ ├── LexerPopModeAction.js │ │ │ │ ├── LexerPushModeAction.js │ │ │ │ ├── LexerSkipAction.js │ │ │ │ └── LexerTypeAction.js │ │ │ ├── atn/ │ │ │ │ ├── ATN.d.ts │ │ │ │ ├── ATN.js │ │ │ │ ├── ATNConfig.d.ts │ │ │ │ ├── ATNConfig.js │ │ │ │ ├── ATNConfigSet.d.ts │ │ │ │ ├── ATNConfigSet.js │ │ │ │ ├── ATNDeserializationOptions.d.ts │ │ │ │ ├── ATNDeserializationOptions.js │ │ │ │ ├── ATNDeserializer.d.ts │ │ │ │ ├── ATNDeserializer.js │ │ │ │ ├── ATNSimulator.d.ts │ │ │ │ ├── ATNSimulator.js │ │ │ │ ├── ATNType.js │ │ │ │ ├── AbstractPredicateTransition.js │ │ │ │ ├── LL1Analyzer.js │ │ │ │ ├── LexerATNConfig.js │ │ │ │ ├── LexerATNSimulator.d.ts │ │ │ │ ├── LexerATNSimulator.js │ │ │ │ ├── LexerActionExecutor.js │ │ │ │ ├── LexerActionType.js │ │ │ │ ├── OrderedATNConfigSet.js │ │ │ │ ├── ParserATNSimulator.d.ts │ │ │ │ ├── ParserATNSimulator.js │ │ │ │ ├── PrecedencePredicate.js │ │ │ │ ├── Predicate.js │ │ │ │ ├── PredictionContextCache.d.ts │ │ │ │ ├── PredictionContextCache.js │ │ │ │ ├── PredictionMode.d.ts │ │ │ │ ├── PredictionMode.js │ │ │ │ ├── SemanticContext.js │ │ │ │ ├── index.d.ts │ │ │ │ └── index.js │ │ │ ├── context/ │ │ │ │ ├── ArrayPredictionContext.js │ │ │ │ ├── EmptyPredictionContext.js │ │ │ │ ├── InterpreterRuleContext.js │ │ │ │ ├── ParserRuleContext.d.ts │ │ │ │ ├── ParserRuleContext.js │ │ │ │ ├── PredictionContext.js │ │ │ │ ├── PredictionContextUtils.js │ │ │ │ ├── RuleContext.d.ts │ │ │ │ ├── RuleContext.js │ │ │ │ ├── SingletonPredictionContext.js │ │ │ │ ├── index.d.ts │ │ │ │ └── index.js │ │ │ ├── dfa/ │ │ │ │ ├── DFA.d.ts │ │ │ │ ├── DFA.js │ │ │ │ ├── DFASerializer.js │ │ │ │ ├── DFAState.js │ │ │ │ ├── LexerDFASerializer.js │ │ │ │ ├── PredPrediction.js │ │ │ │ ├── index.d.ts │ │ │ │ └── index.js │ │ │ ├── error/ │ │ │ │ ├── BailErrorStrategy.d.ts │ │ │ │ ├── BailErrorStrategy.js │ │ │ │ ├── ConsoleErrorListener.js │ │ │ │ ├── DefaultErrorStrategy.d.ts │ │ │ │ ├── DefaultErrorStrategy.js │ │ │ │ ├── DiagnosticErrorListener.d.ts │ │ │ │ ├── DiagnosticErrorListener.js │ │ │ │ ├── ErrorListener.d.ts │ │ │ │ ├── ErrorListener.js │ │ │ │ ├── ErrorStrategy.d.ts │ │ │ │ ├── ErrorStrategy.js │ │ │ │ ├── FailedPredicateException.d.ts │ │ │ │ ├── FailedPredicateException.js │ │ │ │ ├── InputMismatchException.d.ts │ │ │ │ ├── InputMismatchException.js │ │ │ │ ├── LexerNoViableAltException.d.ts │ │ │ │ ├── LexerNoViableAltException.js │ │ │ │ ├── NoViableAltException.d.ts │ │ │ │ ├── NoViableAltException.js │ │ │ │ ├── ParseCancellationException.js │ │ │ │ ├── ProxyErrorListener.js │ │ │ │ ├── RecognitionException.d.ts │ │ │ │ ├── RecognitionException.js │ │ │ │ ├── index.d.ts │ │ │ │ └── index.js │ │ │ ├── index.d.cts │ │ │ ├── index.node.js │ │ │ ├── index.web.js │ │ │ ├── misc/ │ │ │ │ ├── AltDict.js │ │ │ │ ├── BitSet.d.ts │ │ │ │ ├── BitSet.js │ │ │ │ ├── HashCode.js │ │ │ │ ├── HashMap.js │ │ │ │ ├── HashSet.js │ │ │ │ ├── Interval.d.ts │ │ │ │ ├── Interval.js │ │ │ │ ├── IntervalSet.d.ts │ │ │ │ ├── IntervalSet.js │ │ │ │ ├── index.d.ts │ │ │ │ └── index.js │ │ │ ├── state/ │ │ │ │ ├── ATNState.d.ts │ │ │ │ ├── ATNState.js │ │ │ │ ├── BasicBlockStartState.js │ │ │ │ ├── BasicState.js │ │ │ │ ├── BlockEndState.js │ │ │ │ ├── BlockStartState.js │ │ │ │ ├── DecisionState.d.ts │ │ │ │ ├── DecisionState.js │ │ │ │ ├── LoopEndState.js │ │ │ │ ├── PlusBlockStartState.js │ │ │ │ ├── PlusLoopbackState.js │ │ │ │ ├── RuleStartState.d.ts │ │ │ │ ├── RuleStartState.js │ │ │ │ ├── RuleStopState.d.ts │ │ │ │ ├── RuleStopState.js │ │ │ │ ├── StarBlockStartState.js │ │ │ │ ├── StarLoopEntryState.js │ │ │ │ ├── StarLoopbackState.js │ │ │ │ ├── TokensStartState.js │ │ │ │ └── index.d.ts │ │ │ ├── transition/ │ │ │ │ ├── ActionTransition.js │ │ │ │ ├── AtomTransition.js │ │ │ │ ├── EpsilonTransition.js │ │ │ │ ├── NotSetTransition.js │ │ │ │ ├── PrecedencePredicateTransition.js │ │ │ │ ├── PredicateTransition.js │ │ │ │ ├── RangeTransition.js │ │ │ │ ├── RuleTransition.js │ │ │ │ ├── SetTransition.js │ │ │ │ ├── Transition.js │ │ │ │ └── WildcardTransition.js │ │ │ ├── tree/ │ │ │ │ ├── ErrorNode.d.ts │ │ │ │ ├── ErrorNode.js │ │ │ │ ├── ErrorNodeImpl.js │ │ │ │ ├── ParseTree.d.ts │ │ │ │ ├── ParseTree.js │ │ │ │ ├── ParseTreeListener.d.ts │ │ │ │ ├── ParseTreeListener.js │ │ │ │ ├── ParseTreeVisitor.d.ts │ │ │ │ ├── ParseTreeVisitor.js │ │ │ │ ├── ParseTreeWalker.d.ts │ │ │ │ ├── ParseTreeWalker.js │ │ │ │ ├── RuleNode.d.ts │ │ │ │ ├── RuleNode.js │ │ │ │ ├── SyntaxTree.d.ts │ │ │ │ ├── SyntaxTree.js │ │ │ │ ├── TerminalNode.d.ts │ │ │ │ ├── TerminalNode.js │ │ │ │ ├── TerminalNodeImpl.js │ │ │ │ ├── Tree.d.ts │ │ │ │ ├── Tree.js │ │ │ │ ├── Trees.d.ts │ │ │ │ ├── Trees.js │ │ │ │ ├── index.d.ts │ │ │ │ └── index.js │ │ │ └── utils/ │ │ │ ├── DoubleDict.js │ │ │ ├── Printer.d.ts │ │ │ ├── arrayToString.d.ts │ │ │ ├── arrayToString.js │ │ │ ├── equalArrays.js │ │ │ ├── escapeWhitespace.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── standardEqualsFunction.js │ │ │ ├── standardHashCodeFunction.js │ │ │ ├── stringHashCode.js │ │ │ ├── stringToCharArray.d.ts │ │ │ ├── stringToCharArray.js │ │ │ ├── titleCase.js │ │ │ └── valueToString.js │ │ ├── test-builds.sh │ │ ├── tsconfig.json │ │ └── webpack.config.js │ ├── Python3/ │ │ ├── MANIFEST.in │ │ ├── README.txt │ │ ├── RELEASE-4.5.txt │ │ ├── pyproject.toml │ │ ├── src/ │ │ │ └── antlr4/ │ │ │ ├── BufferedTokenStream.py │ │ │ ├── CommonTokenFactory.py │ │ │ ├── CommonTokenStream.py │ │ │ ├── FileStream.py │ │ │ ├── InputStream.py │ │ │ ├── IntervalSet.py │ │ │ ├── LL1Analyzer.py │ │ │ ├── Lexer.py │ │ │ ├── ListTokenSource.py │ │ │ ├── Parser.py │ │ │ ├── ParserInterpreter.py │ │ │ ├── ParserRuleContext.py │ │ │ ├── PredictionContext.py │ │ │ ├── Recognizer.py │ │ │ ├── RuleContext.py │ │ │ ├── StdinStream.py │ │ │ ├── Token.py │ │ │ ├── TokenStreamRewriter.py │ │ │ ├── Utils.py │ │ │ ├── __init__.py │ │ │ ├── _pygrun.py │ │ │ ├── atn/ │ │ │ │ ├── ATN.py │ │ │ │ ├── ATNConfig.py │ │ │ │ ├── ATNConfigSet.py │ │ │ │ ├── ATNDeserializationOptions.py │ │ │ │ ├── ATNDeserializer.py │ │ │ │ ├── ATNSimulator.py │ │ │ │ ├── ATNState.py │ │ │ │ ├── ATNType.py │ │ │ │ ├── LexerATNSimulator.py │ │ │ │ ├── LexerAction.py │ │ │ │ ├── LexerActionExecutor.py │ │ │ │ ├── ParserATNSimulator.py │ │ │ │ ├── PredictionMode.py │ │ │ │ ├── SemanticContext.py │ │ │ │ ├── Transition.py │ │ │ │ └── __init__.py │ │ │ ├── dfa/ │ │ │ │ ├── DFA.py │ │ │ │ ├── DFASerializer.py │ │ │ │ ├── DFAState.py │ │ │ │ └── __init__.py │ │ │ ├── error/ │ │ │ │ ├── DiagnosticErrorListener.py │ │ │ │ ├── ErrorListener.py │ │ │ │ ├── ErrorStrategy.py │ │ │ │ ├── Errors.py │ │ │ │ └── __init__.py │ │ │ ├── tree/ │ │ │ │ ├── Chunk.py │ │ │ │ ├── ParseTreeMatch.py │ │ │ │ ├── ParseTreePattern.py │ │ │ │ ├── ParseTreePatternMatcher.py │ │ │ │ ├── RuleTagToken.py │ │ │ │ ├── TokenTagToken.py │ │ │ │ ├── Tree.py │ │ │ │ ├── Trees.py │ │ │ │ └── __init__.py │ │ │ └── xpath/ │ │ │ ├── XPath.py │ │ │ ├── XPathLexer.g4 │ │ │ ├── XPathLexer.py │ │ │ └── __init__.py │ │ └── tests/ │ │ ├── TestFileStream.py │ │ ├── TestInputStream.py │ │ ├── TestIntervalSet.py │ │ ├── TestRecognizer.py │ │ ├── TestTokenStreamRewriter.py │ │ ├── __init__.py │ │ ├── c.c │ │ ├── ctest.py │ │ ├── expr/ │ │ │ ├── Expr.g4 │ │ │ ├── ExprLexer.py │ │ │ └── ExprParser.py │ │ ├── mocks/ │ │ │ ├── TestLexer.py │ │ │ └── __init__.py │ │ ├── parser/ │ │ │ ├── __init__.py │ │ │ ├── clexer.py │ │ │ └── cparser.py │ │ ├── run.py │ │ └── xpathtest.py │ └── Swift/ │ ├── .gitignore │ ├── Sources/ │ │ ├── Antlr4/ │ │ │ ├── ANTLRErrorListener.swift │ │ │ ├── ANTLRErrorStrategy.swift │ │ │ ├── ANTLRFileStream.swift │ │ │ ├── ANTLRInputStream.swift │ │ │ ├── BailErrorStrategy.swift │ │ │ ├── BaseErrorListener.swift │ │ │ ├── BufferedTokenStream.swift │ │ │ ├── CharStream.swift │ │ │ ├── CommonToken.swift │ │ │ ├── CommonTokenFactory.swift │ │ │ ├── CommonTokenStream.swift │ │ │ ├── ConsoleErrorListener.swift │ │ │ ├── DefaultErrorStrategy.swift │ │ │ ├── DiagnosticErrorListener.swift │ │ │ ├── FailedPredicateException.swift │ │ │ ├── InputMismatchException.swift │ │ │ ├── IntStream.swift │ │ │ ├── InterpreterRuleContext.swift │ │ │ ├── Lexer.swift │ │ │ ├── LexerInterpreter.swift │ │ │ ├── LexerNoViableAltException.swift │ │ │ ├── ListTokenSource.swift │ │ │ ├── NoViableAltException.swift │ │ │ ├── Parser.swift │ │ │ ├── ParserInterpreter.swift │ │ │ ├── ParserRuleContext.swift │ │ │ ├── ProxyErrorListener.swift │ │ │ ├── RecognitionException.swift │ │ │ ├── Recognizer.swift │ │ │ ├── RuleContext.swift │ │ │ ├── RuntimeMetaData.swift │ │ │ ├── Token.swift │ │ │ ├── TokenFactory.swift │ │ │ ├── TokenSource.swift │ │ │ ├── TokenStream.swift │ │ │ ├── TokenStreamRewriter.swift │ │ │ ├── UnbufferedCharStream.swift │ │ │ ├── UnbufferedTokenStream.swift │ │ │ ├── VocabularySingle.swift │ │ │ ├── WritableToken.swift │ │ │ ├── atn/ │ │ │ │ ├── ATN.swift │ │ │ │ ├── ATNConfig.swift │ │ │ │ ├── ATNConfigSet.swift │ │ │ │ ├── ATNDeserializationOptions.swift │ │ │ │ ├── ATNDeserializer.swift │ │ │ │ ├── ATNSimulator.swift │ │ │ │ ├── ATNState.swift │ │ │ │ ├── ATNType.swift │ │ │ │ ├── AbstractPredicateTransition.swift │ │ │ │ ├── ActionTransition.swift │ │ │ │ ├── AmbiguityInfo.swift │ │ │ │ ├── ArrayPredictionContext.swift │ │ │ │ ├── AtomTransition.swift │ │ │ │ ├── BasicBlockStartState.swift │ │ │ │ ├── BasicState.swift │ │ │ │ ├── BlockEndState.swift │ │ │ │ ├── BlockStartState.swift │ │ │ │ ├── ContextSensitivityInfo.swift │ │ │ │ ├── DecisionEventInfo.swift │ │ │ │ ├── DecisionInfo.swift │ │ │ │ ├── DecisionState.swift │ │ │ │ ├── DefaultATNConfig.swift │ │ │ │ ├── EmptyPredictionContext.swift │ │ │ │ ├── EpsilonTransition.swift │ │ │ │ ├── ErrorInfo.swift │ │ │ │ ├── LL1Analyzer.swift │ │ │ │ ├── LexerATNConfig.swift │ │ │ │ ├── LexerATNSimulator.swift │ │ │ │ ├── LexerAction.swift │ │ │ │ ├── LexerActionExecutor.swift │ │ │ │ ├── LexerActionType.swift │ │ │ │ ├── LexerChannelAction.swift │ │ │ │ ├── LexerCustomAction.swift │ │ │ │ ├── LexerIndexedCustomAction.swift │ │ │ │ ├── LexerModeAction.swift │ │ │ │ ├── LexerMoreAction.swift │ │ │ │ ├── LexerPopModeAction.swift │ │ │ │ ├── LexerPushModeAction.swift │ │ │ │ ├── LexerSkipAction.swift │ │ │ │ ├── LexerTypeAction.swift │ │ │ │ ├── LookaheadEventInfo.swift │ │ │ │ ├── LookupATNConfig.swift │ │ │ │ ├── LookupDictionary.swift │ │ │ │ ├── LoopEndState.swift │ │ │ │ ├── NotSetTransition.swift │ │ │ │ ├── ParseInfo.swift │ │ │ │ ├── ParserATNSimulator.swift │ │ │ │ ├── PlusBlockStartState.swift │ │ │ │ ├── PlusLoopbackState.swift │ │ │ │ ├── PrecedencePredicateTransition.swift │ │ │ │ ├── PredicateEvalInfo.swift │ │ │ │ ├── PredicateTransition.swift │ │ │ │ ├── PredictionContext.swift │ │ │ │ ├── PredictionContextCache.swift │ │ │ │ ├── PredictionMode.swift │ │ │ │ ├── ProfilingATNSimulator.swift │ │ │ │ ├── RangeTransition.swift │ │ │ │ ├── RuleStartState.swift │ │ │ │ ├── RuleStopState.swift │ │ │ │ ├── RuleTransition.swift │ │ │ │ ├── SemanticContext.swift │ │ │ │ ├── SetTransition.swift │ │ │ │ ├── SingletonPredictionContext.swift │ │ │ │ ├── StarBlockStartState.swift │ │ │ │ ├── StarLoopEntryState.swift │ │ │ │ ├── StarLoopbackState.swift │ │ │ │ ├── TokensStartState.swift │ │ │ │ ├── Transition.swift │ │ │ │ └── WildcardTransition.swift │ │ │ ├── dfa/ │ │ │ │ ├── DFA.swift │ │ │ │ ├── DFASerializer.swift │ │ │ │ ├── DFAState.swift │ │ │ │ └── LexerDFASerializer.swift │ │ │ ├── misc/ │ │ │ │ ├── BitSet.swift │ │ │ │ ├── DoubleKeyMap.swift │ │ │ │ ├── IntSet.swift │ │ │ │ ├── InterpreterDataReader.swift │ │ │ │ ├── Interval.swift │ │ │ │ ├── IntervalSet.swift │ │ │ │ ├── MultiMap.swift │ │ │ │ ├── MurmurHash.swift │ │ │ │ ├── Utils.swift │ │ │ │ ├── exception/ │ │ │ │ │ ├── ANTLRError.swift │ │ │ │ │ └── ANTLRException.swift │ │ │ │ ├── extension/ │ │ │ │ │ ├── ArrayExtension.swift │ │ │ │ │ ├── CharacterExtension.swift │ │ │ │ │ ├── IntStreamExtension.swift │ │ │ │ │ ├── StringExtension.swift │ │ │ │ │ ├── TokenExtension.swift │ │ │ │ │ └── UUIDExtension.swift │ │ │ │ └── utils/ │ │ │ │ ├── CommonUtil.swift │ │ │ │ ├── Mutex.swift │ │ │ │ └── Stack.swift │ │ │ └── tree/ │ │ │ ├── AbstractParseTreeVisitor.swift │ │ │ ├── ErrorNode.swift │ │ │ ├── ParseTree.swift │ │ │ ├── ParseTreeListener.swift │ │ │ ├── ParseTreeProperty.swift │ │ │ ├── ParseTreeVisitor.swift │ │ │ ├── ParseTreeWalker.swift │ │ │ ├── RuleNode.swift │ │ │ ├── SyntaxTree.swift │ │ │ ├── TerminalNode.swift │ │ │ ├── TerminalNodeImpl.swift │ │ │ ├── Tree.swift │ │ │ ├── Trees.swift │ │ │ └── pattern/ │ │ │ ├── Chunk.swift │ │ │ ├── ParseTreeMatch.swift │ │ │ ├── ParseTreePattern.swift │ │ │ ├── ParseTreePatternMatcher.swift │ │ │ ├── RuleTagToken.swift │ │ │ ├── TagChunk.swift │ │ │ ├── TextChunk.swift │ │ │ └── TokenTagToken.swift │ │ ├── Info-IOS.plist │ │ └── Info-OSX.plist │ ├── Tests/ │ │ ├── Antlr4Tests/ │ │ │ ├── ANTLRInputStreamTests.swift │ │ │ ├── InterpreterDataTests.swift │ │ │ ├── LexerA.g4 │ │ │ ├── LexerB.g4 │ │ │ ├── MurmurHashTests.swift │ │ │ ├── ParseTreePatternMatcherTests.swift │ │ │ ├── RuntimeMetaDataTests.swift │ │ │ ├── StringExtensionTests.swift │ │ │ ├── Threading.g4 │ │ │ ├── ThreadingTests.swift │ │ │ ├── TokenStreamRewriterTests.swift │ │ │ ├── TokenStreamTests.swift │ │ │ ├── VisitorBasic.g4 │ │ │ ├── VisitorCalc.g4 │ │ │ └── VisitorTests.swift │ │ ├── Info.plist │ │ └── LinuxMain.swift │ └── boot.py ├── runtime-testsuite/ │ ├── pom.xml │ ├── resources/ │ │ ├── junit-platform.properties │ │ └── org/ │ │ └── antlr/ │ │ └── v4/ │ │ └── test/ │ │ └── runtime/ │ │ ├── descriptors/ │ │ │ ├── CompositeLexers/ │ │ │ │ ├── LexerDelegatorInvokesDelegateRule.txt │ │ │ │ └── LexerDelegatorRuleOverridesDelegate.txt │ │ │ ├── CompositeParsers/ │ │ │ │ ├── BringInLiteralsFromDelegate.txt │ │ │ │ ├── CombinedImportsCombined.txt │ │ │ │ ├── DelegatesSeeSameTokenType.txt │ │ │ │ ├── DelegatorAccessesDelegateMembers.txt │ │ │ │ ├── DelegatorInvokesDelegateRule.txt │ │ │ │ ├── DelegatorInvokesDelegateRuleWithArgs.txt │ │ │ │ ├── DelegatorInvokesDelegateRuleWithReturnStruct.txt │ │ │ │ ├── DelegatorInvokesFirstVersionOfDelegateRule.txt │ │ │ │ ├── DelegatorRuleOverridesDelegate.txt │ │ │ │ ├── DelegatorRuleOverridesDelegates.txt │ │ │ │ ├── DelegatorRuleOverridesLookaheadInDelegate.txt │ │ │ │ ├── ImportLexerWithOnlyFragmentRules.txt │ │ │ │ ├── ImportedGrammarWithEmptyOptions.txt │ │ │ │ ├── ImportedRuleWithAction.txt │ │ │ │ └── KeywordVSIDOrder.txt │ │ │ ├── FullContextParsing/ │ │ │ │ ├── AmbigYieldsCtxSensitiveDFA.txt │ │ │ │ ├── AmbiguityNoLoop.txt │ │ │ │ ├── CtxSensitiveDFATwoDiffInput.txt │ │ │ │ ├── CtxSensitiveDFA_1.txt │ │ │ │ ├── CtxSensitiveDFA_2.txt │ │ │ │ ├── ExprAmbiguity_1.txt │ │ │ │ ├── ExprAmbiguity_2.txt │ │ │ │ ├── FullContextIF_THEN_ELSEParse_1.txt │ │ │ │ ├── FullContextIF_THEN_ELSEParse_2.txt │ │ │ │ ├── FullContextIF_THEN_ELSEParse_3.txt │ │ │ │ ├── FullContextIF_THEN_ELSEParse_4.txt │ │ │ │ ├── FullContextIF_THEN_ELSEParse_5.txt │ │ │ │ ├── FullContextIF_THEN_ELSEParse_6.txt │ │ │ │ ├── LoopsSimulateTailRecursion.txt │ │ │ │ └── SLLSeesEOFInLLGrammar.txt │ │ │ ├── LeftRecursion/ │ │ │ │ ├── AmbigLR_1.txt │ │ │ │ ├── AmbigLR_2.txt │ │ │ │ ├── AmbigLR_3.txt │ │ │ │ ├── AmbigLR_4.txt │ │ │ │ ├── AmbigLR_5.txt │ │ │ │ ├── Declarations_1.txt │ │ │ │ ├── Declarations_10.txt │ │ │ │ ├── Declarations_2.txt │ │ │ │ ├── Declarations_3.txt │ │ │ │ ├── Declarations_4.txt │ │ │ │ ├── Declarations_5.txt │ │ │ │ ├── Declarations_6.txt │ │ │ │ ├── Declarations_7.txt │ │ │ │ ├── Declarations_8.txt │ │ │ │ ├── Declarations_9.txt │ │ │ │ ├── DirectCallToLeftRecursiveRule_1.txt │ │ │ │ ├── DirectCallToLeftRecursiveRule_2.txt │ │ │ │ ├── DirectCallToLeftRecursiveRule_3.txt │ │ │ │ ├── Expressions_1.txt │ │ │ │ ├── Expressions_2.txt │ │ │ │ ├── Expressions_3.txt │ │ │ │ ├── Expressions_4.txt │ │ │ │ ├── Expressions_5.txt │ │ │ │ ├── Expressions_6.txt │ │ │ │ ├── Expressions_7.txt │ │ │ │ ├── JavaExpressions_1.txt │ │ │ │ ├── JavaExpressions_10.txt │ │ │ │ ├── JavaExpressions_11.txt │ │ │ │ ├── JavaExpressions_12.txt │ │ │ │ ├── JavaExpressions_2.txt │ │ │ │ ├── JavaExpressions_3.txt │ │ │ │ ├── JavaExpressions_4.txt │ │ │ │ ├── JavaExpressions_5.txt │ │ │ │ ├── JavaExpressions_6.txt │ │ │ │ ├── JavaExpressions_7.txt │ │ │ │ ├── JavaExpressions_8.txt │ │ │ │ ├── JavaExpressions_9.txt │ │ │ │ ├── LabelsOnOpSubrule_1.txt │ │ │ │ ├── LabelsOnOpSubrule_2.txt │ │ │ │ ├── LabelsOnOpSubrule_3.txt │ │ │ │ ├── MultipleActionsPredicatesOptions_1.txt │ │ │ │ ├── MultipleActionsPredicatesOptions_2.txt │ │ │ │ ├── MultipleActionsPredicatesOptions_3.txt │ │ │ │ ├── MultipleActions_1.txt │ │ │ │ ├── MultipleActions_2.txt │ │ │ │ ├── MultipleActions_3.txt │ │ │ │ ├── MultipleAlternativesWithCommonLabel_1.txt │ │ │ │ ├── MultipleAlternativesWithCommonLabel_2.txt │ │ │ │ ├── MultipleAlternativesWithCommonLabel_3.txt │ │ │ │ ├── MultipleAlternativesWithCommonLabel_4.txt │ │ │ │ ├── MultipleAlternativesWithCommonLabel_5.txt │ │ │ │ ├── PrecedenceFilterConsidersContext.txt │ │ │ │ ├── PrefixAndOtherAlt_1.txt │ │ │ │ ├── PrefixAndOtherAlt_2.txt │ │ │ │ ├── PrefixOpWithActionAndLabel_1.txt │ │ │ │ ├── PrefixOpWithActionAndLabel_2.txt │ │ │ │ ├── PrefixOpWithActionAndLabel_3.txt │ │ │ │ ├── ReturnValueAndActionsAndLabels_1.txt │ │ │ │ ├── ReturnValueAndActionsAndLabels_2.txt │ │ │ │ ├── ReturnValueAndActionsAndLabels_3.txt │ │ │ │ ├── ReturnValueAndActionsAndLabels_4.txt │ │ │ │ ├── ReturnValueAndActionsList1_1.txt │ │ │ │ ├── ReturnValueAndActionsList1_2.txt │ │ │ │ ├── ReturnValueAndActionsList1_3.txt │ │ │ │ ├── ReturnValueAndActionsList1_4.txt │ │ │ │ ├── ReturnValueAndActionsList2_1.txt │ │ │ │ ├── ReturnValueAndActionsList2_2.txt │ │ │ │ ├── ReturnValueAndActionsList2_3.txt │ │ │ │ ├── ReturnValueAndActionsList2_4.txt │ │ │ │ ├── ReturnValueAndActions_1.txt │ │ │ │ ├── ReturnValueAndActions_2.txt │ │ │ │ ├── ReturnValueAndActions_3.txt │ │ │ │ ├── ReturnValueAndActions_4.txt │ │ │ │ ├── SemPred.txt │ │ │ │ ├── SemPredFailOption.txt │ │ │ │ ├── Simple_1.txt │ │ │ │ ├── Simple_2.txt │ │ │ │ ├── Simple_3.txt │ │ │ │ ├── TernaryExprExplicitAssociativity_1.txt │ │ │ │ ├── TernaryExprExplicitAssociativity_2.txt │ │ │ │ ├── TernaryExprExplicitAssociativity_3.txt │ │ │ │ ├── TernaryExprExplicitAssociativity_4.txt │ │ │ │ ├── TernaryExprExplicitAssociativity_5.txt │ │ │ │ ├── TernaryExprExplicitAssociativity_6.txt │ │ │ │ ├── TernaryExprExplicitAssociativity_7.txt │ │ │ │ ├── TernaryExprExplicitAssociativity_8.txt │ │ │ │ ├── TernaryExprExplicitAssociativity_9.txt │ │ │ │ ├── TernaryExpr_1.txt │ │ │ │ ├── TernaryExpr_2.txt │ │ │ │ ├── TernaryExpr_3.txt │ │ │ │ ├── TernaryExpr_4.txt │ │ │ │ ├── TernaryExpr_5.txt │ │ │ │ ├── TernaryExpr_6.txt │ │ │ │ ├── TernaryExpr_7.txt │ │ │ │ ├── TernaryExpr_8.txt │ │ │ │ ├── TernaryExpr_9.txt │ │ │ │ ├── WhitespaceInfluence_1.txt │ │ │ │ └── WhitespaceInfluence_2.txt │ │ │ ├── LexerErrors/ │ │ │ │ ├── DFAToATNThatFailsBackToDFA.txt │ │ │ │ ├── DFAToATNThatMatchesThenFailsInATN.txt │ │ │ │ ├── EnforcedGreedyNestedBraces_1.txt │ │ │ │ ├── EnforcedGreedyNestedBraces_2.txt │ │ │ │ ├── ErrorInMiddle.txt │ │ │ │ ├── InvalidCharAtStart.txt │ │ │ │ ├── InvalidCharAtStartAfterDFACache.txt │ │ │ │ ├── InvalidCharInToken.txt │ │ │ │ ├── InvalidCharInTokenAfterDFACache.txt │ │ │ │ ├── LexerExecDFA.txt │ │ │ │ ├── StringsEmbeddedInActions_1.txt │ │ │ │ └── StringsEmbeddedInActions_2.txt │ │ │ ├── LexerExec/ │ │ │ │ ├── ActionPlacement.txt │ │ │ │ ├── CharSet.txt │ │ │ │ ├── CharSetInSet.txt │ │ │ │ ├── CharSetNot.txt │ │ │ │ ├── CharSetPlus.txt │ │ │ │ ├── CharSetRange.txt │ │ │ │ ├── CharSetWithEscapedChar.txt │ │ │ │ ├── CharSetWithMissingEscapeChar.txt │ │ │ │ ├── CharSetWithQuote1.txt │ │ │ │ ├── CharSetWithQuote2.txt │ │ │ │ ├── EOFByItself.txt │ │ │ │ ├── EOFSuffixInFirstRule_1.txt │ │ │ │ ├── EOFSuffixInFirstRule_2.txt │ │ │ │ ├── EscapeTargetStringLiteral.txt │ │ │ │ ├── EscapedCharacters.txt │ │ │ │ ├── GreedyClosure.txt │ │ │ │ ├── GreedyConfigs.txt │ │ │ │ ├── GreedyOptional.txt │ │ │ │ ├── GreedyPositiveClosure.txt │ │ │ │ ├── HexVsID.txt │ │ │ │ ├── KeywordID.txt │ │ │ │ ├── NonGreedyClosure.txt │ │ │ │ ├── NonGreedyConfigs.txt │ │ │ │ ├── NonGreedyOptional.txt │ │ │ │ ├── NonGreedyPositiveClosure.txt │ │ │ │ ├── NonGreedyTermination1.txt │ │ │ │ ├── NonGreedyTermination2.txt │ │ │ │ ├── Parentheses.txt │ │ │ │ ├── PositionAdjustingLexer.txt │ │ │ │ ├── QuoteTranslation.txt │ │ │ │ ├── RecursiveLexerRuleRefWithWildcardPlus_1.txt │ │ │ │ ├── RecursiveLexerRuleRefWithWildcardPlus_2.txt │ │ │ │ ├── RecursiveLexerRuleRefWithWildcardStar_1.txt │ │ │ │ ├── RecursiveLexerRuleRefWithWildcardStar_2.txt │ │ │ │ ├── RefToRuleDoesNotSetTokenNorEmitAnother.txt │ │ │ │ ├── ReservedWordsEscaping.txt │ │ │ │ ├── ReservedWordsEscaping_NULL.txt │ │ │ │ ├── Slashes.txt │ │ │ │ ├── StackoverflowDueToNotEscapedHyphen.txt │ │ │ │ ├── TokenType0xFFFF.txt │ │ │ │ ├── UnicodeCharSet.txt │ │ │ │ └── ZeroLengthToken.txt │ │ │ ├── Listeners/ │ │ │ │ ├── Basic.txt │ │ │ │ ├── LR.txt │ │ │ │ ├── LRWithLabels.txt │ │ │ │ ├── RuleGetters_1.txt │ │ │ │ ├── RuleGetters_2.txt │ │ │ │ ├── TokenGetters_1.txt │ │ │ │ └── TokenGetters_2.txt │ │ │ ├── ParseTrees/ │ │ │ │ ├── AltNum.txt │ │ │ │ ├── ExtraToken.txt │ │ │ │ ├── ExtraTokensAndAltLabels.txt │ │ │ │ ├── NoViableAlt.txt │ │ │ │ ├── RuleRef.txt │ │ │ │ ├── Sync.txt │ │ │ │ ├── Token2.txt │ │ │ │ ├── TokenAndRuleContextString.txt │ │ │ │ ├── TwoAltLoop.txt │ │ │ │ └── TwoAlts.txt │ │ │ ├── ParserErrors/ │ │ │ │ ├── ConjuringUpToken.txt │ │ │ │ ├── ConjuringUpTokenFromSet.txt │ │ │ │ ├── ContextListGetters.txt │ │ │ │ ├── DuplicatedLeftRecursiveCall_1.txt │ │ │ │ ├── DuplicatedLeftRecursiveCall_2.txt │ │ │ │ ├── DuplicatedLeftRecursiveCall_3.txt │ │ │ │ ├── DuplicatedLeftRecursiveCall_4.txt │ │ │ │ ├── ExtraneousInput.txt │ │ │ │ ├── InvalidATNStateRemoval.txt │ │ │ │ ├── InvalidEmptyInput.txt │ │ │ │ ├── LL1ErrorInfo.txt │ │ │ │ ├── LL2.txt │ │ │ │ ├── LL3.txt │ │ │ │ ├── LLStar.txt │ │ │ │ ├── MultiTokenDeletionBeforeLoop.txt │ │ │ │ ├── MultiTokenDeletionBeforeLoop2.txt │ │ │ │ ├── MultiTokenDeletionDuringLoop.txt │ │ │ │ ├── MultiTokenDeletionDuringLoop2.txt │ │ │ │ ├── NoViableAltAvoidance.txt │ │ │ │ ├── SingleSetInsertion.txt │ │ │ │ ├── SingleSetInsertionConsumption.txt │ │ │ │ ├── SingleTokenDeletion.txt │ │ │ │ ├── SingleTokenDeletionBeforeAlt.txt │ │ │ │ ├── SingleTokenDeletionBeforeLoop.txt │ │ │ │ ├── SingleTokenDeletionBeforeLoop2.txt │ │ │ │ ├── SingleTokenDeletionBeforePredict.txt │ │ │ │ ├── SingleTokenDeletionConsumption.txt │ │ │ │ ├── SingleTokenDeletionDuringLoop.txt │ │ │ │ ├── SingleTokenDeletionDuringLoop2.txt │ │ │ │ ├── SingleTokenDeletionExpectingSet.txt │ │ │ │ ├── SingleTokenInsertion.txt │ │ │ │ ├── TokenMismatch.txt │ │ │ │ ├── TokenMismatch2.txt │ │ │ │ └── TokenMismatch3.txt │ │ │ ├── ParserExec/ │ │ │ │ ├── APlus.txt │ │ │ │ ├── AStar_1.txt │ │ │ │ ├── AStar_2.txt │ │ │ │ ├── AorAPlus.txt │ │ │ │ ├── AorAStar_1.txt │ │ │ │ ├── AorAStar_2.txt │ │ │ │ ├── AorB.txt │ │ │ │ ├── AorBPlus.txt │ │ │ │ ├── AorBStar_1.txt │ │ │ │ ├── AorBStar_2.txt │ │ │ │ ├── Basic.txt │ │ │ │ ├── BuildParseTree_FALSE.txt │ │ │ │ ├── BuildParseTree_TRUE.txt │ │ │ │ ├── IfIfElseGreedyBinding1.txt │ │ │ │ ├── IfIfElseGreedyBinding2.txt │ │ │ │ ├── IfIfElseNonGreedyBinding1.txt │ │ │ │ ├── IfIfElseNonGreedyBinding2.txt │ │ │ │ ├── Keyword_1.txt │ │ │ │ ├── Keyword_2.txt │ │ │ │ ├── Keyword_3.txt │ │ │ │ ├── Keyword_4.txt │ │ │ │ ├── Keyword_5.txt │ │ │ │ ├── Keyword_6.txt │ │ │ │ ├── LL1OptionalBlock_1.txt │ │ │ │ ├── LL1OptionalBlock_2.txt │ │ │ │ ├── LabelAliasingAcrossLabeledAlternatives.txt │ │ │ │ ├── Labels.txt │ │ │ │ ├── ListLabelForClosureContext.txt │ │ │ │ ├── ListLabelsOnRuleRefStartOfAlt.txt │ │ │ │ ├── ListLabelsOnSet.txt │ │ │ │ ├── MultipleEOFHandling.txt │ │ │ │ ├── OpenDeviceStatement_Case1.txt │ │ │ │ ├── OpenDeviceStatement_Case2.txt │ │ │ │ ├── OpenDeviceStatement_Case3.txt │ │ │ │ ├── Optional_1.txt │ │ │ │ ├── Optional_2.txt │ │ │ │ ├── Optional_3.txt │ │ │ │ ├── Optional_4.txt │ │ │ │ ├── OrderingPredicates.txt │ │ │ │ ├── ParserProperty.txt │ │ │ │ ├── PredicatedIfIfElse.txt │ │ │ │ ├── PredictionIssue334.txt │ │ │ │ ├── PredictionMode_LL.txt │ │ │ │ ├── PredictionMode_SLL.txt │ │ │ │ ├── ReferenceToATN_1.txt │ │ │ │ ├── ReferenceToATN_2.txt │ │ │ │ ├── ReservedWordsEscaping.txt │ │ │ │ ├── TokenOffset.txt │ │ │ │ ├── Wildcard.txt │ │ │ │ └── uStartingCharDoesNotCauseIllegalUnicodeEscape.txt │ │ │ ├── Performance/ │ │ │ │ ├── DropLoopEntryBranchInLRRule_1.txt │ │ │ │ ├── DropLoopEntryBranchInLRRule_2.txt │ │ │ │ ├── DropLoopEntryBranchInLRRule_3.txt │ │ │ │ ├── DropLoopEntryBranchInLRRule_4.txt │ │ │ │ ├── DropLoopEntryBranchInLRRule_5.txt │ │ │ │ ├── ExpressionGrammar_1.txt │ │ │ │ └── ExpressionGrammar_2.txt │ │ │ ├── SemPredEvalLexer/ │ │ │ │ ├── DisableRule.txt │ │ │ │ ├── EnumNotID.txt │ │ │ │ ├── IDnotEnum.txt │ │ │ │ ├── IDvsEnum.txt │ │ │ │ ├── Indent.txt │ │ │ │ ├── LexerInputPositionSensitivePredicates.txt │ │ │ │ ├── PredicatedKeywords.txt │ │ │ │ └── RuleSempredFunction.txt │ │ │ ├── SemPredEvalParser/ │ │ │ │ ├── ActionHidesPreds.txt │ │ │ │ ├── ActionsHidePredsInGlobalFOLLOW.txt │ │ │ │ ├── AtomWithClosureInTranslatedLRRule.txt │ │ │ │ ├── DepedentPredsInGlobalFOLLOW.txt │ │ │ │ ├── DependentPredNotInOuterCtxShouldBeIgnored.txt │ │ │ │ ├── DisabledAlternative.txt │ │ │ │ ├── IndependentPredNotPassedOuterCtxToAvoidCastException.txt │ │ │ │ ├── NoTruePredsThrowsNoViableAlt.txt │ │ │ │ ├── Order.txt │ │ │ │ ├── PredFromAltTestedInLoopBack_1.txt │ │ │ │ ├── PredFromAltTestedInLoopBack_2.txt │ │ │ │ ├── PredTestedEvenWhenUnAmbig_1.txt │ │ │ │ ├── PredTestedEvenWhenUnAmbig_2.txt │ │ │ │ ├── PredicateDependentOnArg.txt │ │ │ │ ├── PredicateDependentOnArg2.txt │ │ │ │ ├── PredsInGlobalFOLLOW.txt │ │ │ │ ├── RewindBeforePredEval.txt │ │ │ │ ├── Simple.txt │ │ │ │ ├── SimpleValidate.txt │ │ │ │ ├── SimpleValidate2.txt │ │ │ │ ├── ToLeft.txt │ │ │ │ ├── ToLeftWithVaryingPredicate.txt │ │ │ │ ├── TwoUnpredicatedAlts.txt │ │ │ │ ├── TwoUnpredicatedAltsAndOneOrthogonalAlt.txt │ │ │ │ ├── UnpredicatedPathsInAlt.txt │ │ │ │ └── ValidateInDFA.txt │ │ │ └── Sets/ │ │ │ ├── CharSetLiteral.txt │ │ │ ├── ComplementSet.txt │ │ │ ├── LexerOptionalSet.txt │ │ │ ├── LexerPlusSet.txt │ │ │ ├── LexerStarSet.txt │ │ │ ├── NotChar.txt │ │ │ ├── NotCharSet.txt │ │ │ ├── NotCharSetWithRuleRef3.txt │ │ │ ├── OptionalLexerSingleElement.txt │ │ │ ├── OptionalSet.txt │ │ │ ├── OptionalSingleElement.txt │ │ │ ├── ParserNotSet.txt │ │ │ ├── ParserNotToken.txt │ │ │ ├── ParserNotTokenWithLabel.txt │ │ │ ├── ParserSet.txt │ │ │ ├── PlusLexerSingleElement.txt │ │ │ ├── PlusSet.txt │ │ │ ├── RuleAsSet.txt │ │ │ ├── SeqDoesNotBecomeSet.txt │ │ │ ├── StarLexerSingleElement_1.txt │ │ │ ├── StarLexerSingleElement_2.txt │ │ │ ├── StarSet.txt │ │ │ ├── UnicodeEscapedBMPRangeSet.txt │ │ │ ├── UnicodeEscapedBMPSet.txt │ │ │ ├── UnicodeEscapedSMPRangeSet.txt │ │ │ ├── UnicodeEscapedSMPRangeSetMismatch.txt │ │ │ ├── UnicodeEscapedSMPSet.txt │ │ │ ├── UnicodeNegatedBMPSetIncludesSMPCodePoints.txt │ │ │ ├── UnicodeNegatedSMPSetIncludesBMPCodePoints.txt │ │ │ ├── UnicodeUnescapedBMPRangeSet.txt │ │ │ └── UnicodeUnescapedBMPSet.txt │ │ ├── helpers/ │ │ │ ├── Antlr4.Test.csproj.stg │ │ │ ├── Package.swift.stg │ │ │ ├── Test.cpp.stg │ │ │ ├── Test.cs.stg │ │ │ ├── Test.dart.stg │ │ │ ├── Test.go.stg │ │ │ ├── Test.js.stg │ │ │ ├── Test.php.stg │ │ │ ├── Test.py.stg │ │ │ ├── Test.ts.stg │ │ │ ├── Test.vcxproj.stg │ │ │ ├── main.swift.stg │ │ │ ├── package_js.json │ │ │ ├── package_ts.json │ │ │ ├── pubspec.yaml.stg │ │ │ └── tsconfig.json │ │ └── templates/ │ │ ├── CSharp.test.stg │ │ ├── Cpp.test.stg │ │ ├── Dart.test.stg │ │ ├── Go.test.stg │ │ ├── Java.test.stg │ │ ├── JavaScript.test.stg │ │ ├── PHP.test.stg │ │ ├── Python3.test.stg │ │ ├── Swift.test.stg │ │ └── TypeScript.test.stg │ └── test/ │ └── org/ │ └── antlr/ │ └── v4/ │ ├── runtime/ │ │ └── TestCodePointCharStream.java │ └── test/ │ └── runtime/ │ ├── CustomDescriptors.java │ ├── ErrorQueue.java │ ├── FileUtils.java │ ├── GeneratedFile.java │ ├── Generator.java │ ├── GrammarType.java │ ├── OSType.java │ ├── Processor.java │ ├── ProcessorResult.java │ ├── README.md │ ├── RunOptions.java │ ├── RuntimeRunner.java │ ├── RuntimeTestDescriptor.java │ ├── RuntimeTestDescriptorParser.java │ ├── RuntimeTestUtils.java │ ├── RuntimeTests.java │ ├── Stage.java │ ├── StreamReader.java │ ├── TraceATN.java │ ├── cpp/ │ │ ├── CppRunner.java │ │ └── CppRuntimeTests.java │ ├── csharp/ │ │ ├── CSharpRunner.java │ │ └── CSharpRuntimeTests.java │ ├── dart/ │ │ ├── DartRunner.java │ │ └── DartRuntimeTests.java │ ├── go/ │ │ ├── GoRunner.java │ │ └── GoRuntimeTests.java │ ├── java/ │ │ ├── JavaRunner.java │ │ ├── JavaRuntimeTests.java │ │ ├── TestCharStreams.java │ │ ├── TestIntegerList.java │ │ ├── TestInterpreterDataReader.java │ │ ├── api/ │ │ │ ├── Java.g4 │ │ │ ├── TestExpectedTokens.java │ │ │ ├── TestTokenStream.java │ │ │ ├── TestTokenStreamRewriter.java │ │ │ ├── TestVisitors.java │ │ │ ├── VisitorBasic.g4 │ │ │ ├── VisitorCalc.g4 │ │ │ └── perf/ │ │ │ ├── Instrumentor.java │ │ │ ├── TimeLexerSpeed.java │ │ │ ├── emoji.txt │ │ │ ├── graphemes.g4 │ │ │ ├── udhr_hin.txt │ │ │ └── udhr_kor.txt │ │ └── helpers/ │ │ ├── CustomStreamErrorListener.java │ │ ├── RuntimeTestLexer.java │ │ ├── RuntimeTestParser.java │ │ └── TreeShapeListener.java │ ├── javascript/ │ │ ├── JavaScriptRuntimeTests.java │ │ └── NodeRunner.java │ ├── php/ │ │ ├── PHPRunner.java │ │ └── PhpRuntimeTests.java │ ├── python/ │ │ └── PythonRunner.java │ ├── python3/ │ │ ├── Python3Runner.java │ │ └── Python3RuntimeTests.java │ ├── states/ │ │ ├── CompiledState.java │ │ ├── ExecutedState.java │ │ ├── GeneratedState.java │ │ ├── JavaCompiledState.java │ │ ├── JavaExecutedState.java │ │ └── State.java │ ├── swift/ │ │ ├── SwiftRunner.java │ │ └── SwiftRuntimeTests.java │ └── typescript/ │ ├── TsNodeRunner.java │ └── TypeScriptRuntimeTests.java ├── scripts/ │ ├── deploy_to_website.py │ ├── files-to-update.txt │ ├── github_release_notes.py │ ├── parse-extended-pictographic/ │ │ ├── ExtendedPictographic-Parsed.txt │ │ ├── ExtendedPictographic.txt │ │ ├── README.md │ │ └── parse.py │ ├── traceatn.sh │ └── update_antlr_version.py ├── tool/ │ ├── nb-configuration.xml │ ├── pom.xml │ ├── resources/ │ │ └── org/ │ │ └── antlr/ │ │ └── v4/ │ │ └── tool/ │ │ └── templates/ │ │ ├── LeftRecursiveRules.stg │ │ ├── codegen/ │ │ │ ├── CSharp/ │ │ │ │ └── CSharp.stg │ │ │ ├── Cpp/ │ │ │ │ ├── Cpp.stg │ │ │ │ └── Files.stg │ │ │ ├── Dart/ │ │ │ │ └── Dart.stg │ │ │ ├── Go/ │ │ │ │ └── Go.stg │ │ │ ├── Java/ │ │ │ │ └── Java.stg │ │ │ ├── JavaScript/ │ │ │ │ └── JavaScript.stg │ │ │ ├── PHP/ │ │ │ │ └── PHP.stg │ │ │ ├── Python3/ │ │ │ │ └── Python3.stg │ │ │ ├── Swift/ │ │ │ │ └── Swift.stg │ │ │ └── TypeScript/ │ │ │ └── TypeScript.stg │ │ ├── depend.stg │ │ ├── dot/ │ │ │ └── graphs.stg │ │ ├── messages/ │ │ │ └── formats/ │ │ │ ├── antlr.stg │ │ │ ├── gnu.stg │ │ │ └── vs2005.stg │ │ └── unicodedata.st │ └── src/ │ └── org/ │ └── antlr/ │ └── v4/ │ ├── Tool.java │ ├── analysis/ │ │ ├── AnalysisPipeline.java │ │ ├── LeftRecursionDetector.java │ │ ├── LeftRecursiveRuleAltInfo.java │ │ ├── LeftRecursiveRuleAnalyzer.java │ │ └── LeftRecursiveRuleTransformer.java │ ├── automata/ │ │ ├── ATNFactory.java │ │ ├── ATNOptimizer.java │ │ ├── ATNPrinter.java │ │ ├── ATNVisitor.java │ │ ├── CharactersDataCheckStatus.java │ │ ├── LexerATNFactory.java │ │ ├── ParserATNFactory.java │ │ ├── RangeBorderCharactersData.java │ │ └── TailEpsilonRemover.java │ ├── codegen/ │ │ ├── ActionTranslator.java │ │ ├── BlankOutputModelFactory.java │ │ ├── CodeGenPipeline.java │ │ ├── CodeGenerator.java │ │ ├── CodeGeneratorExtension.java │ │ ├── DefaultOutputModelFactory.java │ │ ├── LexerFactory.java │ │ ├── OutputModelController.java │ │ ├── OutputModelFactory.java │ │ ├── OutputModelWalker.java │ │ ├── ParserFactory.java │ │ ├── SourceGenTriggers.g │ │ ├── SourceType.java │ │ ├── Target.java │ │ ├── UnicodeEscapes.java │ │ ├── model/ │ │ │ ├── Action.java │ │ │ ├── AddToLabelList.java │ │ │ ├── AltBlock.java │ │ │ ├── ArgAction.java │ │ │ ├── BaseListenerFile.java │ │ │ ├── BaseVisitorFile.java │ │ │ ├── CaptureNextToken.java │ │ │ ├── CaptureNextTokenType.java │ │ │ ├── Choice.java │ │ │ ├── CodeBlockForAlt.java │ │ │ ├── CodeBlockForOuterMostAlt.java │ │ │ ├── DispatchMethod.java │ │ │ ├── ElementFrequenciesVisitor.java │ │ │ ├── ExceptionClause.java │ │ │ ├── InvokeRule.java │ │ │ ├── LL1AltBlock.java │ │ │ ├── LL1Choice.java │ │ │ ├── LL1Loop.java │ │ │ ├── LL1OptionalBlock.java │ │ │ ├── LL1OptionalBlockSingleAlt.java │ │ │ ├── LL1PlusBlockSingleAlt.java │ │ │ ├── LL1StarBlockSingleAlt.java │ │ │ ├── LabeledOp.java │ │ │ ├── LeftRecursiveRuleFunction.java │ │ │ ├── Lexer.java │ │ │ ├── LexerFile.java │ │ │ ├── ListenerDispatchMethod.java │ │ │ ├── ListenerFile.java │ │ │ ├── Loop.java │ │ │ ├── MatchNotSet.java │ │ │ ├── MatchSet.java │ │ │ ├── MatchToken.java │ │ │ ├── ModelElement.java │ │ │ ├── OptionalBlock.java │ │ │ ├── OutputFile.java │ │ │ ├── OutputModelObject.java │ │ │ ├── Parser.java │ │ │ ├── ParserFile.java │ │ │ ├── PlusBlock.java │ │ │ ├── Recognizer.java │ │ │ ├── RuleActionFunction.java │ │ │ ├── RuleElement.java │ │ │ ├── RuleFunction.java │ │ │ ├── RuleSempredFunction.java │ │ │ ├── SemPred.java │ │ │ ├── SerializedATN.java │ │ │ ├── SerializedJavaATN.java │ │ │ ├── SrcOp.java │ │ │ ├── StarBlock.java │ │ │ ├── Sync.java │ │ │ ├── TestSetInline.java │ │ │ ├── ThrowEarlyExitException.java │ │ │ ├── ThrowNoViableAlt.java │ │ │ ├── ThrowRecognitionException.java │ │ │ ├── TokenInfo.java │ │ │ ├── VisitorDispatchMethod.java │ │ │ ├── VisitorFile.java │ │ │ ├── Wildcard.java │ │ │ ├── chunk/ │ │ │ │ ├── ActionChunk.java │ │ │ │ ├── ActionTemplate.java │ │ │ │ ├── ActionText.java │ │ │ │ ├── ArgRef.java │ │ │ │ ├── LabelRef.java │ │ │ │ ├── ListLabelRef.java │ │ │ │ ├── LocalRef.java │ │ │ │ ├── NonLocalAttrRef.java │ │ │ │ ├── QRetValueRef.java │ │ │ │ ├── RetValueRef.java │ │ │ │ ├── RulePropertyRef.java │ │ │ │ ├── RulePropertyRef_ctx.java │ │ │ │ ├── RulePropertyRef_parser.java │ │ │ │ ├── RulePropertyRef_start.java │ │ │ │ ├── RulePropertyRef_stop.java │ │ │ │ ├── RulePropertyRef_text.java │ │ │ │ ├── SetAttr.java │ │ │ │ ├── SetNonLocalAttr.java │ │ │ │ ├── SymbolRefChunk.java │ │ │ │ ├── ThisRulePropertyRef_ctx.java │ │ │ │ ├── ThisRulePropertyRef_parser.java │ │ │ │ ├── ThisRulePropertyRef_start.java │ │ │ │ ├── ThisRulePropertyRef_stop.java │ │ │ │ ├── ThisRulePropertyRef_text.java │ │ │ │ ├── TokenPropertyRef.java │ │ │ │ ├── TokenPropertyRef_channel.java │ │ │ │ ├── TokenPropertyRef_index.java │ │ │ │ ├── TokenPropertyRef_int.java │ │ │ │ ├── TokenPropertyRef_line.java │ │ │ │ ├── TokenPropertyRef_pos.java │ │ │ │ ├── TokenPropertyRef_text.java │ │ │ │ ├── TokenPropertyRef_type.java │ │ │ │ └── TokenRef.java │ │ │ ├── dbg.java │ │ │ └── decl/ │ │ │ ├── AltLabelStructDecl.java │ │ │ ├── AttributeDecl.java │ │ │ ├── CodeBlock.java │ │ │ ├── ContextGetterDecl.java │ │ │ ├── ContextRuleGetterDecl.java │ │ │ ├── ContextRuleListGetterDecl.java │ │ │ ├── ContextRuleListIndexedGetterDecl.java │ │ │ ├── ContextTokenGetterDecl.java │ │ │ ├── ContextTokenListGetterDecl.java │ │ │ ├── ContextTokenListIndexedGetterDecl.java │ │ │ ├── Decl.java │ │ │ ├── ElementListDecl.java │ │ │ ├── RuleContextDecl.java │ │ │ ├── RuleContextListDecl.java │ │ │ ├── StructDecl.java │ │ │ ├── TokenDecl.java │ │ │ ├── TokenListDecl.java │ │ │ └── TokenTypeDecl.java │ │ └── target/ │ │ ├── CSharpTarget.java │ │ ├── CppTarget.java │ │ ├── DartTarget.java │ │ ├── GoTarget.java │ │ ├── JavaScriptTarget.java │ │ ├── JavaTarget.java │ │ ├── PHPTarget.java │ │ ├── Python3Target.java │ │ ├── SwiftTarget.java │ │ └── TypeScriptTarget.java │ ├── gui/ │ │ ├── BasicFontMetrics.java │ │ ├── GraphicsSupport.java │ │ ├── Interpreter.java │ │ ├── JFileChooserConfirmOverwrite.java │ │ ├── PostScriptDocument.java │ │ ├── SystemFontMetrics.java │ │ ├── TestRig.java │ │ ├── TreeLayoutAdaptor.java │ │ ├── TreePostScriptGenerator.java │ │ ├── TreeTextProvider.java │ │ ├── TreeViewer.java │ │ └── Trees.java │ ├── misc/ │ │ ├── CharSupport.java │ │ ├── EscapeSequenceParsing.java │ │ ├── FrequencySet.java │ │ ├── Graph.java │ │ ├── MutableInt.java │ │ ├── OrderedHashMap.java │ │ └── Utils.java │ ├── parse/ │ │ ├── ANTLRLexer.g │ │ ├── ANTLRParser.g │ │ ├── ATNBuilder.g │ │ ├── ActionSplitter.g │ │ ├── ActionSplitterListener.java │ │ ├── BlockSetTransformer.g │ │ ├── GrammarASTAdaptor.java │ │ ├── GrammarToken.java │ │ ├── GrammarTreeVisitor.g │ │ ├── LeftRecursiveRuleWalker.g │ │ ├── ResyncToEndOfRuleBlock.java │ │ ├── ScopeParser.java │ │ ├── TokenVocabParser.java │ │ ├── ToolANTLRLexer.java │ │ ├── ToolANTLRParser.java │ │ └── v4ParserException.java │ ├── semantics/ │ │ ├── ActionSniffer.java │ │ ├── AttributeChecks.java │ │ ├── BasicSemanticChecks.java │ │ ├── BlankActionSplitterListener.java │ │ ├── RuleCollector.java │ │ ├── SemanticPipeline.java │ │ ├── SymbolChecks.java │ │ ├── SymbolCollector.java │ │ └── UseDefAnalyzer.java │ ├── tool/ │ │ ├── ANTLRMessage.java │ │ ├── ANTLRToolListener.java │ │ ├── Alternative.java │ │ ├── Attribute.java │ │ ├── AttributeDict.java │ │ ├── AttributeResolver.java │ │ ├── BuildDependencyGenerator.java │ │ ├── DOTGenerator.java │ │ ├── DefaultToolListener.java │ │ ├── ErrorManager.java │ │ ├── ErrorSeverity.java │ │ ├── ErrorType.java │ │ ├── Grammar.java │ │ ├── GrammarInterpreterRuleContext.java │ │ ├── GrammarParserInterpreter.java │ │ ├── GrammarSemanticsMessage.java │ │ ├── GrammarSyntaxMessage.java │ │ ├── GrammarTransformPipeline.java │ │ ├── LabelElementPair.java │ │ ├── LabelType.java │ │ ├── LeftRecursionCyclesMessage.java │ │ ├── LeftRecursiveRule.java │ │ ├── LexerGrammar.java │ │ ├── Rule.java │ │ ├── ToolMessage.java │ │ └── ast/ │ │ ├── ActionAST.java │ │ ├── AltAST.java │ │ ├── BlockAST.java │ │ ├── GrammarAST.java │ │ ├── GrammarASTErrorNode.java │ │ ├── GrammarASTVisitor.java │ │ ├── GrammarASTWithOptions.java │ │ ├── GrammarRootAST.java │ │ ├── NotAST.java │ │ ├── OptionalBlockAST.java │ │ ├── PlusBlockAST.java │ │ ├── PredAST.java │ │ ├── QuantifierAST.java │ │ ├── RangeAST.java │ │ ├── RuleAST.java │ │ ├── RuleElementAST.java │ │ ├── RuleRefAST.java │ │ ├── SetAST.java │ │ ├── StarBlockAST.java │ │ └── TerminalAST.java │ └── unicode/ │ └── UnicodeDataTemplateController.java └── tool-testsuite/ ├── pom.xml ├── resources/ │ └── junit-platform.properties └── test/ └── org/ └── antlr/ └── v4/ └── test/ └── tool/ ├── ATNDescriber.java ├── InterpreterTreeTextProvider.java ├── Java.g4 ├── JavaLR.g4 ├── JavaUnicodeInputStream.java ├── MockIntTokenStream.java ├── ParserInterpreterForTesting.java ├── PositionAdjustingLexer.g4 ├── Psl.g4 ├── TestASTStructure.java ├── TestATNConstruction.java ├── TestATNDeserialization.java ├── TestATNInterpreter.java ├── TestATNLexerInterpreter.java ├── TestATNParserPrediction.java ├── TestATNSerialization.java ├── TestActionSplitter.java ├── TestActionTranslation.java ├── TestAmbigParseTrees.java ├── TestAttributeChecks.java ├── TestBasicSemanticErrors.java ├── TestBufferedTokenStream.java ├── TestCharSupport.java ├── TestCodeGeneration.java ├── TestCommonTokenStream.java ├── TestCompositeGrammars.java ├── TestDollarParser.java ├── TestErrorSets.java ├── TestEscapeSequenceParsing.java ├── TestFastQueue.java ├── TestGrammarParserInterpreter.java ├── TestGraphNodes.java ├── TestIntervalSet.java ├── TestLeftRecursionToolIssues.java ├── TestLexerActions.java ├── TestLookaheadTrees.java ├── TestParseTreeMatcher.java ├── TestParserExec.java ├── TestParserInterpreter.java ├── TestParserProfiler.java ├── TestPerformance.java ├── TestScopeParsing.java ├── TestSplitParser.java ├── TestSymbolIssues.java ├── TestTokenPositionOptions.java ├── TestTokenTypeAssignment.java ├── TestToolSyntaxErrors.java ├── TestTopologicalSort.java ├── TestUnbufferedCharStream.java ├── TestUnbufferedTokenStream.java ├── TestUnicodeData.java ├── TestUnicodeEscapes.java ├── TestUnicodeGrammar.java ├── TestUtils.java ├── TestVocabulary.java ├── TestXPath.java └── ToolTestUtils.java