Go to the source code of this file.
int default_goto |
( |
int |
symbol | ) |
|
Definition at line 358 of file output.c.
369 if (m == n)
return (0);
374 for (i = m; i < n; i++)
381 if (state_count[i] > max)
383 max = state_count[
i];
388 return (default_state);
int matching_vector |
( |
int |
vector | ) |
|
Definition at line 535 of file output.c.
552 for (prev = vector - 1; prev >= 0; prev--)
555 if (width[j] != w || tally[j] != t)
559 for (k = 0; match && k < t; k++)
561 if (tos[j][k] != tos[i][k] || froms[j][k] != froms[i][k])
Definition at line 51 of file output.c.
67 output_trailing_text();
69 output_semantic_actions();
void write_section(char *section[])
int pack_vector |
( |
int |
vector | ) |
|
Definition at line 575 of file output.c.
592 j = lowzero - from[0];
593 for (k = 1; k < t; ++k)
594 if (lowzero - from[k] > j)
595 j = lowzero - from[k];
601 for (k = 0; ok && k < t; k++)
607 fatal(
"maximum table size exceeded");
610 do { newmax += 200; }
while (newmax <= loc);
611 table = (
short *)
REALLOC(table, newmax*
sizeof(
short));
613 check = (
short *)
REALLOC(check, newmax*
sizeof(
short));
615 for (l = maxtable; l < newmax; ++l)
623 if (check[loc] != -1)
626 for (k = 0; ok && k < vector; k++)
633 for (k = 0; k < t; k++)
637 check[loc] = from[k];
638 if (loc > high) high = loc;
641 while (check[lowzero] != -1)
void fatal(char *msg) NORETURN
#define assert(exp)
Declare that a condition should be true.
void no_space(void) NORETURN