version 1.18, 2015/12/11 20:25:47 |
version 1.19, 2017/05/25 20:11:03 |
|
|
short *from_state; |
short *from_state; |
short *to_state; |
short *to_state; |
|
|
short **transpose(); |
short **transpose(short **, int); |
void set_state_table(void); |
void set_state_table(void); |
void set_accessing_symbol(void); |
void set_accessing_symbol(void); |
void set_shift_table(void); |
void set_shift_table(void); |
|
|
|
|
|
|
short ** |
short ** |
transpose(short **R, int n) |
transpose(short **old_R, int n) |
{ |
{ |
short **new_R, **temp_R, *nedges, *sp; |
short **new_R, **temp_R, *nedges, *sp; |
int i, k; |
int i, k; |
|
|
nedges = NEW2(n, short); |
nedges = NEW2(n, short); |
|
|
for (i = 0; i < n; i++) { |
for (i = 0; i < n; i++) { |
sp = R[i]; |
sp = old_R[i]; |
if (sp) { |
if (sp) { |
while (*sp >= 0) |
while (*sp >= 0) |
nedges[*sp++]++; |
nedges[*sp++]++; |
|
|
free(nedges); |
free(nedges); |
|
|
for (i = 0; i < n; i++) { |
for (i = 0; i < n; i++) { |
sp = R[i]; |
sp = old_R[i]; |
if (sp) { |
if (sp) { |
while (*sp >= 0) |
while (*sp >= 0) |
*temp_R[*sp++]++ = i; |
*temp_R[*sp++]++ = i; |