]> git.saurik.com Git - bison.git/commit - src/parse-gram.c
yysyntax_error: avoid duplicate lookahead collection.
authorJoel E. Denny <jdenny@clemson.edu>
Wed, 23 Sep 2009 21:39:39 +0000 (17:39 -0400)
committerJoel E. Denny <jdenny@clemson.edu>
Sun, 4 Oct 2009 19:12:32 +0000 (15:12 -0400)
commit45319f1365eb8d125424f31401d9d33cc02ff4ad
tree55a8b08af53e5fcd504623296f2e88265a92df48
parent52cea04ad36abf3ab684b88cba45d6c26dda80c9
yysyntax_error: avoid duplicate lookahead collection.

Except when memory reallocation is required, this change
eliminates the need to invoke yysyntax_error twice and thus to
repeat the collection of lookaheads.  It also prepares for
future extensions that will make those repetitions more
expensive and that will require additional memory management in
yysyntax_error.  Finally, it fixes an obscure bug already
exercised in the test suite.
* data/yacc.c (yysyntax_error): Add arguments for message
buffer variables stored in the parser.  Instead of size, return
status similar to yyparse status but indicating success of
message creation.  Other than the actual reallocation of the
message buffer, import and clean up memory management code
from...
(yyparse, yypush_parse): ... here.
* tests/regression.at (parse.error=verbose overflow): No longer
an expected failure.
ChangeLog
data/yacc.c
src/parse-gram.c
src/parse-gram.h
tests/regression.at