X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/ddc8ede1abfd807faf5ddb0ee6c56cead0db84e3..b36e835baaac5e9dce17ae90d85575a58a1ef829:/NEWS?ds=sidebyside diff --git a/NEWS b/NEWS index d133f193..d8e845cb 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,12 @@ Bison News ---------- -Changes in version 2.3+: +Changes in version 2.3a+ (????-??-??): + +* The -g and --graph options now output graphs in Graphviz DOT format, + not VCG format. + +Changes in version 2.3a, 2006-09-13: * Instead of %union, you can define and use your own union type YYSTYPE if your grammar contains at least one tag. @@ -12,6 +17,28 @@ Changes in version 2.3+: * Locations columns and lines start at 1. In accordance with the GNU Coding Standards and Emacs. +* You may now declare per-type and default %destructor's and %printer's: + + For example: + + %union { char *string; } + %token STRING1 + %token STRING2 + %type string1 + %type string2 + %union { char character; } + %token CHR + %type chr + %destructor { free ($$); } %symbol-default + %destructor { free ($$); printf ("%d", @$.first_line); } STRING1 string1 + %destructor { } + + guarantees that, when the parser discards any user-defined symbol that has a + semantic type tag other than `', it passes its semantic value to + `free'. However, when the parser discards a `STRING1' or a `string1', it + also prints its line number to `stdout'. It performs only the second + `%destructor' in this case, so it invokes `free' only once. + * Except for LALR(1) parsers in C with POSIX Yacc emulation enabled (with `-y', `--yacc', or `%yacc'), Bison no longer generates #define statements for associating token numbers with token names. Removing the #define statements