/[bison]/bison/src/reader.c
ViewVC logotype

Diff of /bison/src/reader.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.139 by akim, Sat Dec 29 14:19:31 2001 UTC revision 1.140 by akim, Sat Dec 29 14:20:13 2001 UTC
# Line 1720  packgram (void) Line 1720  packgram (void)
1720      fatal (_("too many items (max %d)"), MAXSHORT);      fatal (_("too many items (max %d)"), MAXSHORT);
1721    
1722    ritem = XCALLOC (short, nitems + 1);    ritem = XCALLOC (short, nitems + 1);
1723    rule_table = XCALLOC (rule_t, nrules) - 1;    rules = XCALLOC (rule_t, nrules) - 1;
1724    
1725    itemno = 0;    itemno = 0;
1726    ruleno = 1;    ruleno = 1;
# Line 1729  packgram (void) Line 1729  packgram (void)
1729    while (p)    while (p)
1730      {      {
1731        bucket *ruleprec = p->ruleprec;        bucket *ruleprec = p->ruleprec;
1732        rule_table[ruleno].lhs = p->sym->value;        rules[ruleno].lhs = p->sym->value;
1733        rule_table[ruleno].rhs = itemno;        rules[ruleno].rhs = itemno;
1734        rule_table[ruleno].line = p->line;        rules[ruleno].line = p->line;
1735        rule_table[ruleno].useful = TRUE;        rules[ruleno].useful = TRUE;
1736        rule_table[ruleno].action = p->action;        rules[ruleno].action = p->action;
1737        rule_table[ruleno].action_line = p->action_line;        rules[ruleno].action_line = p->action_line;
1738        rule_table[ruleno].guard = p->guard;        rules[ruleno].guard = p->guard;
1739        rule_table[ruleno].guard_line = p->guard_line;        rules[ruleno].guard_line = p->guard_line;
1740    
1741        p = p->next;        p = p->next;
1742        while (p && p->sym)        while (p && p->sym)
# Line 1746  packgram (void) Line 1746  packgram (void)
1746               of the last token in it.  */               of the last token in it.  */
1747            if (p->sym->class == token_sym)            if (p->sym->class == token_sym)
1748              {              {
1749                rule_table[ruleno].prec = p->sym->prec;                rules[ruleno].prec = p->sym->prec;
1750                rule_table[ruleno].assoc = p->sym->assoc;                rules[ruleno].assoc = p->sym->assoc;
1751              }              }
1752            if (p)            if (p)
1753              p = p->next;              p = p->next;
# Line 1757  packgram (void) Line 1757  packgram (void)
1757           the specified symbol's precedence replaces the default.  */           the specified symbol's precedence replaces the default.  */
1758        if (ruleprec)        if (ruleprec)
1759          {          {
1760            rule_table[ruleno].prec = ruleprec->prec;            rules[ruleno].prec = ruleprec->prec;
1761            rule_table[ruleno].assoc = ruleprec->assoc;            rules[ruleno].assoc = ruleprec->assoc;
1762            rule_table[ruleno].precsym = ruleprec->value;            rules[ruleno].precsym = ruleprec->value;
1763          }          }
1764    
1765        ritem[itemno++] = -ruleno;        ritem[itemno++] = -ruleno;

Legend:
Removed from v.1.139  
changed lines
  Added in v.1.140

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26