}
\f
-static void
-record_rule_line (void)
-{
- /* Record each rule's source line number in rline table. */
-
- if (nrules >= rline_allocated)
- {
- rline_allocated = nrules * 2;
- rline = XREALLOC (rline, short, rline_allocated);
- }
- rline[nrules] = lineno;
-}
-
-
/*-------------------------------------------------------------------.
| Generate a dummy symbol, a nonterminal, whose name cannot conflict |
| with the user's names. |
nrules++;
nitems++;
- record_rule_line ();
-
p = XCALLOC (symbol_list, 1);
p->sym = lhs;
just read can belong to it. */
nrules++;
nitems++;
- record_rule_line ();
p = XCALLOC (symbol_list, 1);
if (crule1)
crule1->next = p;
grammar = p;
p->sym = sdummy;
crule1 = XCALLOC (symbol_list, 1);
- p->next = crule1;
crule1->next = crule;
+ p->next = crule1;
+
/* Insert the dummy generated by that rule into this
rule. */
nitems++;
{
rule_table[ruleno].lhs = p->sym->value;
rule_table[ruleno].rhs = itemno;
+ rule_table[ruleno].line = p->sym->line;
ruleprec = p->ruleprec;
p = p->next;
nvars = 0;
nrules = 0;
nitems = 0;
- rline_allocated = 10;
- rline = XCALLOC (short, rline_allocated);
typed = 0;
lastprec = 0;