53 |
|
|
54 |
int error_token_number; |
int error_token_number; |
55 |
|
|
56 |
|
|
57 |
|
/*------------------------. |
58 |
|
| Dump RITEM for traces. | |
59 |
|
`------------------------*/ |
60 |
|
|
61 |
void |
void |
62 |
ritem_print (FILE *out) |
ritem_print (FILE *out) |
63 |
{ |
{ |
70 |
fprintf (out, " (rule %d)\n", -ritem[i]); |
fprintf (out, " (rule %d)\n", -ritem[i]); |
71 |
fputs ("\n\n", out); |
fputs ("\n\n", out); |
72 |
} |
} |
73 |
|
|
74 |
|
|
75 |
|
/*------------------------------------------. |
76 |
|
| Return the size of the longest rule RHS. | |
77 |
|
`------------------------------------------*/ |
78 |
|
|
79 |
|
size_t |
80 |
|
ritem_longest_rhs (void) |
81 |
|
{ |
82 |
|
short *itemp; |
83 |
|
int length; |
84 |
|
int max; |
85 |
|
|
86 |
|
length = 0; |
87 |
|
max = 0; |
88 |
|
for (itemp = ritem; *itemp; itemp++) |
89 |
|
if (*itemp > 0) |
90 |
|
{ |
91 |
|
length++; |
92 |
|
} |
93 |
|
else |
94 |
|
{ |
95 |
|
if (length > max) |
96 |
|
max = length; |
97 |
|
length = 0; |
98 |
|
} |
99 |
|
|
100 |
|
return max; |
101 |
|
} |