| PreprocessorParser |   | 77% |   | 52% | 863 | 1,160 | 579 | 2,927 | 8 | 51 | 0 | 1 |
| PreprocessorLexer |   | 67% |   | 46% | 530 | 858 | 659 | 1,847 | 24 | 128 | 0 | 1 |
| PreprocessorExpressionParser |   | 83% |   | 71% | 49 | 112 | 132 | 745 | 6 | 26 | 0 | 1 |
| PreprocessorParser.DFA65 |  | 17% |  | 6% | 52 | 55 | 128 | 156 | 1 | 3 | 0 | 1 |
| PreprocessorTokenSource |   | 85% |   | 76% | 77 | 223 | 84 | 628 | 6 | 56 | 0 | 1 |
| CPreprocessor |   | 49% | | 62% | 9 | 22 | 57 | 111 | 5 | 14 | 0 | 1 |
| MacroExpander |   | 85% |   | 77% | 38 | 105 | 38 | 323 | 1 | 20 | 0 | 1 |
| PreprocessorUtils |  | 81% |  | 72% | 18 | 45 | 42 | 102 | 5 | 16 | 0 | 1 |
| PreprocessorLexer.DFA68 |  | 85% |   | 74% | 48 | 120 | 18 | 108 | 1 | 3 | 0 | 1 |
| FilteredStream |  | 83% |  | 70% | 15 | 47 | 18 | 104 | 3 | 18 | 0 | 1 |
| PreprocessorTokenSource.new TokenIterator() {...} | | 59% | | 37% | 5 | 9 | 9 | 19 | 2 | 5 | 0 | 1 |
| ListTokenIterator | | 50% | | 25% | 6 | 10 | 6 | 15 | 2 | 6 | 0 | 1 |
| ChainedTokenIterator | | 52% | | 25% | 5 | 8 | 3 | 10 | 1 | 4 | 0 | 1 |
| PreprocessorExpressionAnalyzer |  | 94% |  | 94% | 4 | 44 | 4 | 90 | 0 | 9 | 0 | 1 |
| EmptyTokenIterator | | 16% | | n/a | 5 | 6 | 5 | 7 | 5 | 6 | 0 | 1 |
| TreeTokenIterator | | 0% | | n/a | 4 | 4 | 5 | 5 | 4 | 4 | 1 | 1 |
| CommonCharacterStream | | 95% | | 87% | 1 | 11 | 1 | 40 | 0 | 7 | 0 | 1 |
| PreprocessorExpressionParser.white_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| PreprocessorParser.cuda_punctuator_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| PreprocessorParser.lineline_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| PreprocessorParser.civl_punctuator_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| PreprocessorParser.c_pp_keyword_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| PreprocessorUtils.new TokenSource() {...} | | 80% | | 100% | 1 | 4 | 1 | 6 | 1 | 3 | 0 | 1 |
| PreprocessorParser.DFA26 | | 93% | | n/a | 1 | 2 | 1 | 12 | 1 | 2 | 0 | 1 |
| PreprocessorParser.DFA35 | | 93% | | n/a | 1 | 2 | 1 | 12 | 1 | 2 | 0 | 1 |
| PreprocessorParser.DFA36 | | 93% | | n/a | 1 | 2 | 1 | 12 | 1 | 2 | 0 | 1 |
| PreprocessorLexer.DFA41 | | 93% | | n/a | 1 | 2 | 1 | 12 | 1 | 2 | 0 | 1 |
| PreprocessorLexer.DFA45 | | 93% | | n/a | 1 | 2 | 1 | 12 | 1 | 2 | 0 | 1 |
| PreprocessorLexer.DFA30 | | 93% | | n/a | 1 | 2 | 1 | 12 | 1 | 2 | 0 | 1 |
| PreprocessorParser.DFA19 | | 93% | | n/a | 1 | 2 | 1 | 12 | 1 | 2 | 0 | 1 |
| PreprocessorParser.DFA18 | | 93% | | n/a | 1 | 2 | 1 | 12 | 1 | 2 | 0 | 1 |
| PreprocessorLexer.DFA34 | | 93% | | n/a | 1 | 2 | 1 | 12 | 1 | 2 | 0 | 1 |
| PreprocessorParser.DFA60 | | 93% | | n/a | 1 | 2 | 1 | 12 | 1 | 2 | 0 | 1 |
| MacroExpander.ExpandedToken | | 100% | | n/a | 0 | 5 | 0 | 12 | 0 | 5 | 0 | 1 |
| PreprocessorSourceFileInfo | | 100% | | n/a | 0 | 5 | 0 | 9 | 0 | 5 | 0 | 1 |
| MacroDefinedPredicate | | 100% | | n/a | 0 | 2 | 0 | 4 | 0 | 2 | 0 | 1 |
| CommonCharacterStream.Chunk | | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 0 | 1 |
| PreprocessorParser.pragmaline_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.identifier_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.white_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.itemList_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.whiteBlock_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.textBlock_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.multi_expr_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.paramlist_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.identifier_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.pp_notc_keyword_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.logical_and_expr_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.nondirective_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.macroundef_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.errorline_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.includeline_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.if_section_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.expr_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.expr_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.directiveSuffix_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.punctuator_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.pp_keyword_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.start_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.unary_operator_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.subsection_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.section_body_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.ifndefblock_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.definedExpr_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.multi_operator_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.ifblock_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.file_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.directiveBlock_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.macrobody_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.macrodef_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.pp_number_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.ifdefblock_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.additive_operator_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.equality_expr_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.relational_expr_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.pptoken_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.ppdExpr_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.c_punctuator_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.textSegment_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.logical_or_expr_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.primary_expr_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.not_directive_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.directive_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.relational_operator_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.if_suffix_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.additive_expr_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.wpptoken_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.equality_operator_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorParser.pp_number_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionParser.unary_expr_return | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PreprocessorExpressionAnalyzer.new StringPredicate() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| FilteredStream.StreamState | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |