1 /* Lists of symbols for Bison 
   2    Copyright (C) 2002  Free Software Foundation, Inc. 
   4    This file is part of Bison, the GNU Compiler Compiler. 
   6    Bison is free software; you can redistribute it and/or modify 
   7    it under the terms of the GNU General Public License as published by 
   8    the Free Software Foundation; either version 2, or (at your option) 
  11    Bison is distributed in the hope that it will be useful, 
  12    but WITHOUT ANY WARRANTY; without even the implied warranty of 
  13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
  14    GNU General Public License for more details. 
  16    You should have received a copy of the GNU General Public License 
  17    along with Bison; see the file COPYING.  If not, write to 
  18    the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 
  19    Boston, MA 02111-1307, USA.  */ 
  25 # include "location.h" 
  27 typedef struct symbol_list_s
 
  29   struct symbol_list_s 
*next
; 
  33   /* The action is attached to the LHS of a rule. */ 
  35   location_t action_location
; 
  43 /* Create a list containing SYMBOL at LOCATION.  */ 
  44 symbol_list_t 
*symbol_list_new 
PARAMS ((symbol_t 
*sym
, location_t location
)); 
  46 /* Prepend SYMBOL at LOCATION to the LIST.  */ 
  47 symbol_list_t 
* symbol_list_prepend 
PARAMS ((symbol_list_t 
*list
, 
  49                                              location_t location
)); 
  51 /* Free the LIST, but not the symbols it contains.  */ 
  52 void symbol_list_free 
PARAMS ((symbol_list_t 
*list
)); 
  54 /* Return its length. */ 
  55 unsigned int symbol_list_length 
PARAMS ((symbol_list_t 
*list
)); 
  57 /* Get the data type (alternative in the union) of the value for 
  58    symbol N in rule RULE.  */ 
  59 char *symbol_list_n_type_name_get 
PARAMS ((symbol_list_t 
*rule
, 
  60                                            location_t location
, int n
)); 
  62 #endif /* !SYMLIST_H_ */