X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/9350499cfce9122ebb065a582ab17e321b2e8ff3..3be03b13e5fd9cc9ed119f26e429e6ab1dd3568d:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 9c8e9951..d582940b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,53 @@ +2006-09-04 Joel E. Denny + + Require default %destructor/%printer to be declared using + %symbol-default instead of an empty symbol list, and start working on + new per-type %destructor/%printer. Discussed at + . + * NEWS (2.3+): Add %symbol-default to example. + * bison.texinfo (Freeing Discarded Symbols): Likewise. + (Bison Symbols): Add entry for %symbol-default. + * src/parse-gram.y (PERCENT_SYMBOL_DEFAULT): New token. + (generic_symlist, generic_symlist_item): New nonterminals for creating + a list in which each item is a symbol, semantic type, or + %symbol-default. + (grammar_declaration): Use generic_symlist in %destructor and %printer + declarations instead of symbols.1 or an empty list. + (symbol_declaration, precedence_declaration, symbols.1): Update actions + for changes to symbol_list. + * src/reader.c: Update for changes to symbol_list. + * src/scan-code.l: Likewise. + * src/scan-gram.l: Scan new PERCENT_SYMBOL_DEFAULT token. + * src/symlist.c, src/symlist.h: Extend such that a list node may + represent a semantic type or a %symbol-default in addition to just an + ordinary symbol. Add switched functions for setting %destructor's and + %printer's. + * tests/actions.at, tests/input.at: Add %symbol-default to all default + %destructor/%printer declarations. + +2006-08-23 Joel E. Denny + + Whether the default %destructor/%printer applies to a particular symbol + isn't a question of whether the user *declares* that symbol (in %token, + for example). It's a question of whether the user by any means + *defines* the symbol at all (by simply using a char token, for + example). $end is defined by Bison whereas any other token with token + number 0 is defined by the user. The error token is always defined by + Bison regardless of whether the user declares it with %token, but we + may one day let the user define error as a nonterminal instead. + * NEWS (2.3+): Say "user-defined" instead of "user-declared". + * doc/bison.texinfo (Freeing Discarded Symbols): Likewise, and document + the meaning of "user-defined". + * tests/actions.at (Default %printer and %destructor for user-declared + end token): Rename to... + (Default %printer and %destructor for user-defined end token): ... + this. + + * src/symtab.c (symbol_destructor_get, symbol_printer_get): In the + computation of whether to apply the default, don't maintain a list of + every Bison-defined symbol. Instead, just check for a first character + of '$', which a user symbol cannot have, and check for the error token. + 2006-08-21 Joel E. Denny Don't apply the default %destructor or %printer to the error token,