/[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.26 by akim, Mon Jun 10 08:36:49 2002 UTC revision 1.27 by akim, Mon Jun 10 08:37:55 2002 UTC
# Line 87  symbol_precedence_set (symbol_t *symbol, Line 87  symbol_precedence_set (symbol_t *symbol,
87  }  }
88    
89    
90    /*-------------------------------------.
91    | Set the CLASS associated to SYMBOL.  |
92    `-------------------------------------*/
93    
94    void
95    symbol_class_set (symbol_t *symbol, symbol_class class)
96    {
97      if (symbol->class != unknown_sym && symbol->class != class)
98        complain (_("symbol %s redefined"), symbol->tag);
99    
100      if (class == nterm_sym && symbol->class != nterm_sym)
101        symbol->number = nvars++;
102      else if (class == token_sym && symbol->number == NUMBER_UNDEFINED)
103        symbol->number = ntokens++;
104    
105      symbol->class = class;
106    }
107    
108    
109    /*-------------------------------------------------.
110    | Set the USER_TOKEN_NUMBER associated to SYMBOL.  |
111    `-------------------------------------------------*/
112    
113    void
114    symbol_user_token_number_set (symbol_t *symbol, int user_token_number)
115    {
116      assert (symbol->class == token_sym);
117    
118      if (symbol->user_token_number != USER_NUMBER_UNDEFINED)
119        complain (_("redefining user token number of %s"), symbol->tag);
120    
121      symbol->user_token_number = user_token_number;
122      /* User defined EOF token? */
123      if (user_token_number == 0)
124        {
125          eoftoken = symbol;
126          eoftoken->number = 0;
127          /* It is always mapped to 0, so it was already counted in
128             NTOKENS.  */
129          --ntokens;
130        }
131    }
132    
133    
134  /*------------.  /*------------.
135  | Free THIS.  |  | Free THIS.  |
136  `------------*/  `------------*/

Legend:
Removed from v.1.26  
changed lines
  Added in v.1.27

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