X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/092778750428c0d35378691bb4db94ef5b5ab988..aea10ef46f726371c21e99d2bfb78c1ab891f73d:/ChangeLog diff --git a/ChangeLog b/ChangeLog index fe8e5504..3ea95f18 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,81 @@ +2008-11-13 Akim Demaille <demaille@gostai.com> + + Define the "identifier" of a symbol. + Symbols may have several string representations, for instance if they + have an alias. What I call its "id" is a string that can be used as + an identifier. May not exist. + + Currently the symbols which have the "tag_is_id" flag set are those that + don't have an alias. Look harder for the id. + + * src/output.c (is_identifier): Move to... + * src/symtab.c (is_identifier): here. + * src/symtab.h, src/symtab.c (symbol_id_get): New. + * src/output.c (symbol_definitions_output): Use it to define "id" + and "has_id". + Remove the definition of "tag_is_id". + * data/lalr1.cc: Use the "id" and "has_id" whereever "tag" and + "tag_is_id" were used to produce code. + We still use "tag" for documentation. + +2008-11-11 Akim Demaille <demaille@gostai.com> + + Locations are no longer required by lalr1.cc. + * data/lalr1.cc (_b4_args, b4_args): New. + Adjust all uses of locations to make them optional. + * tests/c++.at (AT_CHECK_VARIANTS): No longer use the locations. + (AT_CHECK_NAMESPACE): Check the use of locations. + * tests/calc.at (_AT_DATA_CALC_Y): Adjust to be usable with or + without locations with lalr1.cc. + Test these cases. + * tests/output.at: Check lalr1.cc with and without location + support. + * tests/regression.at (_AT_DATA_EXPECT2_Y, _AT_DATA_DANCER_Y): + Don't use locations. + +2008-11-11 Akim Demaille <demaille@gostai.com> + + AT_FULL_COMPILE. + * tests/local.at (AT_FULL_COMPILE): New. + * tests/actions.at, tests/calc.at, tests/regression.at: Use it. + +2008-11-11 Akim Demaille <demaille@gostai.com> + + Support parens in calc++. + * doc/bison.texinfo (Calc++ Scanner, Calc++ Parser): Support parens. + * examples/calc++/test (run): Check the expected output. + Adjust callers. + Check parens too. + +2008-11-11 Akim Demaille <demaille@gostai.com> + + Simplify lalr1.cc since %defines is mandatory. + * data/lalr1.cc: Remove useless calls to b4_defines_if. + +2008-11-11 Akim Demaille <demaille@gostai.com> + + TODO: yyfmt. + * TODO (yysyntax_error): New item. + +2008-11-11 Akim Demaille <demaille@gostai.com> + + Prefer M4 to CPP. + * data/lalr1.cc: Use b4_error_verbose_if instead of #if + YYERROR_VERBOSE. + +2008-11-11 Akim Demaille <demaille@gostai.com> + + 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. + +2008-11-11 Akim Demaille <demaille@gostai.com> + + More TODO. + * TODO (single stack, yysyntax_error): New. + 2008-11-11 Akim Demaille <demaille@gostai.com> Make it possible to return a symbol_type from yylex.