237 |
&& this->user_token_number != SALIAS) |
&& this->user_token_number != SALIAS) |
238 |
{ |
{ |
239 |
/* A token which translation has already been set? */ |
/* A token which translation has already been set? */ |
240 |
if (token_translations[this->user_token_number] != 2) |
if (token_translations[this->user_token_number] != undeftoken->number) |
241 |
complain (_("tokens %s and %s both assigned number %d"), |
complain (_("tokens %s and %s both assigned number %d"), |
242 |
symbols[token_translations[this->user_token_number]]->tag, |
symbols[token_translations[this->user_token_number]]->tag, |
243 |
this->tag, this->user_token_number); |
this->tag, this->user_token_number); |
1697 |
token number for $undefined., which represents all invalid |
token number for $undefined., which represents all invalid |
1698 |
inputs. */ |
inputs. */ |
1699 |
for (i = 0; i < max_user_token_number + 1; i++) |
for (i = 0; i < max_user_token_number + 1; i++) |
1700 |
token_translations[i] = 2; |
token_translations[i] = undeftoken->number; |
1701 |
|
|
1702 |
symbols_do (symbol_translation, NULL); |
symbols_do (symbol_translation, NULL); |
1703 |
} |
} |
1718 |
|
|
1719 |
token_translations_init (); |
token_translations_init (); |
1720 |
|
|
|
error_token_number = errtoken->number; |
|
|
|
|
1721 |
if (startval->class == unknown_sym) |
if (startval->class == unknown_sym) |
1722 |
fatal (_("the start symbol %s is undefined"), startval->tag); |
fatal (_("the start symbol %s is undefined"), startval->tag); |
1723 |
else if (startval->class == token_sym) |
else if (startval->class == token_sym) |
1829 |
undeftoken = getsym ("$undefined."); |
undeftoken = getsym ("$undefined."); |
1830 |
undeftoken->class = token_sym; |
undeftoken->class = token_sym; |
1831 |
undeftoken->number = ntokens++; |
undeftoken->number = ntokens++; |
|
undeftoken->user_token_number = 2; |
|
1832 |
|
|
1833 |
/* Initialize the obstacks. */ |
/* Initialize the obstacks. */ |
1834 |
obstack_init (&action_obstack); |
obstack_init (&action_obstack); |