]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Use b4_type_names for the union type.
[bison.git] / ChangeLog
index d5d38001d5cfef3d0044a06bbfbcaf348cf39b57..cd1254c6489945c1b2f5103e57c8ed798bed142a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,36 @@
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_type_names for the union type.
+       The union used to compute the size of the variant used to iterate over the
+       type of all the symbols, with a lot of redundancy.  Now iterate over the
+       lists of symbols having the same type-name.
+       
+       * data/lalr1.cc (b4_char_sizeof_): New.
+       (b4_char_sizeof): Use it.
+       Adjust to be called with a list of numbers instead of a single
+       number.
+       Adjust its caller for new-line issues.
+
+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.
 2008-11-11  Akim Demaille  <demaille@gostai.com>
 
        Locations are no longer required by lalr1.cc.