X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/62efdd2a85847c8b7559d312e7cada6ca03a2779..70afaf26037e919f6abf3904e43845d116899df3:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 312796a4..0fd021ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,88 @@ +2009-12-22 Joel E. Denny + + Port small part of master's 11707b2b so future ports are easier. + * data/lalr1.java (YYParser::yysyntax_error): Untabify. + +2008-12-11 Akim Demaille + + Simplify the i18n of the error messages. + * data/lalr1.cc: Comment changes. + +2008-11-11 Akim Demaille + + Prefer M4 to CPP. + * data/lalr1.cc: Use b4_error_verbose_if instead of #if + YYERROR_VERBOSE. + +2008-11-11 Akim Demaille + + Support i18n of the parse error messages. + * TODO (lalr1.cc/I18n): Remove. + * data/lalr1.cc (yysyntax_error_): Support the translation of the + error messages, as done in yacc.c. + Stay within the yy* pseudo namespace. + +2009-12-22 Joel E. Denny + + Port small part of master's 8901f32e so future ports are easier. + * data/lalr1.cc (yy::parser::yysyntax_error_): Always add second + argument, but name it in the function definition only when + verbose error messages are enabled and it'll thus be used. + (yy::parser::parse): Update use of yysyntax_error_. + +2009-12-29 Joel E. Denny + + portability: `<' and `>' are not always defined on addresses. + Specifically, don't sort objects by their memory addresses when + they're not allocated in the same array or other object. Though + I haven't found a test case where that fails on my platform, C + says the behavior is undefined. + * src/AnnotationList.c (AnnotationList__insertInto): Remove + FIXME. Use new id field of InadequacyList nodes rather than + their memory addresses when sorting. + (AnnotationList__compute_from_inadequacies): Add + inadequacy_list_node_count argument to pass to + InadequacyList__new_conflict. + * src/AnnotationList.h + (AnnotationList__compute_from_inadequacies): Update prototype + and documentation for new argument. + * src/InadequacyList.c (InadequacyList__new_conflict): Add + node_count argument and use it to assign a unique ID. + * src/InadequacyList.h (InadequacyListNodeCount): New typedef. + (InadequacyList): Add id field. + (InadequacyList__new_conflict): Update prototype and + documentation for new argument. + * src/ielr.c (ielr_compute_annotation_lists): Update + AnnotationList__compute_from_inadequacies invocation. + +2009-12-20 Joel E. Denny + + Fix handling of yychar manipulation in user semantic actions. + The problem was that yacc.c didn't always update the yychar + translation afterwards. However, other skeletons appear to be + fine. glr.c appears to already translate yychar before every + use. lalr1.cc does not define yychar and does not document its + replacement, yyla, for users. It does provide yyclearin, but + that does not manipulate yyla and thus requires no translation + update. In lalr1.java, yychar is out of scope during semantic + actions. + * NEWS (2.5): Document. + * data/yacc.c (YYBACKUP): Don't bother translating yychar into + yytoken here. + (yyparse, yypush_parse): Instead, translate before every use of + yytoken, and add comments explaining this approach. + * tests/actions.at (Destroying lookahead assigned by semantic + action): New test group checking that translation happens before + lookahead destructor calls at parser return. Previously, + incorrect destructors were called. + * tests/conflicts.at (%error-verbose and consistent + errors): New test group checking that translation happens at + syntax error detection before the associated verbose error + message and the associated lookahead destructor calls. While + the destructor call is fixed by this patch, the verbose error + message is currently incorrect due to another bug (see + comments in test group), so this is an expected failure for now. + 2009-12-21 Joel E. Denny YYFAIL: warn about uses and remove from lalr1.java.