92 for ( i = 1; i <= num; ++
i )
108 int sym, tsp1, tsp2, anum, ns;
110 fprintf(
stderr,
"\n\n********** beginning dump of nfa with start state %d\n",
120 for ( ns = 1; ns <=
lastnfa; ++ns )
122 fprintf(
stderr,
"state # %4d\t", ns );
129 fprintf(
stderr,
"%3d: %4d, %4d", sym, tsp1, tsp2 );
132 fprintf(
stderr,
" [%d]", anum );
137 fprintf(
stderr,
"********** end of dump\n" );
160 int i, init, state_offset;
164 for ( i =
firstst[mach]; i <= last; ++
i )
180 flexfatal(
"empty machine in dupmachine()" );
182 state_offset = state - i + 1;
184 init = mach + state_offset;
209 void finish_rule(
int mach,
int variable_trail_rule,
int headcnt,
int trailcnt)
226 if ( variable_trail_rule )
231 fprintf(
stderr,
"Variable trailing context rule at line %d\n",
241 if ( headcnt > 0 || trailcnt > 0 )
244 char *scanner_cp =
"yy_c_buf_p = yy_cp";
245 char *scanner_bp =
"yy_bp";
248 "*yy_cp = yy_hold_char; /* undo effects of setting up yytext */\n" );
252 scanner_cp, scanner_bp, headcnt );
256 "%s -= %d;\n", scanner_cp, trailcnt );
259 "YY_DO_BEFORE_ACTION; /* set up yytext again */\n" );
288 else if ( last ==
NIL )
338 flexerror(
"bad state type in mark_beginning_as_normal()" );
442 int mkor(
int first,
int second)
449 else if ( second ==
NIL )
534 int base_mach, tail,
copy,
i;
549 for ( i = lb; i < ub; ++
i )
583 lerrif(
"input rules are too complicated (>= %d NFA states)",
651 trans1[statefrom] = stateto;
655 flexfatal(
"found too many transitions in mkxtion()" );
660 trans2[statefrom] = stateto;
int variable_trailing_context_rules
#define STATE_TRAILING_CONTEXT
void mark_beginning_as_normal(int mach)
int mkbranch(int first, int second)
#define MAX_RULES_INCREMENT
int mkrep(int mach, int lb, int ub)
void copy(PVValueArray< T > &pvFrom, size_t fromOffset, size_t fromStride, PVValueArray< T > &pvTo, size_t toOffset, size_t toStride, size_t count)
Copy a subarray from one scalar array to another.
void finish_rule(int mach, int variable_trail_rule, int headcnt, int trailcnt)
void flexerror(char[]) NORETURN
int mkor(int first, int second)
void add_accept(int mach, int accepting_number)
int link_machines(int first, int last)
#define reallocate_integer_array(array, size)
#define SUPER_FREE_EPSILON(state)
void line_directive_out(FILE *)
int copysingl(int singl, int num)
void mkechar(int tch, int fwd[], int bck[])