| GrammarTreeVisitor |  | 0% |  | 0% | 718 | 718 | 2,395 | 2,395 | 207 | 207 | 1 | 1 |
| LeftRecursiveRuleWalker |  | 0% |  | 0% | 663 | 663 | 1,152 | 1,152 | 41 | 41 | 1 | 1 |
| ATNBuilder |  | 0% |  | 0% | 362 | 362 | 1,069 | 1,069 | 26 | 26 | 1 | 1 |
| ActionSplitter |  | 0% |  | 0% | 259 | 259 | 492 | 492 | 37 | 37 | 1 | 1 |
| ANTLRLexer |   | 79% |   | 66% | 431 | 898 | 215 | 1,134 | 12 | 81 | 0 | 1 |
| ANTLRParser |   | 93% |   | 89% | 138 | 762 | 256 | 3,926 | 8 | 75 | 0 | 1 |
| BlockSetTransformer |   | 83% |   | 56% | 312 | 398 | 123 | 955 | 4 | 17 | 0 | 1 |
| ScopeParser |  | 0% |  | 0% | 83 | 83 | 168 | 168 | 9 | 9 | 1 | 1 |
| ANTLRLexer.DFA2 |  | 4% |  | 0% | 138 | 139 | 105 | 116 | 2 | 3 | 0 | 1 |
| TokenVocabParser |  | 0% |  | 0% | 12 | 12 | 66 | 66 | 3 | 3 | 1 | 1 |
| GrammarToken | | 0% | | 0% | 12 | 12 | 25 | 25 | 7 | 7 | 1 | 1 |
| GrammarTreeVisitor.DFA38 | | 0% | | n/a | 2 | 2 | 12 | 12 | 2 | 2 | 1 | 1 |
| ATNBuilder.DFA10 | | 0% | | n/a | 2 | 2 | 12 | 12 | 2 | 2 | 1 | 1 |
| LeftRecursiveRuleWalker.DFA14 | | 0% | | n/a | 2 | 2 | 12 | 12 | 2 | 2 | 1 | 1 |
| LeftRecursiveRuleWalker.DFA11 | | 0% | | n/a | 2 | 2 | 12 | 12 | 2 | 2 | 1 | 1 |
| ANTLRLexer.DFA32 |  | 95% |   | 91% | 22 | 130 | 6 | 70 | 1 | 3 | 0 | 1 |
| BlockSetTransformer.DFA10 | | 72% | | 50% | 5 | 8 | 6 | 28 | 1 | 3 | 0 | 1 |
| GrammarASTAdaptor | | 68% | | 50% | 3 | 9 | 2 | 13 | 0 | 6 | 0 | 1 |
| ToolANTLRParser | | 87% | | 100% | 1 | 7 | 2 | 19 | 1 | 4 | 0 | 1 |
| ANTLRParser.ruleEntry_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| ANTLRParser.blockEntry_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| GrammarTreeVisitor.prequelConstructs_return | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |
| ANTLRParser.elementEntry_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| ANTLRParser.alternativeEntry_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| v4ParserException | | 70% | | n/a | 1 | 2 | 1 | 4 | 1 | 2 | 0 | 1 |
| GrammarTreeVisitor.option_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.blockSuffix_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.finallyClause_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.locals_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.lexerOuterAlternative_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.grammarSpec_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.delegateGrammar_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.setElement_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ATNBuilder.blockSet_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.element_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.mode_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.tokenSpec_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.delegateGrammars_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.ruleBlock_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.lexerElements_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ATNBuilder.setElement_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.elementOptions_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.elementOption_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.channelSpec_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.action_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.throwsSpec_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.terminal_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.ruleref_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.rule_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| LeftRecursiveRuleWalker.ruleBlock_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.actionElement_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.atom_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.subrule_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.outerAlternative_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.ebnfSuffix_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.lexerSubrule_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.ruleReturns_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.exceptionHandler_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ATNBuilder.atom_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.exceptionGroup_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.astOperand_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.lexerBlock_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.labeledElement_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.alternative_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ATNBuilder.lexerCommandExpr_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.lexerCommandExpr_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.ruleAction_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.lexerRuleBlock_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ATNBuilder.terminal_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.tokensSpec_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.prequelConstruct_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ATNBuilder.subrule_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.range_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.rules_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| LeftRecursiveRuleWalker.outerAlternative_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.optionValue_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.lexerElement_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.optionsSpec_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.lexerAlternative_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.lexerRule_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.ruleModifier_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.lexerCommand_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.lexerAtom_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.block_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ATNBuilder.element_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.channelsSpec_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| GrammarTreeVisitor.blockSet_return | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ToolANTLRLexer | | 100% | | n/a | 0 | 3 | 0 | 8 | 0 | 3 | 0 | 1 |
| ANTLRParser.lexerBlock_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.atom_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.terminal_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.action_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.exceptionGroup_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.rulePrequels_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.prequelConstruct_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.grammarType_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.lexerRule_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.lexerCommandName_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.rule_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.block_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.blockSuffix_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.labeledElement_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.delegateGrammars_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.lexerAtom_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.throwsSpec_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.tokensSpec_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.finallyClause_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.delegateGrammar_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| BlockSetTransformer.elementOptions_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.altList_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.exceptionHandler_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.lexerCommands_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.parserRule_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| BlockSetTransformer.ebnfBlockSet_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.lexerRuleBlock_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.ebnfSuffix_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.elementOptions_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.localsSpec_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.rules_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.rulePrequel_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| BlockSetTransformer.blockSet_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.ruleref_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.ruleAltList_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| BlockSetTransformer.setAlt_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| BlockSetTransformer.ebnfSuffix_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.qid_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.lexerAlt_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.ebnf_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.grammarSpec_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.actionScopeName_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.alternative_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.actionElement_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.notSet_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.id_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.modeSpec_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.channelsSpec_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.lexerAltList_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.setElement_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.lexerCommandExpr_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.labeledAlt_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.elementOption_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.blockSet_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.sync_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.ruleReturns_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.lexerElements_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.optionValue_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.ruleAction_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| BlockSetTransformer.elementOption_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.optionsSpec_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.element_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.wildcard_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.range_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.option_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.lexerElement_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.lexerCommand_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ANTLRParser.ruleBlock_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| BlockSetTransformer.setElement_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| BlockSetTransformer.topdown_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ResyncToEndOfRuleBlock | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |