From ec6dc4375eaeb5ef358fb2a0e9082a53dcc54d87 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Sat, 9 Feb 2013 18:25:15 +0100 Subject: [PATCH] style: minor changes * src/complain.c: Space changes. * src/reader.c: Comment changes. Avoid && in assertions. * src/location.c: Move comments to... * src/location.h: here. * src/symlist.h, src/symlist.c: Create a pseudo section for members that apply to the rule. --- src/complain.c | 2 +- src/location.c | 2 -- src/location.h | 5 +++-- src/reader.c | 5 +++-- src/symlist.c | 7 +++---- src/symlist.h | 15 ++++++++++----- 6 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/complain.c b/src/complain.c index 5a1b45a..f9b2fea 100644 --- a/src/complain.c +++ b/src/complain.c @@ -31,7 +31,7 @@ #include "quote.h" warnings warnings_flag = - Wconflicts_sr | Wconflicts_rr | Wdeprecated | Wother; + Wconflicts_sr | Wconflicts_rr | Wdeprecated | Wother; warnings errors_flag; diff --git a/src/location.c b/src/location.c index ecfa60e..dd4bd04 100644 --- a/src/location.c +++ b/src/location.c @@ -96,8 +96,6 @@ location_compute (location *loc, boundary *cur, char const *token, size_t size) } -/* Output to OUT the location LOC. - Warning: it uses quotearg's slot 3. */ unsigned location_print (location loc, FILE *out) { diff --git a/src/location.h b/src/location.h index 2783f91..5c57d30 100644 --- a/src/location.h +++ b/src/location.h @@ -98,8 +98,9 @@ extern location const empty_location; void location_compute (location *loc, boundary *cur, char const *token, size_t size); -/* Print location to file. Return number of actually printed - characters. */ +/* Print location to file. + Return number of actually printed characters. + Warning: uses quotearg's slot 3. */ unsigned location_print (location loc, FILE *out); /* Free any allocated ressources and close any open file handles that are diff --git a/src/reader.c b/src/reader.c index de501a1..9ef993c 100644 --- a/src/reader.c +++ b/src/reader.c @@ -712,7 +712,7 @@ check_and_convert_grammar (void) /* Insert the initial rule, whose line is that of the first rule (not that of the start symbol): - accept: %start EOF. */ + $accept: %start $end. */ { symbol_list *p = symbol_list_sym_new (accept, empty_location); p->location = grammar->location; @@ -725,7 +725,8 @@ check_and_convert_grammar (void) grammar = p; } - aver (nsyms <= SYMBOL_NUMBER_MAXIMUM && nsyms == ntokens + nvars); + aver (nsyms <= SYMBOL_NUMBER_MAXIMUM); + aver (nsyms == ntokens + nvars); /* Assign the symbols their symbol numbers. Write #defines for the token symbols into FDEFINES if requested. */ diff --git a/src/symlist.c b/src/symlist.c index f9ec837..72ca110 100644 --- a/src/symlist.c +++ b/src/symlist.c @@ -36,19 +36,18 @@ symbol_list_sym_new (symbol *sym, location loc) res->content_type = SYMLIST_SYMBOL; res->content.sym = sym; res->location = res->sym_loc = loc; + res->named_ref = NULL; res->midrule = NULL; res->midrule_parent_rule = NULL; res->midrule_parent_rhs_index = 0; - code_props_none_init (&res->action_props); - + /* Members used for LHS only. */ res->ruleprec = NULL; + code_props_none_init (&res->action_props); res->dprec = 0; res->merger = 0; - res->named_ref = NULL; - res->next = NULL; return res; diff --git a/src/symlist.h b/src/symlist.h index a88e73c..657efac 100644 --- a/src/symlist.h +++ b/src/symlist.h @@ -50,6 +50,9 @@ typedef struct symbol_list } content; location location; + /* Named reference. */ + named_ref *named_ref; + /* Proper location of the symbol, not all the rule */ location sym_loc; @@ -64,19 +67,21 @@ typedef struct symbol_list struct symbol_list *midrule_parent_rule; int midrule_parent_rhs_index; + /* ---------------------------------------------- */ + /* Apply to the rule (attached to the LHS only). */ + /* ---------------------------------------------- */ + + /* Precedence/associativity. */ + symbol *ruleprec; + /* The action is attached to the LHS of a rule, but action properties for * each RHS are also stored here. */ code_props action_props; - /* Precedence/associativity. */ - symbol *ruleprec; int dprec; int merger; location merger_declaration_location; - /* Named reference. */ - named_ref *named_ref; - /* The list. */ struct symbol_list *next; } symbol_list; -- 2.7.4