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

Diff of /bison/src/symtab.c

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

revision 1.45 by akim, Tue Jul 16 14:04:06 2002 UTC revision 1.46 by akim, Mon Jul 29 17:30:33 2002 UTC
# Line 32  Line 32 
32    
33  symbol_t *errtoken = NULL;  symbol_t *errtoken = NULL;
34  symbol_t *undeftoken = NULL;  symbol_t *undeftoken = NULL;
35  symbol_t *eoftoken = NULL;  symbol_t *endtoken = NULL;
36  symbol_t *axiom = NULL;  symbol_t *accept = NULL;
37  symbol_t *startsymbol = NULL;  symbol_t *startsymbol = NULL;
38  location_t startsymbol_location;  location_t startsymbol_location;
39    
# Line 181  symbol_user_token_number_set (symbol_t * Line 181  symbol_user_token_number_set (symbol_t *
181                   symbol->tag);                   symbol->tag);
182    
183    symbol->user_token_number = user_token_number;    symbol->user_token_number = user_token_number;
184    /* User defined EOF token? */    /* User defined $end token? */
185    if (user_token_number == 0)    if (user_token_number == 0)
186      {      {
187        eoftoken = symbol;        endtoken = symbol;
188        eoftoken->number = 0;        endtoken->number = 0;
189        /* It is always mapped to 0, so it was already counted in        /* It is always mapped to 0, so it was already counted in
190           NTOKENS.  */           NTOKENS.  */
191        --ntokens;        --ntokens;
# Line 322  symbol_pack (symbol_t *this) Line 322  symbol_pack (symbol_t *this)
322           prec and assoc fields and make both the same */           prec and assoc fields and make both the same */
323        if (this->number == NUMBER_UNDEFINED)        if (this->number == NUMBER_UNDEFINED)
324          {          {
325            if (this == eoftoken || this->alias == eoftoken)            if (this == endtoken || this->alias == endtoken)
326              this->number = this->alias->number = 0;              this->number = this->alias->number = 0;
327            else            else
328              {              {
# Line 540  symbols_token_translations_init (void) Line 540  symbols_token_translations_init (void)
540    token_translations = XCALLOC (symbol_number_t, max_user_token_number + 1);    token_translations = XCALLOC (symbol_number_t, max_user_token_number + 1);
541    
542    /* Initialize all entries for literal tokens to 2, the internal    /* Initialize all entries for literal tokens to 2, the internal
543       token number for $undefined., which represents all invalid       token number for $undefined, which represents all invalid inputs.
544       inputs.  */       */
545    for (i = 0; i < max_user_token_number + 1; i++)    for (i = 0; i < max_user_token_number + 1; i++)
546      token_translations[i] = undeftoken->number;      token_translations[i] = undeftoken->number;
547    symbols_do (symbol_translation, NULL);    symbols_do (symbol_translation, NULL);

Legend:
Removed from v.1.45  
changed lines
  Added in v.1.46

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