Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!wuarchive!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!abcfd20.larc.nasa.gov!amiga-request From: amiga-request@abcfd20.larc.nasa.gov (Amiga Sources/Binaries Moderator) Newsgroups: comp.sources.amiga Subject: v90i237: flex 2.3 - fast lexical analyzer generator, Part10/13 Message-ID: Date: 19 Aug 90 22:43:12 GMT Reply-To: loftus@wpllabs.uucp (William P Loftus) Lines: 946 Approved: tadguy@uunet.UU.NET (Tad Guy) X-Mail-Submissions-To: amiga@uunet.uu.net X-Post-Discussions-To: comp.sys.amiga Submitted-by: loftus@wpllabs.uucp (William P Loftus) Posting-number: Volume 90, Issue 237 Archive-name: unix/flex-2.3/part10 #!/bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh 'flexdoc.uu.ab' <<'END_OF_FILE' XM9FEN960@=&\@<')O=FED92!A;B!A8W1I;VX*("`@("!W:&EC:"`@:7,@(&%L5 XM=V%Y&5C=71E9"!B969OF%T:6]NK XM XM="`@86YD('-E<&%R871E9"!U&%M<&QE+"`@0RLK("!U6%C8QM;;2`@<&%R'0@=&]K96X@87,@=V5LD XM;"!A7EL=F%L+B`@5&\@('5S90H@("`@(!M;-&UF;&5X&UMM("!WZ XM:71H("`;6S1M>6%C8QM;;2P@(&]N92`@6%C8QM;;2!T;PH@("`@(&EN6%C8QM;;2!I;G!U="X@(%1H:7,*"@H*5F5R6QV86P@/2!A=&]I*"!Y>71E>'0@*3L@!M;;2!S=7!P;W)T2!D:7-R96=A!M;;3L@("5T("!S97)V97,L("!T:&]U9V@L('1O(&QU;7`@8VAA&%M<&QE+"!T:&4@<&%T=&5R;B`B82A!02DJ-2(@:7,*("`@("!E<75I=F%L& XM96YT("!T;R`B9"A:42DJ,"(N("!4:&5Y(&)O=&@@2`@9F]RY XM("!I;G1R;V1U8VEN9R`@97%U:79A;&5N8V4*("`@("!C;&%S2!G96YE XM=FER='5A;&QY(&%L;"!T:&4@:6YS=&%N8V5S('=H96X@;VYE(&UI9VAT("!C> XM;VYS:61E<@H@("`@('5S:6YG("5T+B!"=70@=VAA="!T:&4@:&5L;"P@:70G` XM!M;;2!H87,@=&AE(&9O;&QO=VEN9R!O<'1I;VYS.@H*("`@("`M8B`@($=E^ XM;F5R871E("!B86-K=')A8VMI;F<@(&EN9F]R;6%T:6]N("!T;R`@&ULT;6QE4 XM>!M;;2X;6S1M8F%C:W1R86-K&UMM+@H@("`@("`@("`@5&AIF4@979E6-L90H@("`@("`@("`@;W5T("!O9B`@=&AEE XM:7(@('-C86YN97)S("!N965D('=O!M;;2`M8R!S<&5C:69I960@('1A8FQEI XM+0H@("`@("`@("`@8V]M<')E XM=&-H960@=&5X="(I"@H@("`@("`@("`@5&AE(&QI;F4@;G5M8F5R(')E9F5R2 XM!M;;2!I;G!U="!P871T97)N0H@("`@("`@("`@9F]R(%!/4TE8(&-O9 XM;7!L:6%N8V4N"@H@("`@("UP("`@9V5N97)A=&5S(&$@<&5R9F]R;6%N8V4@Y XM3L@=7-E"@H*"E9E2`Q.3DP("`@("`@("`@("`@("`@("`@(#(Q"@H*"@H*^ XM"D9,15@H,2D@("`@("`@("`@("`@("`@("`@55-%4B!#3TU-04Y$4R`@("`@L XM("`@("`@("`@("`@("!&3$58*#$I"@H*"B`@("`@("`@("!O9B`;6S1M>7EM$ XM;W)E&UMM*"DL('1H92!>(&]P97)A=&]R+"!A;F0@('1H92`@+4D@(&9L86<@! XM(&5N=&%I;`H@("`@("`@("`@;6EN;W(@<&5R9F]R;6%N8V4@<&5N86QT:65SC XM+@H*("`@("`M"YY>2YC+@H*("`@("`M=B`@('-P96-I9FEE2!O9@H@Y XM("`@("`@("`@'0@='=O"B`@("`@("`@("!L:6YE2!T:&4@(FED96YT:69I97(B(')U;&4@:7,@<')E< XM6]U"B`@("`@("`@("!T:&5N('5S92!A(&AA6]U)W)E(&)E='1E!M;;2`@=&\@U XM(&=E;F5R871E("!A;B`@&ULT;6EN=&5R86-T:79E&UMM("!S8V%N;F5R+@H@4 XM("`@("`@("`@3F]R;6%L;'DL("!S8V%N;F5R2`@;&]O:W,@(&%H96%D& XM("!W:&5N"B`@("`@("`@("!N965D960N("`@4W5C:"`@6]U('=A;G0@=&\@=W)I=&4@82!S8V%N;F5R(&9O2!W86YT('1H90H@("`@("`@("`@=7-E+ XM6]U<@H@("`@("`@("`@6]U("!D;VXG="`@8V%R90H@("`@("`@("`@86)O=70@("!SQ XM<75E97II;F<@('1H92`@=71M;W-T("!P97)F;W)M86YC92`@9G)O;2`@>6]UX XM<@H@("`@("`@("`@6]U(&1O;B=T("!W86YT("!T;R`@/ XM;6%K92`@86YY("!A2!L;V-A=&5D('=I=&@@2!M96%N:6YG;&5S2`@&ULT;69L< XM97@;6VT@(&1O97,@(&YO=`H@("`@("`@("`@<')E7DN8R!W:&EC:`H@("`@("`@("`@:70@9V5N97)A=&5D+B`@4V\@:68@V XM=&AE2!D969A=6QT(!M;-&UF;&5X&UMM("!I XM:&%R86-T97)S(&%N9"`@=&AE("`M."`@9FQA9R`@:7,@(&YO=`H@("`@("`@G XM("`@2`@8F4@82!G;V]D(&ED96$@=&\@:V5E7 XM<"!T:&4@&%C="D[("!I9B!E<75I=F%L$ XM96YC90H@("`@("`@("`@8VQA2!A(&9A8W1O2!C+ XM:&5A<"!P97)F;W)M86YC92UW:7-E("`H;VYE("!A2`@;&]O:RUU<`H@O XM("`@("`@("`@<&5R(&-H87)A8W1E!M;;2!T;R!C;VYS=')U8W0@&ULT;6UE=&$;6VTM&ULT;65Q=6EV86QE;F-EZ XM&UMM(!M;-&UC;&%S XM2!L;V]K+75P('!E2!B92!F&5C=71I;F<@6]U('=I;&P@=7-U86QL>2!WJ XM86YT('1O('5S92!T:&4@9&5F875L="P@(&UA>&EM86P*("`@("`@("`@(&-O* XM;7!R97-S:6]N+@H*("`@("`@("`@("U#9F4@:7,@;V9T96X@82!G;V]D(&-O1 XM;7!R;VUIF4*("`@("`@("`@(&9O4 XM!M;;0H@("`@("`@("`@8V]N!M;;2`@:7,@('1H870@(&ET("!G96YE2!T7EM;W)E*"D*"B`@("`@=VET:"!T:&4@9FER2!R=6QE+B`@5&AE('-T871E(&]C8W5R2!CE XM:&%R86-T97(*("`@("!O=&AEPH@("`@("`@("`@("`@("`@("`@("`O*B!F86QSY XM92!A;&%R;2P@;F]T(')E86QL>2!A(&ME>7=O XM("`@("`@("`@?0H*"B`@("`@16QI;6EN871I;F<@8F%C:W1R86-K:6YG(&%M^ XM;VYG(&$@;&ES="!O9B!K97EW;W)D2`@=&%K97,@(&$*("`@("!D;WIE;B!O2!A9&0@ XM(&%L;6]S="!T:&4*("`@("!S86UE('!E XM-&U214I%0U0;6VT@("AI+F4N+"`@"@Q*2DN"@H@\ XM("`@($%N;W1H97(@87)E82!W:&5R92!T:&4@=7-E7ET97AT*2`@9F]R] XM("!T:&4@(&%C=&EO;BX@(%)E8V%L;"!T:&4@ XM"B`@("`@5&AI"!C;VUM96YT"B`@("`@("`@("4E"B`@("`@("`@("`@" XM("`@("`@:6YT(&QI;F5?;G5M(#T@,3L*"B`@("`@("`@("(O*B(@("`@("`@< XM("!"14=)3BAC;VUM96YT*3L*"B`@("`@("`@(#QC;VUM96YT/EM>*EQN72H*# XM("`@("`@("`@/&-O;6UE;G0^6UXJ7&Y=*EQN("`@("`@*RML:6YE7VYU;3L*] XM("`@("`@("`@/&-O;6UE;G0^(BHB*UM>*B]<;ETJ"B`@("`@("`@(#QC;VUM; XM96YT/B(J(BM;7BHO7&Y=*EQN("LK;&EN95]N=6T["B`@("`@("`@(#QC;VUME XM96YT/B(J(BLB+R(@("`@("`@($)%1TE.*$E.251)04PI.PH*("`@("!.;W<@4 XM:6YS=&5A9"!O9B!E86-H("!N97=L:6YE("!R97%U:7)I;F<@('1H92`@<')OH XM8V5SFEN^ XM9R`@=&AE(&YE=VQI;F5S(&ES(")D:7-TF4@86QL('1H92!K97EW;W)D7=O2`@;VYE("!W;W)D("!P97(*("`@("!L:6YE+"`@=&AET XM;B`@=V4@(&-A;B!R961U8V4@=&AE('1O=&%L(&YU;6)E XM(&]F(&YE=VQI;F5S('=I=&@@=&AA="`@;V8*("`@("!T:&4@;W1H97(@=&]K7 XM96YS.@H*("`@("`@("`@)24*("`@("`@("`@87-M7&X@("`@?`H@("`@("`@9 XM("!A=71O7&X@("!\"B`@("`@("`@(&)R96%K7&X@('P*("`@("`@("`@+BXN( XM(&5T8R`N+BX*("`@("`@("`@=F]L871I;&5<;B!\"B`@("`@("`@('=H:6QEY XM7&X@("\J(&ET)W,@82!K97EW;W)D("HO"@H@("`@("`@("!;82UZ72M<;B!\> XM"B`@("`@("`@("Y\7&X@("`@("\J(&ET)W,@;F]T(&$@:V5Y=V]R9"`J+PH*2 XM("`@("!/;F4@:&%S('1O(&)E(&-A2!C:&%R86-T$ XM97)S(&EN('1H92!I;G!U="`@0H@("`@(&ET("!W;W5L9"`@=&AE& XM;B`@:G5S="!M871C:"!T:&4@(F%U=&\B(')U;&4@86YD(&)E(&1O;F4L(&)U: XM=`H@("`@(&YO=R!I="!H87,@;F\@(F%U=&\B(')U;&4L(&]N;'D@82`B875T8 XM;UQN(B!R=6QE+B`@(%1O("!E;&EM+0H@("`@(&EN871E("!T:&4@('!O'!E8W0@=&\@96YC. XM;W5N=&5R('-U8V@@86X@:6YP=70@86YD('1H97)E9F]R92!D;VXG=`H@("`@L XM(&AO=R!I="=S(&-L87-S:69I960L('=E(&-A;B`@:6YT7=OETK9 XM("`@?`H@("`@("`@("`N?%QN("`@("`O*B!I="=S(&YO="!A(&ME>7=O!M;;2!I!M;;2!T;V]L("AT:&4@='=O("!IR XM;7!L96UE;G1A+0H@("`@('1I;VYS("!D;R`@;F]T('-H87)E(&%N>2!C;V1E! XM+"!T:&]U9V@I+"!W:71H('-O;64@97AT96YS:6]N!M;;2!D&-E<'0@' XM87,@;F]T960@8F5L;W0H@= XM("`@('-T86YD!M;;2!M87D@:6X@=&AE% XM"B`@("`@;F5A&-E<"T*("`@("!T:6]N6QI;F5N;PH@("`@("`@("`@:7,@(&YO="`@H XM0H@("`@("`@("`@8VAA&%M:6YI;F<@=&AE(&-H87)A8W1E7EL97-S*"DL('5N<'5T*"DL(&]R(%)%2D5#5"!A8W1I;VYS+"!O2!A;B!E87-Y('!R;V-E7EL:6YE;F\@:7,@;F]T('!A2!A(')U;&4N("!)S XM9B!I;G!U="@I(&5N8V]U;G1E7=R87`H*2`@<')O8V5S0H@("`@("`@("`@=V]N)W0[("!I="!L;V]K2!O@ XM9B!C;VYT7EI;AM;;2DN"@H@("`@("T@("`@&ULT;69L97@;6VT@!M;;2!S=6-H"B`@("`@("`@("!W XM("`@("`@("!P87)T:6-U;&%R+"`@:68@('EO=2!H879E(&%N(&EN=&5R86-T\ XM:79E('-C86YN97(@86YD(&%N"B`@("`@("`@("!I;G1E7EI;B`I.PH*"B`@("`@+2`@("!O=71P=70H*2!I" XM!M;;2!D;V5S(&YO="!S=7!P;W)T(&5X8VQU> XM'!A;F1E9"P@&ULT;69L97@;I XM6VT@(&5N8VQO"P@=&AE(&9O;&QO=VEN9SH*"B`@("`@("`@("`@("`@3D%-M XM12`@("!;02U:75M!+5HP+3E=*@H@("`@("`@("`@("`@("4E"@H*"E9ETY!345]/R`@("`@('!R:6YT9B@@(D9O=6YD? XM(&ET7&XB("D["B`@("`@("`@("`@("`@)24*"B`@("`@("`@("!W:6QL(&YO* XM="!M871C:"!T:&4@!M;;2P@=&AE(')U;&4@=VEL;"!B90H@("`@("`@("`@97AP86YD\ XM960@=&\@(F9O;RA;02U:75M!+5HP+3E=*BD_(B!A;F0@('-O("!T:&4@('-TA XM XM96-A=7-E(&]F('1H:7,L('1H92!>+"`D+`H@("`@("`@("`@/',^+"`O+"!A) XM;F0@/#Q%3T8^/B!O<&5R871O!M;] XM;2!O;F4@8V%N('5S92`B6UY=72(@8G5T"B`@("`@("`@("!W:71H(!M;-&UFS XM;&5X&UMM(&]N92!M=7-T('5S92`B6UY<75TB+B`@5&AE(&QA='1E!M;;2P@=&]O+@H*("`@("`M("`@) XM(%1H92`;6S1M;&5X&UMM("5R("AG96YE6]U(&%R92!P6]U7=R87`H*2`@7EWF XM!M;;2`;6S1M=7-E2!T;R!B92!C:&%N9V5D('1O(&$@9G5N8RT*("`@("`@" XM("`@('1I;VX@:6X@=&AE(&YE87(@9G5T=7)E+@H*("`@("`M("`@($%F=&5R4 XM(&$@8V%L;"!T;R!U;G!U="@I+"`;6S1M>7ET97AT&UMM(&%N9"`@&ULT;7EY& XM;&5N9QM;;2`@87)E("!U;F1E+0H@("`@("`@("`@9FEN960@=6YT:6P@=&AE7 XM(&YE>'0@=&]K96X@:7,@;6%T8VAE9"X@(%1H:7,@:7,@;F]T('1H90H@("`@P XM("`@("`@8V%S92!W:71H(!M;-&UL97@;6VT@;W(@=&AE('!R97-E;G0@4$]3P XM25@@9')A9G0N"@H@("`@("T@("`@5&AE('!R96-E9&5N8V4@;V8@=&AE('M]> XM("AN=6UE("!O<&5R871O!M;;0H@("`@("`@("`@:6YT97)P0H@J XM("`@("`@("`@8V]M92!A="!T:&4@8F5G:6YN:6YG(&]F(&$@;&EN92(N("`@9 XM5&AE("!L871T97(@(&ES("!I;@H@("`@("`@("`@86=R965M96YT('=I=&@@> XM=&AE(&-U7ET97AT(&]U='-I9&4@;V8@=&AE('-C86YN97(@!M;;2`@:7,@(")E>'1E71E>'0B(')A=&AE'1E71E>'1;\ XM72(N("`@5&AI2X@($ET(&ES"B`@("`@K XM("`@("!H;W!E9"!T:&%T('1H92!03U-)6"!D0H@+ XM("`@("`@("`@<&%I;FQE!M;;2!UF5D&UMM(&)Y(!M;-&UL97@;6VT@=&\@8F4@&ULT;7-T9&EN&UMMF XM.R`@&ULT;69L97@;6VTL("!O;B`@=&AE"B`@("`@("`@("!O=&AEF5S(!M;-&UY>6EN&UMM('1O($Y53$P@86YD('1H96X@X XM&ULT;6%S2`@&ULT/ XM;6QE>!M;;2!A!M;;0H@("`@("`@("`@:6=N;W)E XM2`@8F4*("`@("`@("`@('=R:71T96X@9F]R('5S92!WM XM:71H(&5I=&AE!M;;2!O!M;;2`@;W(@('1H90H@("`@(%!/4TE8(&1R869TX XM('-T86YD87)D.@H*("`@("`@("`@>7ET97)M:6YA=&4H*0H@("`@("`@("`\1 XM/$5/1CX^"B`@("`@("`@(%E97T1%0TP*("`@("`@("`@(VQI;F4@9&ER96-TU XM:79EWTG7)E6]U("!C86X*("`@("!P=70@F XM(&UU;'1I<&QE(&%C=&EO;G,@;VX@=&AE('-A;64@;&EN92P@!M;& XM;2P@=&AE(&9O;&QO=VEN9PH*("`@("`@("`@9F]O("`@(&AA;F1L95]F;V\H: XM*3L@*RMN=6U?9F]O2D@=')U;F-A=&5D('1O"@H@("`@("`@("!F;V\@("`@:&%N9&QE7V9OH XM;R@I.PH*("`@("`;6S1M9FQE>!M;;2!D;V5S(&YO="!T2!T97)M:6YA=&5D(&%T('1H92!E. XM;F0@;V8@=&AE"B`@("`@;&EN92X*"D1)04=.3U-424-3"B`@("`@&ULT;7)E, XM:F5C=!M;;5\;6S1M=7-E9!M;;5\;6S1M8G5T&UMM7QM;-&UN;W0;6VU?&ULTJ XM;61E=&5C=&5D&UMM("`@("`@("`@(!M;-&UU;F1E9FEN960;6VT@("`@("`@> XM("`@(&]R"B`@("`@&ULT;7EY;6]R91M;;5\;6S1M=7-E9!M;;5\;6S1M8G5TU XM&UMM7QM;-&UN;W0;6VU?&ULT;61E=&5C=&5D&UMM("`;6S1M=6YD969I;F5DQ XM&UMM("`M("!4:&5S92!E2!I;F1I8V%T92!T:&%T('1H92!S8V%N- XM;F5R("!U6UO!M;;2!F86EL960@=&\@;F]T:6-E('1H92!F86-T+`H@("`@(&UE_ XM86YI;F<@=&AA="`;6S1M9FQE>!M;;2!S8V%N;F5D('1H92!F:7)S="!T=V\@F XM'!L:6-IH XM="!R969E2!T:&%T('1H97D@;F5E9"!I="XI"@H@("`@M XM(!M;-&UF;&5X&UMM(!M;-&US8V%N;F5R&UMM(!M;-&UJ86UM960;6VT@+2!AC XM('-C86YN97(@8V]M<&EL960@=VET:"`M!M;;2`;# XM6S1M:6YP=70;6VT@&ULT;6)U9F9EFEN9R`@."UB:70@(&-H87)A8W1E6]UO XM("!D:60@(&YO=`H@("`@('-P96-I9GD@=&AE("TX(&9L86<@*&%N9"!Y;W5RI XM('-I=&4@:&%S("!N;W0@(&EN`H@("`@('=I=&@@+3@@\ XM87,@=&AE(&1E9F%U;'0I+@H*("`@("`;6S1M9F%T86P;6VT@&ULT;69L97@;( XM6VT@&ULT;7-C86YN97(;6VT@&ULT;6EN=&5R;F%L&UMM(!M;-&UE7)E2!S:6YG;&4@8VAA; XM!M;;2!R97%U:7)E"@Q*2P@>6%C8R@Q*2P@2!I9&5A- XM2`;6S1M9FQE>!M;;2!B971A+71E2`@3&5E9&]M+"!B96YS;VY`;V1I+F-O;2P@2V5I=&@*. XM("`@("!";W-T:6,L($9R961E2!2+B!*;VYEGDL($II;2!-97EE'1E;F1I;F<@&ULT;69L97@;6VT@=&\@3 XM9V5N97)A=&4@ XM;6%C:&EN92!I2!R97!R97-E;G1E9"!I;B!#(&-O9&4*("`@1 XM("!R871H97(@=&AA;B!T86)L97,N("!4:&5S92!S8V%N;F5R. Mail comments to the moderator at . Post requests for sources, and general discussion to comp.sys.amiga.