mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-19 17:23:02 +00:00
* src/gram.c (ritem_print): Be sure to subtract 1 when displaying
rule line numbers. * src/closure.c (print_closure): Likewise. * src/derives.c (print_derives): Likewise. * tests/sets.at (Nullable): Adjust: the rule numbers are correct now.
This commit is contained in:
@@ -1,3 +1,12 @@
|
|||||||
|
2001-12-29 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
|
* src/gram.c (ritem_print): Be sure to subtract 1 when displaying
|
||||||
|
rule line numbers.
|
||||||
|
* src/closure.c (print_closure): Likewise.
|
||||||
|
* src/derives.c (print_derives): Likewise.
|
||||||
|
* tests/sets.at (Nullable): Adjust: the rule numbers are correct
|
||||||
|
now.
|
||||||
|
|
||||||
2001-12-29 Akim Demaille <akim@epita.fr>
|
2001-12-29 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
* src/lalr.c (lookaheads_print): New.
|
* src/lalr.c (lookaheads_print): New.
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ print_closure (const char *title, short *array, size_t size)
|
|||||||
fprintf (stderr, " %2d: .", array[i]);
|
fprintf (stderr, " %2d: .", array[i]);
|
||||||
for (rp = &ritem[array[i]]; *rp >= 0; ++rp)
|
for (rp = &ritem[array[i]]; *rp >= 0; ++rp)
|
||||||
fprintf (stderr, " %s", tags[*rp]);
|
fprintf (stderr, " %s", tags[*rp]);
|
||||||
fprintf (stderr, " (rule %d)\n", -*rp);
|
fprintf (stderr, " (rule %d)\n", -*rp - 1);
|
||||||
}
|
}
|
||||||
fputs ("\n\n", stderr);
|
fputs ("\n\n", stderr);
|
||||||
}
|
}
|
||||||
@@ -100,8 +100,8 @@ print_fderives (void)
|
|||||||
if (BITISSET (FDERIVES (i), j))
|
if (BITISSET (FDERIVES (i), j))
|
||||||
{
|
{
|
||||||
short *rhsp;
|
short *rhsp;
|
||||||
fprintf (stderr, "\t\t%d:", j);
|
fprintf (stderr, "\t\t%d:", j - 1);
|
||||||
for (rhsp = ritem + rule_table[j].rhs; *rhsp >= 0; ++rhsp)
|
for (rhsp = &ritem[rule_table[j].rhs]; *rhsp >= 0; ++rhsp)
|
||||||
fprintf (stderr, " %s", tags[*rhsp]);
|
fprintf (stderr, " %s", tags[*rhsp]);
|
||||||
fputc ('\n', stderr);
|
fputc ('\n', stderr);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ print_derives (void)
|
|||||||
{
|
{
|
||||||
short *rhsp;
|
short *rhsp;
|
||||||
fprintf (stderr, "\t\t%d:", *sp);
|
fprintf (stderr, "\t\t%d:", *sp);
|
||||||
for (rhsp = ritem + rule_table[*sp].rhs; *rhsp >= 0; ++rhsp)
|
for (rhsp = &ritem[rule_table[*sp].rhs]; *rhsp >= 0; ++rhsp)
|
||||||
fprintf (stderr, " %s", tags[*rhsp]);
|
fprintf (stderr, " %s", tags[*rhsp]);
|
||||||
fprintf (stderr, " (rule %d)\n", -*rhsp - 1);
|
fprintf (stderr, " (rule %d)\n", -*rhsp - 1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ ritem_print (FILE *out)
|
|||||||
if (ritem[i] >= 0)
|
if (ritem[i] >= 0)
|
||||||
fprintf (out, " %s", tags[ritem[i]]);
|
fprintf (out, " %s", tags[ritem[i]]);
|
||||||
else
|
else
|
||||||
fprintf (out, " (rule %d)\n", -ritem[i]);
|
fprintf (out, " (rule %d)\n", -ritem[i] - 1);
|
||||||
fputs ("\n\n", out);
|
fputs ("\n\n", out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,9 +42,9 @@ AT_CHECK([[bison --trace input.y]], [], [], [stderr])
|
|||||||
|
|
||||||
AT_CHECK([[sed 's/[ ]*$//' stderr]], [],
|
AT_CHECK([[sed 's/[ ]*$//' stderr]], [],
|
||||||
[[RITEM
|
[[RITEM
|
||||||
e $ (rule 1)
|
e $ (rule 0)
|
||||||
'e' (rule 2)
|
'e' (rule 1)
|
||||||
(rule 3)
|
(rule 2)
|
||||||
|
|
||||||
|
|
||||||
DERIVES
|
DERIVES
|
||||||
@@ -89,12 +89,12 @@ FIRSTS
|
|||||||
|
|
||||||
FDERIVES
|
FDERIVES
|
||||||
$axiom derives
|
$axiom derives
|
||||||
1: e $
|
0: e $
|
||||||
2: 'e'
|
1: 'e'
|
||||||
3:
|
2:
|
||||||
e derives
|
e derives
|
||||||
2: 'e'
|
1: 'e'
|
||||||
3:
|
2:
|
||||||
|
|
||||||
|
|
||||||
Processing state 0 (reached by $)
|
Processing state 0 (reached by $)
|
||||||
@@ -102,9 +102,9 @@ Closure: input
|
|||||||
|
|
||||||
|
|
||||||
Closure: output
|
Closure: output
|
||||||
0: . e $ (rule 1)
|
0: . e $ (rule 0)
|
||||||
3: . 'e' (rule 2)
|
3: . 'e' (rule 1)
|
||||||
5: . (rule 3)
|
5: . (rule 2)
|
||||||
|
|
||||||
|
|
||||||
Entering new_itemsets, state = 0
|
Entering new_itemsets, state = 0
|
||||||
@@ -117,22 +117,22 @@ Entering new_state, state = 0, symbol = 5 (e)
|
|||||||
Exiting get_state => 2
|
Exiting get_state => 2
|
||||||
Processing state 1 (reached by 'e')
|
Processing state 1 (reached by 'e')
|
||||||
Closure: input
|
Closure: input
|
||||||
4: . (rule 2)
|
4: . (rule 1)
|
||||||
|
|
||||||
|
|
||||||
Closure: output
|
Closure: output
|
||||||
4: . (rule 2)
|
4: . (rule 1)
|
||||||
|
|
||||||
|
|
||||||
Entering new_itemsets, state = 1
|
Entering new_itemsets, state = 1
|
||||||
Entering append_states, state = 1
|
Entering append_states, state = 1
|
||||||
Processing state 2 (reached by e)
|
Processing state 2 (reached by e)
|
||||||
Closure: input
|
Closure: input
|
||||||
1: . $ (rule 1)
|
1: . $ (rule 0)
|
||||||
|
|
||||||
|
|
||||||
Closure: output
|
Closure: output
|
||||||
1: . $ (rule 1)
|
1: . $ (rule 0)
|
||||||
|
|
||||||
|
|
||||||
Entering new_itemsets, state = 2
|
Entering new_itemsets, state = 2
|
||||||
@@ -142,11 +142,11 @@ Entering new_state, state = 2, symbol = 0 ($)
|
|||||||
Exiting get_state => 3
|
Exiting get_state => 3
|
||||||
Processing state 3 (reached by $)
|
Processing state 3 (reached by $)
|
||||||
Closure: input
|
Closure: input
|
||||||
2: . (rule 1)
|
2: . (rule 0)
|
||||||
|
|
||||||
|
|
||||||
Closure: output
|
Closure: output
|
||||||
2: . (rule 1)
|
2: . (rule 0)
|
||||||
|
|
||||||
|
|
||||||
Entering new_itemsets, state = 3
|
Entering new_itemsets, state = 3
|
||||||
|
|||||||
Reference in New Issue
Block a user