* src/reader.h: s/grammer_current_rule_merge_set/grammar_.../.

* src/conflicts.c (conflicts_total_count): `i' is unsigned, to
pacify GCC.
* src/output.c (save_row): Initialize all the variables to pacify GCC.
(merger_output): static.
This commit is contained in:
Akim Demaille
2002-06-28 08:41:45 +00:00
parent b5480d74b8
commit e0e5bf84b0
4 changed files with 42 additions and 34 deletions

View File

@@ -432,7 +432,7 @@ conflicts_output (FILE *out)
int
conflicts_total_count (void)
{
int i;
unsigned i;
int count;
/* Conflicts by state. */
@@ -445,7 +445,7 @@ conflicts_total_count (void)
}
return count;
}
/*------------------------------------------.
| Reporting the total number of conflicts. |

View File

@@ -378,8 +378,8 @@ conflict_row (state_t *state)
if (! glr_parser)
return;
for (j = 0; j < ntokens; j += 1)
if (conflrow[j])
for (j = 0; j < ntokens; j += 1)
if (conflrow[j])
{
conflrow[j] = conflict_list_cnt;
@@ -388,14 +388,14 @@ conflict_row (state_t *state)
for (i = 0; i < state->nlookaheads; i += 1)
if (bitset_test (state->lookaheads[i], j)
&& actrow[j] != -state->lookaheads_rule[i]->number)
{
{
assert (conflict_list_free > 0);
conflict_list[conflict_list_cnt]
conflict_list[conflict_list_cnt]
= state->lookaheads_rule[i]->number;
conflict_list_cnt += 1;
conflict_list_free -= 1;
}
/* Leave a 0 at the end */
assert (conflict_list_free > 0);
conflict_list_cnt += 1;
@@ -519,7 +519,7 @@ action_row (state_t *state)
/* GLR parsers need space for conflict lists, so we can't
default conflicted entries. For non-conflicted entries
or as long as we are not building a GLR parser,
or as long as we are not building a GLR parser,
actions that match the default are replaced with zero,
which means "use the default". */
@@ -554,10 +554,10 @@ save_row (int state)
{
int i;
int count;
short *sp;
short *sp1;
short *sp2;
unsigned int *sp3;
short *sp = NULL;
short *sp1 = NULL;
short *sp2 = NULL;
unsigned int *sp3 = NULL;
count = 0;
for (i = 0; i < ntokens; i++)
@@ -570,8 +570,8 @@ save_row (int state)
froms[state] = sp1 = sp = XCALLOC (short, count);
tos[state] = sp2 = XCALLOC (short, count);
if (glr_parser)
conflict_tos[state] = sp3 = XCALLOC (unsigned int, count);
else
conflict_tos[state] = sp3 = XCALLOC (unsigned int, count);
else
conflict_tos[state] = NULL;
for (i = 0; i < ntokens; i++)
@@ -612,8 +612,8 @@ token_actions (void)
conflict_list = XCALLOC (unsigned int, 1 + 2 * nconflict);
conflict_list_free = 2 * nconflict;
conflict_list_cnt = 1;
}
else
}
else
conflict_list_free = conflict_list_cnt = 0;
for (i = 0; i < nstates; ++i)
@@ -667,9 +667,9 @@ merger_output (FILE *out)
merger_list* p;
fputs ("m4_define([b4_mergers], \n[[", out);
for (n = 1, p = merge_functions; p != NULL; n += 1, p = p->next)
for (n = 1, p = merge_functions; p != NULL; n += 1, p = p->next)
{
if (p->type[0] == '\0')
if (p->type[0] == '\0')
fprintf (out, " case %d: yyval = %s (*yy0, *yy1); break;\n",
n, p->name);
else
@@ -1103,9 +1103,9 @@ output_conflicts (void)
if (! glr_parser)
return;
muscle_insert_unsigned_int_table ("conflict_list_heads", conflict_table,
muscle_insert_unsigned_int_table ("conflict_list_heads", conflict_table,
conflict_table[0], 1, high+1);
muscle_insert_unsigned_int_table ("conflicting_rules", conflict_list,
muscle_insert_unsigned_int_table ("conflicting_rules", conflict_list,
conflict_list[0], 1, conflict_list_cnt);
XFREE (conflict_table);

View File

@@ -29,7 +29,7 @@ typedef struct merger_list
struct merger_list* next;
const char* name;
const char* type;
}
}
merger_list;
typedef struct gram_control_s
@@ -80,7 +80,7 @@ void grammar_current_rule_prec_set PARAMS ((symbol_t *precsym,
location_t l));
void grammar_current_rule_dprec_set PARAMS ((int dprec,
location_t l));
void grammer_current_rule_merge_set PARAMS ((const char* name,
void grammar_current_rule_merge_set PARAMS ((const char* name,
location_t l));
void grammar_current_rule_symbol_append PARAMS ((symbol_t *symbol,