mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-11 13:23:04 +00:00
* src/parse-gram.y (YYLLOC_DEFAULT, current_lhs_location): New.
(input): Don't try to initialize yylloc here, do it in the scanner. * src/scan-gram.l (YY_USER_INIT): Initialize yylloc. * src/gram.h (rule_t): Change line and action_line into location and action_location, of location_t type. Adjust all dependencies. * src/location.h, src/location.c (empty_location): New. * src/reader.h, src/reader.c (grammar_start_symbol_set) (grammar_symbol_append, grammar_rule_begin, grammar_rule_end) (grammar_current_rule_symbol_append) (grammar_current_rule_action_append): Expect a location as argument. * src/reader.c (grammar_midrule_action): Adjust to attach an action's location as dummy symbol location. * src/symtab.h, src/symtab.c (startsymbol_location): New. * tests/regression.at (Web2c Report, Rule Line Numbers): Adjust the line numbers.
This commit is contained in:
17
src/reader.h
17
src/reader.h
@@ -27,11 +27,11 @@ typedef struct symbol_list
|
||||
{
|
||||
struct symbol_list *next;
|
||||
symbol_t *sym;
|
||||
int line;
|
||||
location_t location;
|
||||
|
||||
/* The action is attached to the LHS of a rule. */
|
||||
const char *action;
|
||||
int action_line;
|
||||
location_t action_location;
|
||||
|
||||
symbol_t *ruleprec;
|
||||
} symbol_list;
|
||||
@@ -66,17 +66,18 @@ char *get_type_name PARAMS ((int n, symbol_list *rule));
|
||||
extern int typed;
|
||||
|
||||
/* From reader.c. */
|
||||
void grammar_start_symbol_set PARAMS ((symbol_t *s));
|
||||
void grammar_start_symbol_set PARAMS ((symbol_t *s, location_t l));
|
||||
void prologue_augment PARAMS ((const char *prologue, location_t location));
|
||||
void epilogue_set PARAMS ((const char *epilogue, location_t location));
|
||||
void grammar_symbol_append PARAMS ((symbol_t *s));
|
||||
void grammar_rule_begin PARAMS ((symbol_t *lhs));
|
||||
void grammar_rule_end PARAMS ((void));
|
||||
void grammar_symbol_append PARAMS ((symbol_t *s, location_t l));
|
||||
void grammar_rule_begin PARAMS ((symbol_t *lhs, location_t l));
|
||||
void grammar_rule_end PARAMS ((location_t l));
|
||||
void grammar_midrule_action PARAMS ((void));
|
||||
void grammar_current_rule_prec_set PARAMS ((symbol_t *precsym));
|
||||
void grammar_current_rule_symbol_append PARAMS ((symbol_t *symbol));
|
||||
void grammar_current_rule_symbol_append PARAMS ((symbol_t *symbol,
|
||||
location_t l));
|
||||
void grammar_current_rule_action_append PARAMS ((const char *action,
|
||||
int line));
|
||||
location_t l));
|
||||
extern symbol_list *current_rule;
|
||||
void reader PARAMS ((void));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user