[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
can i delete pos[i] in pack_vector() of tables.c
From: |
山东 |
Subject: |
can i delete pos[i] in pack_vector() of tables.c |
Date: |
Thu, 8 Jan 2009 15:24:47 +0800 |
static base_number
pack_vector (vector_number vector)
{
vector_number i = order[vector];
int j;
int t = tally[i];
int loc = 0;
base_number *from = froms[i];
base_number *to = tos[i];
unsigned int *conflict_to = conflict_tos[i];
aver (t != 0);
for (j = lowzero - from[0]; ; j++)
{
int k;
bool ok = true;
aver (j < table_size);
for (k = 0; ok && k < t; k++)
{
loc = j + state_number_as_int (from[k]);
if (table_size <= loc)
table_grow (loc);
if (table[loc] != 0)
ok = false;
}
for (k = 0; ok && k < vector; k++)
if (pos[k] == j)
ok = false;
I don't know this code's role!!!
delete it bison can complete it's task.
if (ok)
{
for (k = 0; k < t; k++)
{
loc = j + from[k];
table[loc] = to[k];
if (nondeterministic_parser && conflict_to != NULL)
conflict_table[loc] = conflict_to[k];
check[loc] = from[k];
}
while (table[lowzero] != 0)
lowzero++;
if (loc > high)
high = loc;
aver (BASE_MINIMUM <= j && j <= BASE_MAXIMUM);
return j;
}
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- can i delete pos[i] in pack_vector() of tables.c,
山东 <=