| MFortranParser2018 |  | 0% |  | 0% | 11,248 | 11,248 | 24,640 | 24,640 | 571 | 571 | 1 | 1 |
| MFortranOmpParser |  | 0% |  | 0% | 462 | 462 | 2,816 | 2,816 | 56 | 56 | 1 | 1 |
| FortranParserActionNew |   | 26% |   | 17% | 1,376 | 1,511 | 1,645 | 2,218 | 369 | 464 | 0 | 1 |
| MFParserActionTreeMaker |  | 0% |  | 0% | 1,603 | 1,603 | 2,128 | 2,128 | 568 | 568 | 1 | 1 |
| MFortranParser2018.DFA367 | | 4% |  | 0% | 143 | 144 | 110 | 121 | 2 | 3 | 0 | 1 |
| MFortranParser2018.DFA184 | | 5% | | 0% | 58 | 59 | 153 | 164 | 2 | 3 | 0 | 1 |
| MFortranParser2018.DFA5 | | 40% | | 24% | 86 | 90 | 41 | 67 | 1 | 3 | 0 | 1 |
| BaseMFortranParser | | 37% | | 50% | 5 | 10 | 22 | 38 | 2 | 6 | 0 | 1 |
| MFParser | | 66% | | 58% | 16 | 27 | 20 | 60 | 4 | 10 | 0 | 1 |
| MFOmpParser | | 0% | | n/a | 4 | 4 | 12 | 12 | 4 | 4 | 1 | 1 |
| MFortranOmpParser.copyprivate_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.lastprivate_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.single_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.openmp_construct_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.sections_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.reduction_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.unique_for_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.default_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.nowait_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.atomic_clasue_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.identifier_list_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.copyin_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.parallel_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.schedule_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.if_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.schedule_kind_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.master_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.barrier_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.section_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.seq_cst_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.parallel_sections_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.for_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.critical_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.parallel_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.data_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.sections_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.parallel_sections_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.ompatomic_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.shared_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.flush_vars_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.unique_parallel_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.parallel_for_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.reduction_operator_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.flush_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.expression_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.threadprivate_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.keyword_list_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.num_threads_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.private_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.firstprivate_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.for_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.ordered_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.collapse_clause_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.single_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.parallel_for_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFortranOmpParser.end_directive_return | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MFParserUtils | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| BaseMFortranParser.ACITON_TYPE | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 0 | 1 |