From: nitnelave <[email protected]>

This patch improves the symbol alias structure: instead of having duplicate
but possibly different info in the symbol and the alias, they both share a
pointer to a separate structure containing all the common info.  There is no
longer need to check the alias consistency, as it is assured at all points.
Alias resolution is useless most of the time, and a simple boolean assures
the differenciation between alias and non-alias.
All the conflicts due to a different printer, precedence, etc for the symbol
and its alias are resolved when they are encountered, and not at a later
time during a consistency check for the aliases.

NB: There is no new test included in this patch because I couldn't think of
any relevant for this implementation detail meant to change no output.

nitnelave (2):
  symbols: improve symbol aliasing
  regen

 NEWS                 |    9 ++
 src/AnnotationList.c |   17 ++--
 src/conflicts.c      |   16 +--
 src/gram.c           |   16 +--
 src/gram.h           |    9 +-
 src/graphviz.c       |    2 +-
 src/ielr.c           |    4 +-
 src/output.c         |   24 +++--
 src/parse-gram.c     |  245 ++++++++++++++++++++++----------------------
 src/parse-gram.h     |    6 +-
 src/parse-gram.y     |   23 +++--
 src/print-xml.c      |    8 +-
 src/print.c          |    9 +-
 src/print_graph.c    |    9 +-
 src/reader.c         |   55 +++++-----
 src/reduce.c         |   18 ++--
 src/state.h          |    2 +-
 src/symlist.c        |    8 +-
 src/symtab.c         |  275 +++++++++++++++++++++++---------------------------
 src/symtab.h         |   30 ++++--
 src/tables.c         |    4 +-
 tests/input.at       |   18 ++--
 22 files changed, 409 insertions(+), 398 deletions(-)

--
1.7.9.5


Reply via email to