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.
This commit is contained in:
Akim Demaille
2013-02-09 18:25:15 +01:00
parent c21e515e05
commit ec6dc4375e
6 changed files with 20 additions and 16 deletions

View File

@@ -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;

View File

@@ -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)
{

View File

@@ -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

View File

@@ -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. */

View File

@@ -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;

View File

@@ -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;