Lines Matching full:first

298  *   new = link_machines( first, last );
300 * new - a machine constructed by connecting first to last
301 * first - the machine whose successor is to be last
302 * last - the machine whose predecessor is to be first
304 * note: this routine concatenates the machine first with the machine
305 * last to produce a machine new which will pattern-match first first
307 * FIRST is set to new by the operation. last is unmolested.
310 int link_machines (int first, int last) in link_machines() argument
312 if (first == NIL) in link_machines()
316 return first; in link_machines()
319 mkxtion (finalst[first], last); in link_machines()
320 finalst[first] = finalst[last]; in link_machines()
321 lastst[first] = MAX (lastst[first], lastst[last]); in link_machines()
322 firstst[first] = MIN (firstst[first], firstst[last]); in link_machines()
324 return first; in link_machines()
333 * The "beginning" states are the epsilon closure of the first state
367 * branch = mkbranch( first, second );
369 * branch - a machine which matches either first's pattern or second's
370 * first, second - machines whose patterns are to be or'ed (the | operator)
372 * Note that first and second are NEITHER destroyed by the operation. Also,
377 int mkbranch (int first, int second) in mkbranch() argument
381 if (first == NO_TRANSITION) in mkbranch()
385 return first; in mkbranch()
389 mkxtion (eps, first); in mkbranch()
450 * new = mkor( first, second );
452 * new - a machine which matches either first's pattern or second's
453 * first, second - machines whose patterns are to be or'ed (the | operator)
455 * note that first and second are both destroyed by the operation
460 int mkor (int first, int second) in mkor() argument
464 if (first == NIL) in mkor()
468 return first; in mkor()
471 /* See comment in mkopt() about why we can't use the first in mkor()
472 * state of "first" or "second" if they satisfy "FREE_EPSILON". in mkor()
476 first = link_machines (eps, first); in mkor()
478 mkxtion (first, second); in mkor()
480 if (SUPER_FREE_EPSILON (finalst[first]) && in mkor()
481 accptnum[finalst[first]] == NIL) { in mkor()
482 orend = finalst[first]; in mkor()
489 mkxtion (finalst[first], orend); in mkor()
495 first = link_machines (first, eps); in mkor()
496 orend = finalst[first]; in mkor()
502 finalst[first] = orend; in mkor()
503 return first; in mkor()
637 * first time. in mkstate()