]> git.saurik.com Git - bison.git/commit
Update etc/bench.pl. Optimize push mode a little (the yyn change
authorJoel E. Denny <jdenny@ces.clemson.edu>
Tue, 26 Dec 2006 18:09:53 +0000 (18:09 +0000)
committerJoel E. Denny <jdenny@ces.clemson.edu>
Tue, 26 Dec 2006 18:09:53 +0000 (18:09 +0000)
commit2e7944cbb21e10c130192f733abc1af5cd8b6eb7
treedd66a92c26c7646c98ce05b5833119c09f9f6002
parentc3d503425f8014b432601a33b3398446d63b5963
Update etc/bench.pl.  Optimize push mode a little (the yyn change
deserves most of the credit).
* Makefile.am (SUBDIRS): Add etc subdirectory.
* configure.ac (AC_CONFIG_FILES): Add etc/bench.pl and etc/Makefile.
* data/push.c (b4_declare_parser_state_variables): Move yyn, yyresult,
yytoken, yyval, and yyloc declarations to...
(yyparse or yypush_parse): ... here to improve performance.  For
yypush_parse invocations after the first, be sure to assign yyn its old
value again.
(yypstate_new): Don't bother initializing the yyresult field since the
initial value isn't used.
(yyn, yyresult, yytoken, yyval, yyloc): For each NAME in this list,
remove the #define that, in push mode, set it to yyps->NAME.
* etc/Makefile.am: New.
* etc/bench.pl: Remove and build it instead from...
* etc/bench.pl.in: ... this new file.  Use @abs_top_builddir@ to invoke
"tests/bison" from the build directory by default rather than just
invoking "bison" from $PATH.
(calc_grammar): Update push parser code: don't declare yylval globally,
don't define yyparse_wrapper, and don't #define yyparse.
(bench_grammar): Update to check all working combinations of yacc.c,
push.c, impure, pure, pull, and push.
ChangeLog
Makefile.am
configure.ac
data/push.c
etc/Makefile.am [new file with mode: 0644]
etc/bench.pl [deleted file]
etc/bench.pl.in [new file with mode: 0755]