Merge branch 'maint'

* origin/maint:
  tests: check %no-lines
  tests: minor simplification
  graphs: stylistic changes.
  graphs: minor style changes
  graphs: show reductions
  graphs: style: prefix state number with "state"
  graphs: style: use left justification for states
  graphs: style: prefix rules and change shapes
  obstack: import obstack_finish0 from master
  c++: api.location.type
  muscles: a function for backward compatibility
  maint: more macros

Conflicts:
	data/glr.cc
	data/java.m4
	data/lalr1.cc
	doc/bison.texi
	src/muscle-tab.c
	src/system.h
	tests/calc.at
This commit is contained in:
Akim Demaille
2012-10-12 12:39:52 +02:00
16 changed files with 303 additions and 48 deletions

View File

@@ -18,6 +18,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <quotearg.h>
#include "system.h"
#include "LR0.h"
@@ -54,7 +55,7 @@ print_core (struct obstack *oout, state *s)
snritems = nitemset;
}
obstack_printf (oout, "%d", s->number);
obstack_printf (oout, "state %d\\n", s->number);
for (i = 0; i < snritems; i++)
{
item_number *sp;
@@ -68,15 +69,15 @@ print_core (struct obstack *oout, state *s)
r = item_number_as_rule_number (*sp);
obstack_printf (oout, "\n%s -> ", rules[r].lhs->tag);
obstack_printf (oout, "%d: %s -> ", r, escape (rules[r].lhs->tag));
for (sp = rules[r].rhs; sp < sp1; sp++)
obstack_printf (oout, "%s ", symbols[*sp]->tag);
obstack_printf (oout, "%s ", escape (symbols[*sp]->tag));
obstack_1grow (oout, '.');
for (/* Nothing */; *sp >= 0; ++sp)
obstack_printf (oout, " %s", symbols[*sp]->tag);
obstack_printf (oout, " %s", escape (symbols[*sp]->tag));
/* Experimental feature: display the lookahead tokens. */
if (report_flag & report_lookahead_tokens
@@ -92,15 +93,17 @@ print_core (struct obstack *oout, state *s)
bitset_iterator biter;
int k;
char const *sep = "";
obstack_sgrow (oout, "[");
obstack_1grow (oout, '[');
BITSET_FOR_EACH (biter, reds->lookahead_tokens[redno], k, 0)
{
obstack_printf (oout, "%s%s", sep, symbols[k]->tag);
obstack_sgrow (oout, sep);
obstack_sgrow (oout, escape (symbols[k]->tag));
sep = ", ";
}
obstack_sgrow (oout, "]");
obstack_1grow (oout, ']');
}
}
obstack_sgrow (oout, "\\l");
}
}
@@ -117,6 +120,9 @@ print_actions (state const *s, FILE *fgraph)
transitions const *trans = s->transitions;
/* Display reductions. */
output_red (s, s->reductions, fgraph);
if (!trans->num && !s->reductions)
return;