+2010-10-31 Joel E. Denny <joeldenny@joeldenny.org>
+
+ yysyntax_error: improve invocation readability.
+ * data/yacc.c (yyparse, yypush_parse): For yysyntax_error
+ invocation, get rid of the while loop, which is misleading
+ because there are really at most two iterations.
+
+2010-10-31 Joel E. Denny <joeldenny@joeldenny.org>
+
+ * ChangeLog: Correct some errors in previous entries.
+
+2010-10-17 Joel E. Denny <joeldenny@joeldenny.org>
+
+ maint: re-anchor all .gitignore entries.
+ * bootstrap: Copy from gnulib's latest for the fix to
+ automatically anchor entries it constructs.
+ * gnulib: Update to latest just so it has the same bootstrap.
+ * .gitignore, build-aux/.gitignore, doc/.gitignore:
+ * lib/.gitignore, m4/.gitignore, po/.gitignore:
+ * runtime-po/.gitignore: Re-anchor all entries.
+
+2010-10-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix portability problem on OpenBSD 4.7.
+
+ Jim Meyering reported this in
+ <http://lists.gnu.org/archive/html/bug-bison/2010-10/msg00007.html>.
+ * data/yacc.c: Use EXIT_SUCCESS as a witness for stdlib.h,
+ not _STDLIB_H. EXIT_SUCCESS has been defined by the standard
+ for quite some time.
+ * src/parse-gram.c, src/parse-gram.h: Regenerate.
+ * tests/regression.at: Tamper with the renamed witness.
+
+ Adjust to recent changes to gnulib bootstrap.
+
+ * .cvsignore, build-aux/.cvsignore, doc/.cvsignore, etc/.cvsignore:
+ * examples/calc++/.cvsignore, lib/.cvsignore, m4/.cvsignore:
+ * po/.cvsignore, runtime-po/.cvsignore, src/.cvsignore:
+ * tests/.cvsignore: Remove; I don't use CVS to maintain Bison
+ anymore and don't know of anybody else who does. If someone needs
+ these files, they can resurrect them.
+ * .gitignore, build-aux/.gitignore, doc/.gitignore, lib/.gitignore:
+ * m4/.gitignore, po/.gitignore, runtime-po/.gitignore:
+ Omit leading '/', since bootstrap omits it.
+ Adjust file names to match current contents better.
+ * bootstrap: Sync from gnulib: this contains the new gnulib_mk_hook
+ installed just for us.
+ * bootstrap.conf (excluded_files): Don't exclude codeset.m4,
+ glibc21.m4, inttypes_h.m4, size_max.m4, xsize.m4, as they are now
+ needed somehow. Don't have time to look into why.
+ (gnulib_modules): Change malloc to malloc-gnu. Do we really assume
+ the GNU malloc behavior, where malloc (0) != NULL unless we're
+ out of storage? If not, we can omit malloc-gnu; but for now I left
+ it in to be safe.
+ (vc_ignore): Remove.
+ (gnulib_mk_hook): New function.
+ * README-hacking: Renamed from HACKING, since gnulib bootstrap now
+ uses that convention.
+
2010-09-09 Paul Hilfinger <hilfinger@cs.berkeley.edu>
* data/glr.c (yySymbol): Define as int to avoid compiler warnings about
2010-07-23 Paul Hilfinger <hilfingr@EECS.Berkeley.EDU>
* NEWS: Describe new semantic-predicate feature.
- * data/c.m4 (b4_predicate_case): New definition.
- * data/java.m4 (b4_predicate_case): New definition.
- * data/glr.c (yyimmediate): Add definition.
- (yydoAction): Remove comment, now obsolete.
- Do YY_REDUCE_PRINT here.
- (yyglrReduce): Alter comment to indicate that semantic values
- need not be deferred.
- Remove YY_REDUCE_PRINT from here; done in yydoAction.
- (yyprocessOneStack): Pass immediate flag.
- Delete stacks rejected by predicates in newly split-off parsers.
- Change handling of yyerr so that only current stack gets deleted
- when semantic predicate fails.
- (yyfillin): Don't crash if a semantic value is unresolved (as may
- happen in predicate rules).
- Copy lr state as well in debugging mode.
- Update comment on setting of yysval to include yyloc as well.
- (yy_reduce_print): Add yynormal argument. Perform fillin properly.
- Report unresolved RHS values.
- (yyimmediate): New table.
- * src/gram.h (struct rule): Add is_predicate field.
- * src/output.c (user_actions_output): Use b4_predicate_case for
- predicates.
- (prepare_symbols): Output yyimmediate.
- * src/scan-gram.l: Add %? token, SC_PREDICATE state.
- * src/scan-code.l (code_props_rule_action_init): Add is_predicate
- argument.
- * src/scan-code.h (struct code_props): Add is_predicate field.
- (code_props_rule_action_init): New interface.
- * src/parse-gram.y (%?{...}): New token.
- (rhs): Add %?{...} rule.
- * src/parse-gram.c: Regenerate.
- * src/parse-gram.h: Regenerate.
- * src/reader.c (grammar_current_rule_action_append): Add
- immediate argument.
- (grammar_midrule_action): Use new interface for
- code_props_rule_action_init.
- (grammar_current_rule_action_append): Ditto.
- (packgram): Transfer is_predicate value.
- * src/reader.h (grammar_current_rule_action_append): New interface.
- * doc/bison.texinfo: Document semantic predicates (%?).
-
- * data/glr.c (yylhsNonterm, yyisDefaultedState,yyDefaultAction)
- (yygetLRActions,yynewGLRStackItem,yyaddDeferredAction,yyinitStateSet)
- (yyinitGLRStack,yyexpandGLRStack,yyupdateSplit,yymarkStackDeleted)
- (yyundeleteLastStack,yyglrShift,yyglrShiftDefer,yydoAction,yyglrReduce)
- (yyidenticalOptions,yymergeOptionSets,yyresolveStates,yyresolveAction)
- (yyresolveLocations,yyresolveValue,yyreducePrint): Update parameter
- names in comments and mention all parameters.
- (struct yyGLRState): Fix description of yyposn field.
- (yyresolveLocations): Correct comment so as not to imply action when
- yyn1==0.
+ * data/c.m4 (b4_predicate_case): New definition.
+ * data/java.m4 (b4_predicate_case): New definition.
+ * data/glr.c (yyimmediate): Add definition.
+ (yydoAction): Remove comment, now obsolete.
+ Do YY_REDUCE_PRINT here.
+ (yyglrReduce): Alter comment to indicate that semantic values
+ need not be deferred.
+ Remove YY_REDUCE_PRINT from here; done in yydoAction.
+ (yyprocessOneStack): Pass immediate flag.
+ Delete stacks rejected by predicates in newly split-off parsers.
+ Change handling of yyerr so that only current stack gets deleted
+ when semantic predicate fails.
+ (yyfillin): Don't crash if a semantic value is unresolved (as may
+ happen in predicate rules).
+ Copy lr state as well in debugging mode.
+ Update comment on setting of yysval to include yyloc as well.
+ (yy_reduce_print): Add yynormal argument. Perform fillin properly.
+ Report unresolved RHS values.
+ (yyimmediate): New table.
+ * src/gram.h (struct rule): Add is_predicate field.
+ * src/output.c (user_actions_output): Use b4_predicate_case for
+ predicates.
+ (prepare_symbols): Output yyimmediate.
+ * src/scan-gram.l: Add %? token, SC_PREDICATE state.
+ * src/scan-code.l (code_props_rule_action_init): Add is_predicate
+ argument.
+ * src/scan-code.h (struct code_props): Add is_predicate field.
+ (code_props_rule_action_init): New interface.
+ * src/parse-gram.y (%?{...}): New token.
+ (rhs): Add %?{...} rule.
+ * src/parse-gram.c: Regenerate.
+ * src/parse-gram.h: Regenerate.
+ * src/reader.c (grammar_current_rule_action_append): Add
+ immediate argument.
+ (grammar_midrule_action): Use new interface for
+ code_props_rule_action_init.
+ (grammar_current_rule_action_append): Ditto.
+ (packgram): Transfer is_predicate value.
+ * src/reader.h (grammar_current_rule_action_append): New interface.
+ * doc/bison.texinfo: Document semantic predicates (%?).
+
+ * data/glr.c (yylhsNonterm, yyisDefaultedState,yyDefaultAction)
+ (yygetLRActions,yynewGLRStackItem,yyaddDeferredAction,yyinitStateSet)
+ (yyinitGLRStack,yyexpandGLRStack,yyupdateSplit,yymarkStackDeleted)
+ (yyundeleteLastStack,yyglrShift,yyglrShiftDefer,yydoAction,yyglrReduce)
+ (yyidenticalOptions,yymergeOptionSets,yyresolveStates,yyresolveAction)
+ (yyresolveLocations,yyresolveValue,yyreducePrint): Update parameter
+ names in comments and mention all parameters.
+ (struct yyGLRState): Fix description of yyposn field.
+ (yyresolveLocations): Correct comment so as not to imply action when
+ yyn1==0.
2010-06-17 Paul Eggert <eggert@cs.ucla.edu>
YYFAIL: warn about uses and remove from lalr1.java.
* NEWS (2.5): Document.
- * data/lalr1.java (parser::YYStack::YYFAIL): Rename to YYERRLAB,
+ * data/lalr1.java (YYParser::YYFAIL): Rename to YYERRLAB,
and make it private. Update all uses.
* src/scan-code.l (SC_RULE_ACTION): Implement warning.
YYFAIL: deprecate.
* NEWS (2.4.2): Document deprecation and the phase-out plan.
- * data/lalr1.java (parser::YYStack::YYFAIL): Add comment about
+ * data/lalr1.java (YYParser::YYFAIL): Add comment about
deprecation.
* data/yacc.c (YYFAIL): Likewise, and suppress warnings about
YYFAIL from GCC cpp's -Wunused-macros.
2009-12-18 Joel E. Denny <jdenny@clemson.edu>
lalr1.cc: don't discard non-existent lookahead on syntax error.
- * data/lalr1.cc (parser::parse): Check yyempty first.
+ * data/lalr1.cc (yy::parser::parse): Check yyempty first.
* tests/c++.at (Syntax error discarding no lookahead): New test
group.