]> git.saurik.com Git - bison.git/commit - ChangeLog
Change the handling of the symbols in the skeletons.
authorAkim Demaille <demaille@gostai.com>
Tue, 12 Aug 2008 19:48:53 +0000 (21:48 +0200)
committerAkim Demaille <demaille@gostai.com>
Mon, 10 Nov 2008 10:21:50 +0000 (11:21 +0100)
commitd69c9694a7a7038b4c3eb20acbf8ba8354bcf7a1
tree30a2d5fd100d754d3ab23a74bdaeabf236fed218
parent5263bea9f7d576c20938619af2197eb5b47a90c3
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.
ChangeLog
data/lalr1.cc
src/output.c