# include "location.h"
# include "scan-code.h"
# include "symtab.h"
+# include "named-ref.h"
/* A list of symbols, used during the parsing to store the rules. */
typedef struct symbol_list
} content;
location location;
+ /* Proper location of the symbol, not all the rule */
+ location sym_loc;
+
/* If this symbol is the generated lhs for a midrule but this is the rule in
whose rhs it appears, MIDRULE = a pointer to that midrule. */
struct symbol_list *midrule;
int merger;
location merger_declaration_location;
+ /* Named reference. */
+ named_ref *named_ref;
+
/* The list. */
struct symbol_list *next;
} symbol_list;
symbol N in rule RULE. */
uniqstr symbol_list_n_type_name_get (symbol_list *l, location loc, int n);
+/* Check whether the node is a border element of a rule. */
+bool symbol_list_null (symbol_list *node);
+
/** Set the \c \%destructor for \c node as \c code at \c loc. */
void symbol_list_destructor_set (symbol_list *node, char const *code,
location loc);