]> granicus.if.org Git - re2c/commit
Don't peek next input character if all transitions go to final state.
authorUlya Trofimovich <skvadrik@gmail.com>
Wed, 14 Dec 2016 13:35:21 +0000 (13:35 +0000)
committerUlya Trofimovich <skvadrik@gmail.com>
Wed, 14 Dec 2016 13:35:21 +0000 (13:35 +0000)
commit487225a906bb929146856e95d117e645b2c28dcc
tree5e2ac3baf8181fdfce8617846561096b2247468b
parenta4f7e2683f7dcb476a87431cefa5936fa0fefb9d
Don't peek next input character if all transitions go to final state.

A similar heuristic already existed, but it was imprecise and captured
only those cases when final state happened to be next to the one in
question.

A lot of tests were updated; however changes are trivial and I verified
them with skeleton.
57 files changed:
re2c/src/codegen/emit_action.cc
re2c/test/bug128.c
re2c/test/bug1297658.c
re2c/test/bug46_infinite_loop.c
re2c/test/bug57_original.bi--case-insensitive.c
re2c/test/c.c
re2c/test/cmmap.c
re2c/test/cnokw.c
re2c/test/cunroll.c
re2c/test/default_full.x--encoding-policy(fail).c
re2c/test/default_full.x--encoding-policy(substitute).c
re2c/test/input8.b.c
re2c/test/input8.c
re2c/test/input8.g.c
re2c/test/parse_date.b.c
re2c/test/parse_date.c
re2c/test/parse_date.db.c
re2c/test/parse_date.g.c
re2c/test/parse_date.s.c
re2c/test/parse_date_1_78.db.c
re2c/test/php20140822_zend_language_scanner.igcd--flex-syntax.c
re2c/test/php20140822_zend_language_scanner_crlf.igcd--flex-syntax.c
re2c/test/php20150211_json_scanner.igc.c
re2c/test/php20150211_parse_date.ig.c
re2c/test/php20150211_parse_date_crlf.ig.c
re2c/test/php20150211_parse_iso_intervals.ig--skeleton.c
re2c/test/php20150211_parse_iso_intervals.ig.c
re2c/test/php20150211_pdo_sql_parser.ig--skeleton.c
re2c/test/php20150211_pdo_sql_parser.ig.c
re2c/test/php20150211_pdo_sql_parser_trimmed.ig--skeleton.c
re2c/test/php20150211_pdo_sql_parser_trimmed.ig.c
re2c/test/php20150211_phpdbg_lexer.igcd--flex-syntax.c
re2c/test/php20150211_zend_ini_scanner.igcd--flex-syntax--case-inverted.c
re2c/test/php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c
re2c/test/php20150211_zend_ini_scanner_trimmed.ic--flex-syntax.c
re2c/test/php20150211_zend_ini_scanner_trimmed.icwb--flex-syntax.c
re2c/test/php20150211_zend_ini_scanner_trimmed_minimal_wb_bug.iwb.c
re2c/test/php20150211_zend_language_scanner.igcd--flex-syntax--case-inverted.c
re2c/test/php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c
re2c/test/repeater2.c
re2c/test/scanner.--skeleton.c
re2c/test/scanner.c
re2c/test/scanner.fs.c
re2c/test/scanner.s.c
re2c/test/scanner_re2c.bi.c
re2c/test/scanner_re2c_default.bi.c
re2c/test/tags/conf1.i--tags--input(custom).c
re2c/test/tags/conf1.i--tags.c
re2c/test/tags/conf3.i--tags--input(custom).c
re2c/test/tags/conf3.i--tags.c
re2c/test/tags/exponential_bottoms.i--tags.c
re2c/test/tags/fallback1.i--tags.c
re2c/test/tags/mapping1.i--tags--non-bijective-mapping.c
re2c/test/tags/mapping1.i--tags.c
re2c/test/tags/minimization.i.c
re2c/test/tags/topsort2.i--tags.c
re2c/test/wunreachable_rules.i.c