These changes aim at making the code easier to understand.
* src/tables.c (tally): This is a size, always >= 0, so make it
a size_t.
static base_number **froms;
static base_number **tos;
static unsigned int **conflict_tos;
static base_number **froms;
static base_number **tos;
static unsigned int **conflict_tos;
static base_number *width;
static base_number *width;
save_row (state_number s)
{
symbol_number i;
save_row (state_number s)
{
symbol_number i;
base_number *sp;
base_number *sp1;
base_number *sp2;
base_number *sp;
base_number *sp1;
base_number *sp2;
base_number *sp;
base_number *sp1;
base_number *sp2;
base_number *sp;
base_number *sp1;
base_number *sp2;
vector_number symno = symbol_number_to_vector_number (sym);
goto_number begin = goto_map[sym - ntokens];
goto_number end = goto_map[sym - ntokens + 1];
/* Number of non default GOTO. */
vector_number symno = symbol_number_to_vector_number (sym);
goto_number begin = goto_map[sym - ntokens];
goto_number end = goto_map[sym - ntokens + 1];
/* Number of non default GOTO. */
for (i = begin; i < end; i++)
if (to_state[i] != default_state)
count++;
for (i = begin; i < end; i++)
if (to_state[i] != default_state)
count++;
if (0 < tally[i])
{
int k;
if (0 < tally[i])
{
int k;
int w = width[i];
int j = nentries - 1;
int w = width[i];
int j = nentries - 1;
matching_state (vector_number vector)
{
vector_number i = order[vector];
matching_state (vector_number vector)
{
vector_number i = order[vector];
pack_vector (vector_number vector)
{
vector_number i = order[vector];
pack_vector (vector_number vector)
{
vector_number i = order[vector];
int loc = 0;
base_number *from = froms[i];
base_number *to = tos[i];
int loc = 0;
base_number *from = froms[i];
base_number *to = tos[i];