406 |
packgram (void) |
packgram (void) |
407 |
{ |
{ |
408 |
unsigned int itemno = 0; |
unsigned int itemno = 0; |
409 |
rule_number_t ruleno = 1; |
rule_number_t ruleno = 0; |
410 |
symbol_list_t *p = grammar; |
symbol_list_t *p = grammar; |
411 |
|
|
412 |
ritem = XCALLOC (item_number_t, nritems); |
ritem = XCALLOC (item_number_t, nritems); |
413 |
rules = XCALLOC (rule_t, nrules) - 1; |
rules = XCALLOC (rule_t, nrules); |
414 |
|
|
415 |
while (p) |
while (p) |
416 |
{ |
{ |
447 |
rules[ruleno].precsym = ruleprec; |
rules[ruleno].precsym = ruleprec; |
448 |
rules[ruleno].prec = ruleprec; |
rules[ruleno].prec = ruleprec; |
449 |
} |
} |
450 |
ritem[itemno++] = -ruleno; |
ritem[itemno++] = rule_number_as_item_number (ruleno); |
451 |
++ruleno; |
++ruleno; |
452 |
|
|
453 |
if (p) |
if (p) |