/[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.37 by akim, Thu Jun 20 09:08:37 2002 UTC revision 1.38 by akim, Thu Jun 20 11:10:56 2002 UTC
# Line 175  symbol_precedence_set (symbol_t *symbol, Line 175  symbol_precedence_set (symbol_t *symbol,
175      }      }
176    
177    /* Only terminals have a precedence. */    /* Only terminals have a precedence. */
178    symbol_class_set (symbol, token_sym);    symbol_class_set (symbol, token_sym, location);
179  }  }
180    
181    
# Line 184  symbol_precedence_set (symbol_t *symbol, Line 184  symbol_precedence_set (symbol_t *symbol,
184  `-------------------------------------*/  `-------------------------------------*/
185    
186  void  void
187  symbol_class_set (symbol_t *symbol, symbol_class class)  symbol_class_set (symbol_t *symbol, symbol_class class, location_t location)
188  {  {
189    if (symbol->class != unknown_sym && symbol->class != class)    if (symbol->class != unknown_sym && symbol->class != class)
190      complain (_("symbol %s redefined"), symbol_tag_get (symbol));      complain_at (location, _("symbol %s redefined"), symbol_tag_get (symbol));
191    
192    if (class == nterm_sym && symbol->class != nterm_sym)    if (class == nterm_sym && symbol->class != nterm_sym)
193      symbol->number = nvars++;      symbol->number = nvars++;
# Line 203  symbol_class_set (symbol_t *symbol, symb Line 203  symbol_class_set (symbol_t *symbol, symb
203  `-------------------------------------------------*/  `-------------------------------------------------*/
204    
205  void  void
206  symbol_user_token_number_set (symbol_t *symbol, int user_token_number)  symbol_user_token_number_set (symbol_t *symbol,
207                                  int user_token_number, location_t location)
208  {  {
209    assert (symbol->class == token_sym);    assert (symbol->class == token_sym);
210    
211    if (symbol->user_token_number != USER_NUMBER_UNDEFINED    if (symbol->user_token_number != USER_NUMBER_UNDEFINED
212        && symbol->user_token_number != user_token_number)        && symbol->user_token_number != user_token_number)
213      complain (_("redefining user token number of %s"),      complain_at (location, _("redefining user token number of %s"),
214                symbol_tag_get (symbol));                   symbol_tag_get (symbol));
215    
216    symbol->user_token_number = user_token_number;    symbol->user_token_number = user_token_number;
217    /* User defined EOF token? */    /* User defined EOF token? */

Legend:
Removed from v.1.37  
changed lines
  Added in v.1.38

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