]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
More information about the symbols.
[bison.git] / ChangeLog
index a1403addfb79afa81bd481c50ea21d5071c07dd3..df7bde07224865435817dd3b40ebf3227fbbc95e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,119 @@
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       More information about the symbols.
+       * src/output.c (type_names_output): Document all the symbols,
+       including those that don't have a type-name.
+       (symbol_definitions_output): Define "is_token" and
+       "has_type_name".
+       * data/lalr1.cc (b4_type_action_): Skip symbols that have an empty
+       type-name, now that they are defined too in b4_type_names.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Regen.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Make parser::yytranslate static.
+       Small speedup (1%) on the list grammar.  And makes yytranslate_ available
+       in non member functions.
+       
+       * data/lalr1.cc (yytranslate_): Does not need to be a instance
+       function.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Avoid trailing spaces.
+       * data/c.m4: b4_comment(TEXT): Don't indent empty lines.
+       * data/lalr1.cc: Don't indent before rule and symbol actions, as
+       they can be empty, and anyway this incorrectly indents the first
+       action.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Use "enum" for integral constants.
+       This is just nicer to read, I observed no speedup.
+       
+       * data/lalr1.cc (yyeof_, yylast_, yynnts_, yyempty_, yyfinal_)
+       (yterror_, yyerrcode_, yyntokens_): Define as members of an enum.
+       (yyuser_token_number_max_, yyundef_token_): Move into...
+       (yytranslate_): here.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Shortcuts in bench directives.
+       * etc/bench.pl.in (parse_dirs): New.
+       Use it.
+       (bench_variant_parser, bench_fusion_parser): Use %s and %d.
+       Create the benches in "benches/".
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+       * data/lalr1.cc: here.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Adjust verbose message to using emacs.
+       * etc/bench.pl.in: Inform compilation-mode when we change the
+       directory.
+       (generate_grammar_list): Recognize %define "variant" in addition
+       to %define variant.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Classify symbols by type-name.
+       * src/uniqstr.h (UNIQSTR_CMP): New.
+       * src/output.c (symbol_type_name_cmp, symbols_by_type_name)
+       (type_names_output): New.
+       (muscles_output): Use it.
+       * data/lalr1.cc (b4_symbol_action_): Remove.
+       (b4_symbol_case_, b4_type_action_): New.
+       Adjust uses of b4_symbol_action_ to use b4_type_action_.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Change the handling of the symbols in the skeletons.
+       Before we were using tables which lines were the symbols and which
+       columns were things like number, tag, type-name etc.  It is was
+       difficult to extend: each time a column was added, all the numbers had
+       to be updated (you asked for colon $2, not for "tag").  Also, it was
+       hard to filter these tables when only a subset of the symbols (say the
+       tokens, or the nterms, or the tokens that have and external number
+       *and* a type-name) was of interest.
+       
+       Now instead of monolithic tables, we define one macro per cell.  For
+       instance "b4_symbol(0, tag)" is a macro name which contents is
+       self-decriptive.  The macro "b4_symbol" provides easier access to
+       these cells.
+       
+       * src/output.c (type_names_output): Remove.
+       (symbol_numbers_output, symbol_definitions_output): New.
+       (muscles_output): Call them.
+       (prepare_symbols): Define b4_symbols_number.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       --trace=muscles
+       * src/getargs.h, src/getargs.c (trace_muscle): New.
+       (trace_types, trace_args): Support it.
+       * src/output.c (output_skeleton): Use it.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       muscles_output.
+       * src/output.c (muscles_output): New, extracted from...
+       (output_skeleton): here.
+       Adjust.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+
 2008-11-10  Akim Demaille  <demaille@gostai.com>
 
        Update the variant example.