Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | In the lemon-generated parser, do not report the End-of-input character and the wildcard character as missed coverage. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | lemon-improvements |
Files: | files | file ages | folders |
SHA3-256: |
3fe964873da16c0e0b1c4f1945f965d4 |
User & Date: | drh 2017-12-27 16:13:22.261 |
Context
2017-12-27
| ||
17:14 | Change the coverage measurement logic in the lemon-generated parser so that it only checks for coverage of state/lookahead pairs that are valid syntax. It turns out that some states are unreachable if the lookahead is not valid syntax, because the states are only reachable through a shift following a reduce, and the reduce does not happen if the lookahead is a syntax error. (check-in: 9dce465087 user: drh tags: lemon-improvements) | |
16:13 | In the lemon-generated parser, do not report the End-of-input character and the wildcard character as missed coverage. (check-in: 3fe964873d user: drh tags: lemon-improvements) | |
15:21 | In LEMON, fix an off-by-one error that can make the lookahead table one byte too smal. (check-in: 93792bc58a user: drh tags: lemon-improvements) | |
Changes
Changes to tool/lempar.c.
︙ | ︙ | |||
471 472 473 474 475 476 477 | ** missed state/lookahead combinations. */ #if defined(YYCOVERAGE) int ParseCoverage(FILE *out){ int i, j; int nMissed = 0; for(i=0; i<YYNSTATE; i++){ | | > | 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 | ** missed state/lookahead combinations. */ #if defined(YYCOVERAGE) int ParseCoverage(FILE *out){ int i, j; int nMissed = 0; for(i=0; i<YYNSTATE; i++){ for(j=1; j<YYNTOKEN; j++){ if( j==YYWILDCARD ) continue; if( !yycoverage[i][j] ) nMissed++; if( out ){ fprintf(out,"State %d lookahead %s %s\n", i, yyTokenName[j], yycoverage[i][j] ? "ok" : "missed"); } } } |
︙ | ︙ |