%!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Fri Sep 13 13:03:41 1996 %%Pages: (atend) %%DocumentFonts: (atend) /devps 180 dict def devps begin /res 10.000000 def /y_offset 843 def /X{exch}bind def /mm {transform round X round X itransform} bind def /r{rmoveto}bind def /m{moveto}bind def /l{lineto}bind def /rl{rlineto}bind def /st{stroke}bind def /gs{gsave}bind def /gr{grestore}bind def /cp{currentpoint}bind def /np{newpath}bind def /ct{curveto}bind def systemdict /setpacking known { /savepacking currentpacking def true setpacking } if /m0{0 0 moveto}bind def /xc{//res div}bind def /yc{//res neg div //y_offset add}bind def /lc{yc X xc X l st}bind def /mc{yc X xc X m}bind def /el{gs /a X def a div 1 X scale cp np a xc 2 div 0 360 arc st gr}bind def /ar{cp 7 2 roll np xc 5 1 roll atan 3 1 roll atan X arc st}bind def /sp{yc X xc X 6 2 roll yc X xc X 6 2 roll yc X xc X 6 2 roll ct}bind def /V{//res neg div //y_offset add currentpoint pop X m}bind def /H{//res div 0 transform X round X itransform pop currentpoint X pop moveto}bind def /h{//res div 0 r}bind def /v{//res neg div 0 X r}bind def /S{X H show}bind def /A{H //res div 1 index stringwidth pop sub 1 index length div 0 3 2 roll ashow}bind def /psize 10 def /height 0 def /cheight { height 0 ne { height } { psize } ifelse } bind def /slant 0 def /FF{findfont X dup 30 div 0 mm pop setlinewidth /psize X def [psize 0 cheight slant sin slant cos div mul cheight 0 0] makefont setfont}bind def /shade{gs /dy X def /dx X def np m 0 /dy rl /dx 0 rl 0 /dy neg rl /dx neg 0 rl closepath .9 setgray fill gr}bind def 1 setlinecap /resolution res 72 mul def /startFig { /SavedState save def userdict maxlength dict begin currentpoint transform DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix itransform moveto /ury exch def /urx exch def /lly exch def /llx exch def /y exch 72 mul resolution div def /x exch 72 mul resolution div def currentpoint /cy exch def /cx exch def /sx x urx llx sub div def /sy y ury lly sub div def sx sy scale cx sx div llx sub cy sy div ury sub translate /DefFigCTM matrix currentmatrix def /initmatrix { DefFigCTM setmatrix } def /defaultmatrix { DefFigCTM exch copy } def /initgraphics { DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix DefFigCTM setmatrix } def /showpage { initgraphics } def }bind def /clipFig { currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll exch lineto exch lineto exch lineto closepath clip newpath moveto }bind def /doclip { llx lly urx ury clipFig } def /endFig { end SavedState restore }bind def /globalstart { fontnum psize slant height resolution currentpoint pagesave restore gsave }bind def /globalend { grestore moveto /resolution exch def /height exch def /slant exch def /psize exch def /fontnum exch def F /pagesave save def }bind def /fontnum 1 def systemdict /setpacking known { savepacking setpacking} if end /BP{ save mark devps begin m0 /DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap currentlinejoin currentdash currentgray currentmiterlimit ] cvx def }bind def /EP{ end cleartomark restore showpage}def /R{/Times-Roman FF}def /B{/Times-Bold FF}def /I{/Times-Italic FF}def /Encoding-1 256 array def 0 1 255 {Encoding-1 exch /.notdef put} for Encoding-1 8#301 StandardEncoding 8#101 26 getinterval putinterval %A-B Encoding-1 8#341 StandardEncoding 8#141 26 getinterval putinterval %a-b Encoding-1 8#241 StandardEncoding 8#301 16 getinterval putinterval %accents Encoding-1 8#373 StandardEncoding 8#365 1 getinterval putinterval %dotlessi Encoding-1 dup 8#41 /copyright put dup 8#42 /registered put dup 8#43 /trademark put dup 8#44 /logicalnot put dup 8#45 /Eth put dup 8#46 /eth put dup 8#47 /Thorn put dup 8#50 /thorn put dup 8#51 /brokenbar put dup 8#52 /degree put dup 8#53 /divide put dup 8#54 /multiply put dup 8#55 /minus put dup 8#56 /onehalf put dup 8#57 /onequarter put dup 8#60 /threequarters put dup 8#101 /Aacute put dup 8#102 /Acircumflex put dup 8#103 /Adieresis put dup 8#104 /Agrave put dup 8#105 /Aring put dup 8#106 /Atilde put dup 8#107 /Ccedilla put dup 8#110 /Eacute put dup 8#111 /Ecircumflex put dup 8#112 /Edieresis put dup 8#113 /Egrave put dup 8#114 /Iacute put dup 8#115 /Icircumflex put dup 8#116 /Idieresis put dup 8#117 /Igrave put dup 8#120 /Ntilde put dup 8#121 /Oacute put dup 8#122 /Ocircumflex put dup 8#123 /Odieresis put dup 8#124 /Ograve put dup 8#125 /Otilde put dup 8#126 /Scaron put dup 8#127 /Uacute put dup 8#130 /Ucircumflex put dup 8#131 /Udieresis put dup 8#132 /Ugrave put dup 8#133 /Ydieresis put dup 8#134 /Zcaron put dup 8#135 /aacute put dup 8#136 /acircumflex put dup 8#137 /adieresis put dup 8#140 /agrave put dup 8#141 /aring put dup 8#142 /atilde put dup 8#143 /ccedilla put dup 8#144 /eacute put dup 8#145 /ecircumflex put dup 8#146 /edieresis put dup 8#147 /egrave put dup 8#150 /iacute put dup 8#151 /icircumflex put dup 8#152 /idieresis put dup 8#153 /igrave put dup 8#154 /ntilde put dup 8#155 /oacute put dup 8#156 /ocircumflex put dup 8#157 /odieresis put dup 8#160 /ograve put dup 8#161 /otilde put dup 8#162 /scaron put dup 8#163 /uacute put dup 8#164 /ucircumflex put dup 8#165 /udieresis put dup 8#166 /ugrave put dup 8#167 /ydieresis put dup 8#170 /zcaron put pop /Enc-dict 30 dict def Enc-dict /tmpstr1 50 string put Enc-dict /tmpstr2 50 string put Enc-dict /tmpstr3 50 string dup (Encoding-) exch cvs pop put /AEnc-def { % arguments: the original font's name, encoding nr Enc-dict begin tmpstr2 cvs /Enc-no exch def % Remember the number in a string dup /OrigName exch def % remember the name findfont dup maxlength dict /newdict exch def % get dictionary for new font { exch dup /FID ne { exch newdict 3 1 roll put } { pop pop } % Ignore FID ifelse } forall newdict begin /Encoding tmpstr3 9 Enc-no putinterval tmpstr3 0 9 Enc-no length add getinterval cvn load def % Replace encoding currentdict /UniqueID known { /UniqueID UniqueID Enc-no cvi 49999 mul add def } if % Derive New UniqueID end % newdict /FNlength OrigName tmpstr1 cvs length def % convert name, remember length FNlength 1 add Enc-no length add string dup 0 OrigName tmpstr1 cvs putinterval dup FNlength (-) putinterval dup FNlength 1 add Enc-no putinterval dup 0 tmpstr1 0 FNlength getinterval putinterval % Add old name cvn dup newdict /FontName 3 2 roll put newdict definefont end % Enc-dict } def /Times-Bold 1 AEnc-def pop /B-1{/Times-Bold-1 FF}def %%EndProlog %%Page: 1 1 BP /slant 0 def /height 0 def 480 V 10 R 720(FLEX)S 981(\()S 1023(1)S 1081(\))S 2756(Version)S 3100(2.3)S 4866(FLEX)S 5127(\()S 5169(1)S 5227(\))S 960 V 9 R 720(N)S 722(NA)S 790(AM)S 858(ME)S 940(E)S 1080 V 10 R 1080(\257ex,)S 1281(lex)S 1429(-)S 1488(fast)S 1659(lexical)S 1953(analyzer)S 2320(generator)S 1248 V 9 R 720(S)S 722(SY)S 774(YN)S 842(NO)S 910(OP)S 978(PS)S 1030(SI)S 1082(IS)S 1115(S)S 1368 V 10 B 1080(\257ex)S ([-bcd\256npstvFILT8)801 1269 A 2108(-C[efmF])S 2546(-Sskeleton])S 10 I 3061([\256lename)S (...])114 3479 A 1536 V 9 R 720(D)S 722(DE)S 790(ES)S 848(SC)S 900(CR)S 962(RI)S 1024(IP)S 1057(PT)S 1109(TI)S 1167(IO)S 1200(ON)S 1268(N)S 1656 V 10 I 1080(\257ex)S 10 R 1246(is)S 1339(a)S 1410(tool)S 1592(for)S 1737(generating)S 10 I (scanners:)391 2189 A 10 R 2607(programs)S 3014(which)S (recognized)442 3287 A 3756(lexical)S 4052(patterns)S 4398(in)S 4503(text.)S 10 I 4731(\257ex)S 10 R 4898(reads)S 5138(the)S 1776 V 1080(given)S (input)206 1334 A 1571(\256les,)S 1795(or)S 1910(its)S 2036(standard)S (input)206 2408 A 2645(if)S 2738(no)S 2869(\256le)S 3028(names)S 3315(are)S 3469(given,)S 3747(for)S 3895(a)S 3970(description)S 4447(of)S 4561(a)S 4636(scanner)S 4974(to)S 5082(gen-)S 1896 V 1080(erate.)S 1356(The)S 1542(description)S 2018(is)S 2114(in)S 2221(the)S 2373(form)S 2599(of)S 2713(pairs)S 2939(of)S 3053(regular)S 3369(expressions)S 3868(and)S 4043(C)S 4140(code,)S 4385(called)S 10 I 4656(rules.)S 4912(\257ex)S 10 R 5082(gen-)S 2016 V 1080(erates)S 1355(as)S 1478(output)S 1773(a)S 1857(C)S 1963(source)S 2265(\256le,)S 10 B 2458(lex.yy.c,)S 10 R 2840(which)S 3125(de\256nes)S 3449(a)S 3533(routine)S 10 B 3857(yylex\(\).)S 10 R 4212(This)S 4430(\256le)S 4598(is)S 4704(compiled)S 5116(and)S 2136 V 1080(linked)S 1362(with)S 1572(the)S 10 B 1726(-l\257)S 10 R 1875(library)S 2175(to)S (produce)324 2285 A 2641(an)S 2768(executable.)S 3281(When)S 3553(the)S 3708(executable)S 4171(is)S 4270(run,)S 4461(it)S 4549(analyzes)S 4928(its)S (input)206 5055 A 2256 V 1080(for)S 1239(occurrences)S 1762(of)S 1887(the)S 2051(regular)S 2378(expressions.)S 2938(Whenever)S 3392(it)S 3488(\256nds)S 3723(one,)S 3933(it)S 4029(executes)S 4416(the)S (corresponding)575 4579 A 5194(C)S 2376 V 1080(code.)S 2544 V 1080(For)S 1245(full)S 1410(documentation,)S 2057(see)S 10 B 2211(\257exdoc\(1\).)S 10 R 2681(This)S 2885(manual)S 3206(entry)S 3438(is)S 3530(intended)S 3901(for)S 4044(use)S 4203(as)S 4312(a)S 4382(quick)S 4630(reference.)S 2712 V 9 R 720(O)S 722(OP)S 790(PT)S 842(TI)S 900(IO)S 933(ON)S 1001(NS)S 1069(S)S 2832 V 10 I 1080(\257ex)S 10 R 1245(has)S 1404(the)S 1552(following)S 1968(options:)S 3000 V 10 B 1080(-b)S 10 R 1440(Generate)S 1850(backtracking)S 2415(information)S 2935(to)S 10 I 3058(lex.backtrack.)S 10 R 3668(This)S 3892(is)S 4004(a)S 4094(list)S 4262(of)S 4391(scanner)S 4745(states)S 5015(which)S 3120 V 1440(require)S 1760(backtracking)S 2314(and)S 2493(the)S (input)206 2650 A 2890(characters)S 3334(on)S 3468(which)S 3747(they)S 3953(do)S 4086(so.)S 4258(By)S 4408(adding)S 4714(rules)S 4943(one)S 5121(can)S 3240 V 1440(remove)S 1773(backtracking)S 2324(states.)S 2629(If)S 2728(all)S 2860(backtracking)S 3411(states)S 3666(are)S 3821(eliminated)S 4277(and)S 10 B 4454(-f)S 10 R 4554(or)S 10 B 4670(-F)S 10 R 4798(is)S 4897(used,)S 5138(the)S 3360 V 1440(generated)S 1857(scanner)S (will)157 2190 A 2372(run)S 2531(faster.)S 3528 V 10 B 1080(-c)S 10 R 1440(is)S 1532(a)S 1602(do-nothing,)S (deprecated)437 2092 A 2554(option)S 2835(included)S 3206(for)S 3349(POSIX)S 3666(compliance.)S 3696 V 10 B 1440(NOTE:)S 10 R 1787(in)S 1893(previous)S 2267(releases)S 2615(of)S 10 I 2727(flex)S 10 B 2901(-c)S 10 R 3008(specified)S 3400(table-compression)S 4166(options.)S 4539(This)S (functionality)514 4747 A 3816 V 1440(is)S 1535(now)S 1736(given)S 1987(by)S 2114(the)S 10 B 2264(-C)S 10 R 2398(flag.)S 2632(To)S 2771(ease)S 2972(the)S 3122(the)S 3272(impact)S 3573(of)S 3684(this)S 3856(change,)S 4193(when)S 10 I 4438(flex)S 10 R (encounters)436 4611 A 10 B 5074(-c,)S 10 R 5205(it)S 3936 V 1440(currently)S 1829(issues)S 2094(a)S 2164(warning)S 2520(message)S 2887(and)S 3058(assumes)S 3419(that)S 10 B 3596(-C)S 10 R 3729(was)S 3912(desired)S 4229(instead.)S 4590(In)S 4700(the)S 4849(future)S 5116(this)S 4056 V 1440("promotion")S 1984(of)S 10 B 2112(-c)S 10 R 2235(to)S 10 B 2357(-C)S 10 R (will)157 2508 A 2709(go)S 2853(away)S 3110(in)S 3231(the)S 3397(name)S 3658(of)S 3785(full)S 3968(POSIX)S 4303(compliance)S 4810(\(unless)S 5138(the)S 4176 V 1440(POSIX)S 1757(meaning)S 2128(is)S 2220(removed)S 2597(first\).)S 4344 V 10 B 1080(-d)S 10 R 1440(makes)S 1732(the)S 1890(generated)S 2317(scanner)S 2660(run)S 2829(in)S 10 I (debug)245 2942 A 10 R 3222(mode.)S 3530(Whenever)S 3979(a)S 4060(pattern)S 4376(is)S (recognized)442 4479 A 4957(and)S 5138(the)S 4464 V 1440(global)S 10 B (yy_\257ex_debug)614 1719 A 10 R 2361(is)S (non-zero)358 2456 A 2842(\(which)S 3150(is)S 3245(the)S 3396(default\),)S 3762(the)S 3912(scanner)S (will)157 4247 A 4431(write)S 4666(to)S 10 I 4771(stderr)S 10 R 5038(a)S 5110(line)S 4584 V 1440(of)S 1549(the)S 1697(form:)S 4824 V (--accepting)454 1540 A 2019(rule)S 2201(at)S 2299(line)S 2475(53)S 2600(\("the)S 2823(matched)S 3189(text"\))S 5064 V 1440(The)S 1628(line)S 1810(number)S 2148(refers)S 2410(to)S 2519(the)S 2673(location)S 3028(of)S 3143(the)S 3297(rule)S 3485(in)S 3594(the)S 3748(\256le)S 3908(de\256ning)S 4268(the)S 4423(scanner)S 4763(\(i.e.,)S 4977(the)S 5132(\256le)S 5184 V 1440(that)S 1626(was)S 1817(fed)S 1980(to)S 2092(\257ex\).)S 2361(Messages)S 2786(are)S 2944(also)S 3140(generated)S 3566(when)S 3818(the)S 3975(scanner)S 4317(backtracks,)S (accepts)297 4807 A 5138(the)S 5304 V 1440(default)S 1745(rule,)S (reaches)303 1952 A 2280(the)S 2428(end)S 2598(of)S 2707(its)S (input)206 2827 A 3058(buffer)S 3330(\(or)S (encounters)436 3473 A 3934(a)S 4004(NUL;)S 4265(the)S 4414(two)S (look)178 4591 A 4795(the)S 4944(same)S 5177(as)S 5424 V 1440(far)S 1578(as)S 1687(the)S 1835(scanner's)S 2241(concerned\),)S 2739(or)S (reaches)303 2848 A 3176(an)S 3296(end-of-\256le.)S 5592 V 10 B 1080(-f)S 10 R 1440(speci\256es)S 1817(\(take)S (your)184 2049 A 2263(pick\))S 10 I 2500(full)S 2664(table)S 10 R 2895(or)S 10 I 3009(fast)S (scanner.)343 3184 A 10 R 3557(No)S 3710(table)S 3936(compression)S 4475(is)S (done.)220 4573 A 4849(The)S 5037(result)S 5712 V 1440(is)S 1532(large)S 1759(but)S 1912(fast.)S 2133(This)S 2337(option)S 2618(is)S 2710(equivalent)S 3154(to)S 10 B 3257(-Cf)S 10 R 3423(\(see)S 3611(below\).)S 5880 V 10 B 1080(-i)S 10 R 1440(instructs)S 10 I 1810(\257ex)S 10 R 1979(to)S 2086(generate)S 2458(a)S 10 I (case-insensitive)638 2533 A 10 R 3201(scanner.)S 3589(The)S 3776(case)S 3980(of)S 4094(letters)S 4371(given)S 4624(in)S 4732(the)S 10 I 4885(\257ex)S 10 R (input)206 5055 A 6000 V 1440(patterns)S (will)157 1802 A 2002(be)S (ignored,)332 2140 A 2515(and)S 2703(tokens)S 3008(in)S 3129(the)S (input)206 3294 A (will)157 3542 A 3741(be)S 3878(matched)S 4261(regardless)S 4712(of)S 4838(case.)S 5104(The)S 6120 V 1440(matched)S 1806(text)S 1982(given)S 2230(in)S 10 I 2333(yytext)S 10 R (will)157 2594 A 2776(have)S 2991(the)S 3139(preserved)S 3556(case)S 3755(\(i.e.,)S 3962(it)S (will)157 4043 A 4225(not)S 4378(be)S 4498(folded\).)S 6288 V 10 B 1080(-n)S 10 R 1440(is)S 1532(another)S 1859(do-nothing,)S (deprecated)437 2349 A 2811(option)S 3092(included)S 3463(only)S 3666(for)S 3809(POSIX)S 4126(compliance.)S 6456 V 10 B 1080(-p)S 10 R 1440(generates)S 1851(a)S 1926(performance)S 2466(report)S 2737(to)S 2845(stderr.)S 3156(The)S 3344(report)S 3616(consists)S 3965(of)S 4080(comments)S 4524(regarding)S 4941(features)S 6576 V 1440(of)S 1549(the)S 10 I 1697(\257ex)S 10 R (input)206 1862 A 2093(\256le)S 2247(which)S (will)157 2518 A 2700(cause)S 2949(a)S 3019(loss)S 3200(of)S 3309(performance)S 3844(in)S 3947(the)S (resulting)352 4095 A 4472(scanner.)S 6744 V 10 B 1080(-s)S 10 R 1440(causes)S 1730(the)S 10 I 1880(default)S 2186(rule)S 10 R 2375(\(that)S 2587(unmatched)S 3055(scanner)S (input)206 3390 A 3624(is)S 3719(echoed)S 4032(to)S 10 I (stdout\))279 4138 A 10 R 4445(to)S 4551(be)S (suppressed.)466 4674 A 5193(If)S 6864 V 1440(the)S 1588(scanner)S (encounters)436 1921 A (input)206 2382 A 2613(that)S 2789(does)S 2998(not)S 3151(match)S 3422(any)S 3592(of)S 3701(its)S 3821(rules,)S 4067(it)S 4148(aborts)S 4419(with)S 4623(an)S 4743(error.)S 7032 V 10 B 1080(-t)S 10 R 1440(instructs)S 10 I 1806(\257ex)S 10 R 1971(to)S 2074(write)S 2307(the)S 2455(scanner)S 2788(it)S 2869(generates)S 3275(to)S 3378(standard)S 3744(output)S 4025(instead)S 4335(of)S 10 B 4444(lex.yy.c.)S 7200 V 1080(-v)S 10 R 1440(speci\256es)S 1819(that)S 10 I 2002(\257ex)S 10 R (should)267 2174 A 2473(write)S 2713(to)S 10 I 2823(stderr)S 10 R 3095(a)S 3173(summary)S 3580(of)S 3697(statistics)S 4077(regarding)S 4496(the)S 4652(scanner)S 4993(it)S 5082(gen-)S 7320 V 1440(erates.)S 7903 V 720(Page)S 941(1)S 2681(\()S 2723(26)S 2848(May)S (1990)200 3057 A 3265(\))S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Page: 2 2 BP /slant 0 def /height 0 def 480 V 10 R 720(FLEX)S 981(\()S 1023(1)S 1081(\))S 2756(Version)S 3100(2.3)S 4866(FLEX)S 5127(\()S 5169(1)S 5227(\))S 960 V 10 B 1080(-F)S 10 R 1440(speci\256es)S 1813(that)S 1990(the)S 10 I 2139(fast)S 10 R 2310(scanner)S 2644(table)S 2866(representation)S (should)267 3463 A 3757(be)S 3879(used.)S 4140(This)S 4346(representation)S 4944(is)S (about)223 5038 A 1080 V 1440(as)S 1556(fast)S 1734(as)S 1849(the)S 2003(full)S 2174(table)S 2401(representation)S 3003(\()S 10 B-1 3037(-)S 10 B 3094(f)S 10 R 3128(\),)S 3218(and)S 3394(for)S 3543(some)S 3786(sets)S 3968(of)S 4083(patterns)S (will)157 4433 A 4621(be)S 4747(considerably)S 1200 V 1440(smaller)S 1762(\(and)S 1966(for)S 2109(others,)S 2405(larger\).)S 2750(See)S 10 B 2921(\257exdoc\(1\))S 10 R 3366(for)S 3509(details.)S 1368 V 1440(This)S 1644(option)S 1925(is)S 2017(equivalent)S 2461(to)S 10 B 2564(-CF)S 10 R 2758(\(see)S 2946(below\).)S 1536 V 10 B 1080(-I)S 10 R 1440(instructs)S 10 I 1820(\257ex)S 10 R 1999(to)S 2116(generate)S 2497(an)S 10 I 2631(interactive)S 10 R 3101(scanner,)S 3473(that)S 3663(is,)S 3794(a)S 3878(scanner)S 4226(which)S 4512(stops)S 4758(immediately)S 1656 V 1440(rather)S 1704(than)S (looking)306 1905 A 2239(ahead)S 2502(if)S 2592(it)S (knows)262 2676 A 2966(that)S 3145(the)S 3296(currently)S 3688(scanned)S 4040(text)S (cannot)268 4219 A 4515(be)S 4637(part)S 4821(of)S 4932(a)S (longer)257 5004 A 1776 V 1440(rule's)S 1695(match.)S 2016(Again,)S 2312(see)S 10 B 2466(\257exdoc\(1\))S 10 R 2911(for)S 3054(details.)S 1944 V 1440(Note,)S 10 B 1686(-I)S 10 R (cannot)268 1784 A 2077(be)S 2197(used)S 2406(in)S 2509(conjunction)S 3008(with)S 10 I 3212(full)S 10 R 3371(or)S 10 I 3480(fast)S 3650(tables,)S 10 R 3940(i.e.,)S 4113(the)S 10 B 4261(-f,)S 4379(-F,)S 4525(-Cf,)S 10 R 4716(or)S 10 B 4825(-CF)S 10 R 5019(flags.)S 2112 V 10 B 1080(-L)S 10 R 1440(instructs)S 10 I 1809(\257ex)S 10 R 1977(not)S 2133(to)S 2239(generate)S 10 B 2609(#line)S 10 R 2844(directives)S 3264(in)S 10 B 3371(lex.yy.c.)S 10 R 3743(The)S 3929(default)S 4238(is)S 4334(to)S 4441(generate)S 4812(such)S 5025(direc-)S 2232 V 1440(tives)S 1659(so)S 1777(error)S 2003(messages)S 2412(in)S 2519(the)S 2671(actions)S (will)157 2985 A 3171(be)S 3295(correctly)S 3683(located)S 4002(with)S 4209(respect)S 4523(to)S 4629(the)S 4780(original)S 10 I 5121(\257ex)S 2352 V 10 R (input)206 1440 A 1671(\256le,)S 1850(and)S 2020(not)S 2173(to)S 2276(the)S 2424(fairly)S 2668(meaningless)S 3190(line)S 3366(numbers)S 3737(of)S 10 B 3846(lex.yy.c.)S 2520 V 1080(-T)S 10 R 1440(makes)S 10 I 1724(\257ex)S 10 R 1891(run)S 2052(in)S 10 I 2157(trace)S 10 R 2391(mode.)S 2691(It)S (will)157 2780 A 2964(generate)S 3333(a)S 3406(lot)S 3540(of)S 3652(messages)S 4060(to)S 10 I (stdout)245 4166 A 10 R 4439(concerning)S 4914(the)S 5065(form)S 2640 V 1440(of)S 1554(the)S (input)206 1707 A 1943(and)S 2117(the)S 2269(resultant)S (non-deterministic)710 2645 A 3384(and)S 3558(deterministic)S 4113(\256nite)S 4349(automata.)S 4797(This)S 5005(option)S 2760 V 1440(is)S 1532(mostly)S 1830(for)S 1973(use)S 2132(in)S 2235(maintaining)S 10 I 2740(\257ex.)S 2928 V 10 B 1080(-8)S 10 R 1440(instructs)S 10 I 1815(\257ex)S 10 R 1989(to)S 2101(generate)S 2477(an)S 2607(8-bit)S 2832(scanner.)S 3225(On)S 3383(some)S 3630(sites,)S 3869(this)S 4049(is)S 4151(the)S 4309(default.)S 4674(On)S 4832(others,)S 5138(the)S 3048 V 1440(default)S 1771(is)S 1888(7-bit)S 2128(characters.)S 2638(To)S 2800(see)S 2979(which)S 3275(is)S 3392(the)S 3565(case,)S 3814(check)S 4099(the)S 4272(verbose)S 10 B 4635(\(-v\))S 10 R 4837(output)S 5143(for)S 3168 V 1440("equivalence)S 1988(classes)S 2294(created".)S 2703(If)S 2797(the)S 2946(denominator)S 3480(of)S 3590(the)S 3739(number)S 4072(shown)S 4360(is)S (128,)175 4453 A 4654(then)S 4854(by)S 4981(default)S 3288 V 10 I 1440(\257ex)S 10 R 1605(is)S 1697(generating)S 2147(7-bit)S 2362(characters.)S 2847(If)S 2940(it)S 3021(is)S (256,)175 3113 A 3313(then)S 3511(the)S 3659(default)S 3964(is)S 4056(8-bit)S 4271(characters.)S 3456 V 10 B 1080(-C[efmF])S 3576 V 10 R 1440(controls)S 1789(the)S 1937(degree)S 2231(of)S 2340(table)S 2561(compression.)S 3744 V 10 B 1440(-Ce)S 10 R 1625(directs)S 10 I 1927(flex)S 10 R 2107(to)S 2219(construct)S 10 I 2622(equivalence)S 3137(classes,)S 10 R 3481(i.e.,)S 3663(sets)S 3848(of)S 3966(characters)S 4410(which)S 4690(have)S 4914(identical)S 3864 V 1440(lexical)S 1779(properties.)S 2302(Equivalence)S 2870(classes)S 3220(usually)S 3580(give)S 3823(dramatic)S 4246(reductions)S 4735(in)S 4883(the)S 5076(final)S 3984 V 1440(table/object)S 1944(file)S 2114(sizes)S 2345(\(typically)S 2766(a)S 2846(factor)S 3117(of)S 3236(2-5\))S 3439(and)S 3619(are)S 3778(pretty)S 4048(cheap)S 4318(performance-wise)S 5082(\(one)S 4104 V 1440(array)S (look-up)312 1673 A 2010(per)S 2164(character)S 2560(scanned\).)S 4272 V 10 B 1440(-Cf)S 10 R 1617(specifies)S 2006(that)S 2193(the)S 10 I 2352(full)S 10 R 2522(scanner)S 2866(tables)S (should)267 3137 A 3440(be)S 3571(generated)S 3999(-)S 10 I 4069(flex)S 10 R (should)267 4252 A 4556(not)S 4721(compress)S 5138(the)S 4392 V 1440(tables)S 1700(by)S 1825(taking)S 2101(advantages)S 2573(of)S 2682(similar)S (transition)380 2987 A 3392(functions)S 3791(for)S 3934(different)S 4307(states.)S 4560 V 10 B 1440(-CF)S 10 R 1636(specifies)S 2016(that)S 2194(the)S 2344(alternate)S 2720(fast)S 2894(scanner)S 3230(representation)S 3829(\(described)S 4277(in)S 10 B 4383(flexdoc\(1\)\))S 10 R (should)267 4871 A 5166(be)S 4680 V 1440(used.)S 4848 V 10 B 1440(-Cm)S 10 R 1662(directs)S 10 I 1962(flex)S 10 R 2139(to)S 2249(construct)S 10 I 2650(meta-equivalence)S 3393(classes,)S 10 R 3735(which)S 4013(are)S 4169(sets)S 4352(of)S 4468(equivalence)S 4981(classes)S 4968 V 1440(\(or)S 1598(characters,)S 2073(if)S 2174(equivalence)S 2694(classes)S 3013(are)S 3176(not)S 3343(being)S 3605(used\))S 3862(that)S 4052(are)S 4215(commonly)S 4683(used)S 4906(together.)S 5088 V 1440(Meta-equivalence)S 2194(classes)S 2506(are)S 2662(often)S 2901(a)S 2979(big)S 3140(win)S 3324(when)S 3575(using)S 3825(compressed)S 4333(tables,)S 4626(but)S 4787(they)S 4993(have)S 5216(a)S 5208 V 1440(moderate)S 1863(performance)S 2421(impact)S 2743(\(one)S 2970(or)S 3101(two)S 3299("if")S 3490(tests)S 3716(and)S 3908(one)S 4100(array)S (look-up)312 4355 A 4714(per)S 4890(character)S 5328 V 1440(scanned\).)S 5496 V 1440(A)S 1557(lone)S 10 B 1774(-C)S 10 R 1925(specifies)S 2322(that)S 2517(the)S 2684(scanner)S 3036(tables)S (should)267 3315 A 3626(be)S 3765(compressed)S 4284(but)S 4456(neither)S 4780(equivalence)S 5616 V 1440(classes)S 1745(nor)S 1904(meta-equivalence)S 2640(classes)S (should)267 2945 A 3237(be)S 3357(used.)S 5784 V 1440(The)S 1635(options)S 10 B 1968(-Cf)S 10 R 2147(or)S 10 B 2269(-CF)S 10 R 2476(and)S 10 B 2659(-Cm)S 10 R 2888(do)S 3027(not)S 3194(make)S 3451(sense)S 3708(together)S 4077(-)S 4150(there)S 4391(is)S 4497(no)S (opportunity)468 4636 A 5143(for)S 5904 V 1440(meta-equivalence)S 2183(classes)S 2495(if)S 2588(the)S 2742(table)S 2969(is)S 3067(not)S 3226(being)S 3480(compressed.)S 4036(Otherwise)S 4482(the)S 4636(options)S 4962(may)S 5166(be)S 6024 V 1440(freely)S 1701(mixed.)S 6192 V 1440(The)S 1626(default)S (setting)268 1935 A 2232(is)S 10 B 2328(-Cem,)S 10 R 2618(which)S 2893(specifies)S 3275(that)S 10 I 3455(flex)S 10 R (should)267 3630 A 3926(generate)S 4297(equivalence)S 4807(classes)S 5116(and)S 6312 V 1440(meta-equivalence)S 2178(classes.)S 2535(This)S (setting)268 2741 A 3036(provides)S 3409(the)S 3559(highest)S 3876(degree)S 4172(of)S 4282(table)S 4504(compression.)S 5088(You)S 6432 V 1440(can)S 1607(trade)S 1836(off)S 1981(faster-executing)S 2658(scanners)S 3032(at)S 3132(the)S 3282(cost)S 3471(of)S 3582(larger)S 3846(tables)S 4109(with)S 4316(the)S 4467(following)S 4886(generally)S 6552 V 1440(being)S 1688(true:)S 6792 V 1540(slowest)S 1867(&)S 1970(smallest)S 6912 V 1690(-Cem)S 7032 V 1690(-Cm)S 7152 V 1690(-Ce)S 7272 V 1690(-C)S 7392 V 1690(-C{f,F}e)S 7512 V 1690(-C{f,F})S 7903 V 720(September)S 1176(13,)S (1996)200 1326 A 2681(\()S 2723(26)S 2848(May)S (1990)200 3057 A 3265(\))S 4990(Page)S 5211(2)S 8143 V EP %%Page: 3 3 BP /slant 0 def /height 0 def 480 V 10 R 720(FLEX)S 981(\()S 1023(1)S 1081(\))S 2756(Version)S 3100(2.3)S 4866(FLEX)S 5127(\()S 5169(1)S 5227(\))S 960 V 1540(fastest)S 1823(&)S 1926(largest)S 1248 V 10 B 1440(-C)S 10 R 1578(options)S 1904(are)S 2059(not)S 2218(cumulative;)S 2724(whenever)S 3147(the)S 3301(flag)S 3489(is)S (encountered,)517 3587 A 4135(the)S 4289(previous)S 4666(-C)S (settings)307 4798 A 5137(are)S 1368 V 1440(forgotten.)S 1536 V 10 B 1080(-Sskeleton_file)S 1656 V 10 R 1440(overrides)S 1847(the)S 2002(default)S 2314(skeleton)S 2681(\256le)S 2842(from)S 3070(which)S 10 I 3348(\257ex)S 10 R 3520(constructs)S 3960(its)S 4088(scanners.)S 4518(You'll)S 4814(never)S 5071(need)S 1776 V 1440(this)S 1610(option)S 1891(unless)S (you)150 2167 A 2342(are)S 2491(doing)S 10 I 2744(\257ex)S 10 R 2909(maintenance)S 3443(or)S 3552(development.)S 1944 V 9 R 720(S)S 722(SU)S 774(UM)S 842(MM)S 924(MA)S 1006(AR)S 1074(RY)S 1136(Y)S 1242(O)S 1244(OF)S 1312(F)S 1402(F)S 1404(FL)S 1456(LE)S 1514(EX)S 1572(X)S 1678(R)S 1680(RE)S 1742(EG)S 1800(GU)S 1868(UL)S 1936(LA)S 1994(AR)S 2062(R)S 2162(E)S 2164(EX)S 2222(XP)S 2290(PR)S 2342(RE)S 2404(ES)S 2462(SS)S 2514(SI)S 2566(IO)S 2599(ON)S 2667(NS)S 2735(S)S 2064 V 10 R 1080(The)S 1262(patterns)S 1606(in)S 1709(the)S (input)206 1857 A 2088(are)S (written)286 2237 A 2548(using)S 2790(an)S 2910(extended)S 3298(set)S 3435(of)S 3544(regular)S 3855(expressions.)S 4399(These)S 4665(are:)S 2304 V 1180(x)S 1480(match)S 1751(the)S 1899(character)S 2295('x')S 2424 V 1180(.)S 1455(any)S 1625(character)S 2021(except)S 2309(newline)S 2544 V 1180([xyz])S 1543(a)S 1613("character)S 2050(class";)S 2340(in)S 2443(this)S 2613(case,)S 2837(the)S 2985(pattern)S 2664 V 1505(matches)S 1860(either)S 2115(an)S 2235('x',)S 2403(a)S 2473('y',)S 2641(or)S 2750(a)S 2820('z')S 2784 V 1180([abj-oZ])S 1592(a)S 1662("character)S 2099(class")S 2361(with)S 2565(a)S 2635(range)S 2884(in)S (it;)84 2987 A 3096(matches)S 2904 V 1505(an)S 1625('a',)S 1788(a)S 1858('b',)S 2026(any)S 2196(letter)S 2429(from)S 2650('j')S (through)312 2771 A 3108('o',)S 3024 V 1505(or)S 1614(a)S 1684('Z')S 3144 V 1180([\303A-Z])S 1576(a)S 1646("negated)S 2025(character)S 2421(class",)S 2708(i.e.,)S 2881(any)S 3051(character)S 3264 V 1505(but)S 1658(those)S 1895(in)S 1998(the)S 2146(class.)S 2417(In)S 2526(this)S 2696(case,)S 2920(any)S 3384 V 1505(character)S 1901(EXCEPT)S 2308(an)S (uppercase)403 2428 A 2856(letter.)S 3504 V 1180([\303A-Z\\n])S 1604(any)S 1774(character)S 2170(EXCEPT)S 2577(an)S (uppercase)403 2697 A 3125(letter)S 3358(or)S 3624 V 1505(a)S 1575(newline)S 3744 V 1180(r*)S 1489(zero)S 1688(or)S 1797(more)S 2029(r's,)S 2186(where)S 2458(r)S 2517(is)S 2609(any)S 2779(regular)S 3090(expression)S 3864 V 1180(r+)S 1496(one)S 1666(or)S 1775(more)S 2007(r's)S 3984 V 1180(r?)S 1484(zero)S 1683(or)S 1792(one)S 1962(r's)S 2094(\(that)S 2304(is,)S 2421("an)S 2582(optional)S 2936(r"\))S 4104 V 1180(r{2,5})S 1560(anywhere)S 1977(from)S 2198(two)S 2374(to)S 2477(\256ve)S 2653(r's)S 4224 V 1180(r{2,})S 1535(two)S 1711(or)S 1820(more)S 2052(r's)S 4344 V 1180(r{4})S 1535(exactly)S 1851(4)S 1926(r's)S 4464 V 1180({name})S 1619(the)S 1767(expansion)S 2199(of)S 2308(the)S 2456("name")S (de\256nition)385 2781 A 4584 V 1455(\(see)S (above\))274 1643 A 4704 V 1180("[xyz]\\"foo")S 4824 V 1455(the)S (literal)236 1603 A 1864(string:)S 2146([xyz]"foo)S 4944 V 1180(\\X)S 1506(if)S 1593(X)S 1691(is)S 1783(an)S 1903('a',)S 2066('b',)S ('f',)127 2234 A 2386('n',)S ('r',)127 2554 A 2706('t',)S 2852(or)S 2961('v',)S 5064 V 1505(then)S 1703(the)S 1851(ANSI-C)S 2213(interpretation)S 2781(of)S 2890(\\x.)S 5184 V 1505(Otherwise,)S 1970(a)S (literal)236 2040 A 2301('X')S 2467(\(used)S 2710(to)S 2813(escape)S 5304 V 1505(operators)S 1905(such)S 2114(as)S 2223('*'\))S 5424 V (\\123)178 1180 A 1533(the)S 1681(character)S 2077(with)S 2281(octal)S 2502(value)S (123)150 2745 A 5544 V 1180(\\x2a)S 1528(the)S 1676(character)S 2072(with)S 2276(hexadecimal)S 2810(value)S 3053(2a)S 5664 V (\(r\))102 1180 A 1482(match)S 1753(an)S 1873(r;)S 1960(parentheses)S 2455(are)S 2604(used)S 2813(to)S 2916(override)S 5784 V (precedence)454 1505 A 1984(\(see)S 2172(below\))S 6144 V 1180(rs)S 1478(the)S 1626(regular)S 1937(expression)S 2392(r)S 2451(followed)S 2834(by)S 2959(the)S 6264 V 1505(regular)S 1816(expression)S 2271(s;)S 2363(called)S 2629("concatenation")S 6624 V 1180(r|s)S 1473(either)S 1728(an)S 1848(r)S 1907(or)S 2016(an)S 2136(s)S 6984 V 1180(r/s)S 1481(an)S 1601(r)S 1660(but)S 1813(only)S 2016(if)S 2103(it)S 2184(is)S 2276(followed)S 2659(by)S 2784(an)S 2904(s.)S 3018(The)S 7104 V 1505(s)S 1569(is)S 1661(not)S 1814(part)S 1996(of)S 2105(the)S 2253(matched)S 2619(text.)S 2845(This)S 3049(type)S 7224 V 1505(of)S 1614(pattern)S 1919(is)S 2011(called)S 2277(as)S ("trailing)332 2386 A 2743(context".)S 7344 V 1180(\303r)S 1473(an)S 1593(r,)S 1677(but)S 1830(only)S 2033(at)S 2131(the)S 2279(beginning)S 2705(of)S 2814(a)S 2884(line)S 7464 V 1180(r$)S 1489(an)S 1609(r,)S 1693(but)S 1846(only)S 2049(at)S 2147(the)S 2295(end)S 2465(of)S 2574(a)S 2644(line.)S 2870(Equivalent)S 7903 V 720(Page)S 941(3)S 2681(\()S 2723(26)S 2848(May)S (1990)200 3057 A 3265(\))S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Page: 4 4 BP /slant 0 def /height 0 def 480 V 10 R 720(FLEX)S 981(\()S 1023(1)S 1081(\))S 2756(Version)S 3100(2.3)S 4866(FLEX)S 5127(\()S 5169(1)S 5227(\))S 960 V 1505(to)S 1608("r/\\n".)S 1320 V 1180(r)S 1542(an)S 1662(r,)S 1746(but)S 1899(only)S 2102(in)S 2205(start)S (condition)379 2404 A 2808(s)S 2872(\(see)S 1440 V 1455(below)S 1726(for)S 1869(discussion)S 2312(of)S 2421(start)S (conditions\))452 2620 A 1560 V 1180(r)S 1680 V 1455(same,)S 1712(but)S 1865(in)S 1968(any)S 2138(of)S 2247(start)S (conditions)418 2446 A 2889(s1,)S 1800 V 1455(s2,)S 1594(or)S 1703(s3)S 2160 V 1180(<>)S 1699(an)S 1819(end-of-\256le)S 2280 V (<>)736 1180 A 2400 V 1455(an)S 1575(end-of-\256le)S 2026(when)S 2269(in)S 2372(start)S (condition)379 2571 A 2975(s1)S 3089(or)S 3198(s2)S 2640 V 1080(The)S 1267(regular)S 1583(expressions)S 2082(listed)S (above)240 2330 A 2600(are)S (grouped)329 2754 A (according)397 3113 A 3540(to)S (precedence,)479 3648 A 4157(from)S 4383(highest)S (precedence)454 4703 A 5188(at)S 2760 V 1080(the)S 1228(top)S 1381(to)S 1484(lowest)S 1772(at)S 1870(the)S 2018(bottom.)S 2377(Those)S (grouped)329 2648 A 3002(together)S 3357(have)S 3572(equal)S (precedence.)479 3815 A 2928 V 1080(Some)S 1334(notes)S 1571(on)S 1696(patterns:)S 3096 V 1080(-)S 1440(Negated)S 1813(character)S 2221(classes)S 10 I 2539(match)S 2823(newlines)S 10 R 3213(unless)S 3502("\\n")S 3700(\(or)S 3856(an)S 3989(equivalent)S 4446(escape)S 4753(sequence\))S 5194(is)S 3216 V 1440(one)S 1610(of)S 1719(the)S 1867(characters)S (explicitly)380 2302 A 2707(present)S 3023(in)S 3126(the)S 3274(negated)S 3612(character)S 4008(class)S 4229(\(e.g.,)S 4458("[\303A-Z\\n]"\).)S 3384 V 1080(-)S 1440(A)S 1544(rule)S 1732(can)S 1903(have)S 2124(at)S 2228(most)S 2454(one)S 2631(instance)S 2993(of)S (trailing)291 3109 A 3432(context)S 3760(\(the)S 3949('/')S 4077(operator)S 4445(or)S 4561(the)S 4716('$')S 4866(operator\).)S 3504 V 1440(The)S 1626(start)S (condition,)404 1828 A ('\303',)127 2260 A 2415(and)S 2588("<>")S 3117(patterns)S 3464(can)S 3632(only)S 3838(occur)S 4090(at)S 4191(the)S 4342(beginning)S 4771(of)S 4883(a)S 4956(pattern,)S 3624 V 1440(and,)S 1642(as)S 1758(well)S 1964(as)S 2080(with)S 2291('/')S 2419(and)S 2596('$',)S (cannot)268 2772 A 3073(be)S (grouped)329 3201 A 3563(inside)S 3836(parentheses.)S 4389(The)S 4579(following)S 5003(are)S 5160(all)S 3744 V (illegal:)280 1440 A 3984 V 1540(foo/bar$)S 4104 V 1540(foo|\(bar$\))S 4224 V 1540(foo|\303bar)S 4344 V 1540(foobar)S 4632 V 9 R 720(S)S 722(SU)S 774(UM)S 842(MM)S 924(MA)S 1006(AR)S 1074(RY)S 1136(Y)S 1242(O)S 1244(OF)S 1312(F)S 1402(S)S 1404(SP)S 1456(PE)S 1508(EC)S 1566(CI)S 1628(IA)S 1661(AL)S 1729(L)S 1825(A)S 1827(AC)S 1895(CT)S 1957(TI)S 2015(IO)S 2048(ON)S 2116(NS)S 2184(S)S 4752 V 10 R 1080(In)S (addition)329 1189 A 1543(to)S 1646(arbitrary)S 2019(C)S 2111(code,)S 2351(the)S 2499(following)S 2915(can)S 3080(appear)S 3374(in)S 3477(actions:)S 4920 V 1080(-)S 10 B 1440(ECHO)S 10 R 1761(copies)S 2043(yytext)S 2319(to)S 2422(the)S 2570(scanner's)S 2976(output.)S 5088 V 1080(-)S 10 B 1440(BEGIN)S 10 R 1789(followed)S 2172(by)S 2297(the)S 2445(name)S 2688(of)S 2797(a)S 2867(start)S (condition)379 3067 A (places)252 3472 A 3750(the)S 3899(scanner)S 4233(in)S 4337(the)S (corresponding)575 4486 A 5087(start)S 5208 V (condition.)404 1440 A 5376 V 1080(-)S 10 B 1440(REJECT)S 10 R 1865(directs)S 2162(the)S 2313(scanner)S 2649(to)S (proceed)319 2755 A 3103(on)S 3232(to)S 3339(the)S ("second)320 3491 A 3840(best")S 4072(rule)S 4258(which)S 4533(matched)S 4903(the)S (input)206 5055 A 5496 V 1440(\(or)S 1586(a)S 1658(pre\256x)S 1920(of)S 2031(the)S (input\).)265 2181 A 10 B 2498(yytext)S 10 R 2788(and)S 10 B 2960(yyleng)S 10 R 3266(are)S 3417(set)S 3556(up)S 3683(appropriately.)S 4297(Note)S 4520(that)S 10 B 4698(REJECT)S 10 R 5122(is)S 5216(a)S 5616 V 1440(particularly)S 1956(expensive)S 2409(feature)S 2742(in)S 2872(terms)S 3148(scanner)S 3508(performance;)S 4098(if)S 4212(it)S 4320(is)S 4439(used)S 4675(in)S 10 I 4805(any)S 10 R 5002(of)S 5138(the)S 5736 V 1440(scanner's)S 1862(actions)S 2188(it)S (will)157 2285 A 2483(slow)S 2714(down)S 10 I 2977(all)S 10 R 3123(of)S 3247(the)S 3410(scanner's)S 3831(matching.)S 4295(Furthermore,)S 10 B 4864(REJECT)S 5856 V 10 R (cannot)268 1440 A 1733(be)S 1853(used)S 2062(with)S 2266(the)S 10 I 2414(-f)S 10 R 2501(or)S 10 I 2610(-F)S 10 R 2731(options.)S 6024 V 1440(Note)S 1669(also)S 1865(that)S 2050(unlike)S 2335(the)S 2492(other)S 2733(special)S 3047(actions,)S 10 B 3391(REJECT)S 10 R 3822(is)S 3923(a)S 10 I 4002(branch;)S 10 R 4354(code)S 4578(immediately)S 5115(fol-)S 6144 V 1440(lowing)S 1744(it)S 1825(in)S 1928(the)S 2076(action)S (will)157 2347 A 10 I 2529(not)S 10 R 2682(be)S 2802(executed.)S 6312 V 1080(-)S 10 B 1440(yymore\(\))S 10 R 1858(tells)S 2052(the)S 2202(scanner)S 2537(that)S 2715(the)S 2865(next)S 3065(time)S 3271(it)S 3354(matches)S 3711(a)S 3783(rule,)S 3992(the)S (corresponding)575 4142 A 4744(token)S (should)267 4994 A 6432 V 1440(be)S 10 I (appended)390 1560 A 10 R 1975(onto)S 2178(the)S 2326(current)S 2637(value)S 2880(of)S 10 B 2989(yytext)S 10 R 3277(rather)S 3538(than)S 3736(replacing)S 4136(it.)S 6600 V 1080(-)S 10 B 1440(yyless\(n\))S 10 R 1851(returns)S 2167(all)S 2305(but)S 2470(the)S 2630(\256rst)S 10 I 2824(n)S 10 R 2911(characters)S 3358(of)S 3479(the)S 3639(current)S 3962(token)S 4222(back)S 4449(to)S 4564(the)S (input)206 4724 A 4967(stream,)S 6720 V 1440(where)S 1720(they)S (will)157 1926 A 2116(be)S 2243(rescanned)S 2678(when)S 2928(the)S 3083(scanner)S (looks)217 3423 A 3672(for)S 3822(the)S 3977(next)S 4182(match.)S 10 B 4510(yytext)S 10 R 4805(and)S 10 B 4982(yyleng)S 6840 V 10 R 1440(are)S 1589(adjusted)S 1949(appropriately)S 2511(\(e.g.,)S 10 B 2740(yyleng)S 10 R (will)157 3044 A 3226(now)S 3424(be)S 3544(equal)S 3787(to)S 10 I 3890(n)S 10 R 3965(\).)S 7008 V 1080(-)S 10 B (unput\(c\))371 1440 A 10 R 1860(puts)S 2076(the)S 2248(character)S 10 I 2669(c)S 10 R 2764(back)S 3004(onto)S 3232(the)S (input)206 3405 A 3661(stream.)S 4030(It)S (will)157 4142 A 4349(be)S 4494(the)S 4667(next)S 4890(character)S 7128 V 1440(scanned.)S 7296 V 1080(-)S 10 B (input\(\))298 1440 A 10 R 1770(reads)S 2016(the)S 2172(next)S 2378(character)S 2782(from)S 3011(the)S (input)206 3167 A 3406(stream)S 3708(\(this)S 3920(routine)S 4238(is)S 4338(called)S 10 B (yyinput\(\))398 4612 A 10 R 5043(if)S 5138(the)S 7416 V 1440(scanner)S 1773(is)S 1865(compiled)S 2264(using)S 10 B 2506(C++\).)S 7903 V 10 R 720(September)S 1176(13,)S (1996)200 1326 A 2681(\()S 2723(26)S 2848(May)S (1990)200 3057 A 3265(\))S 4990(Page)S 5211(4)S 8143 V EP %%Page: 5 5 BP /slant 0 def /height 0 def 480 V 10 R 720(FLEX)S 981(\()S 1023(1)S 1081(\))S 2756(Version)S 3100(2.3)S 4866(FLEX)S 5127(\()S 5169(1)S 5227(\))S 960 V 1080(-)S 10 B 1440(yyterminate\(\))S 10 R 2056(can)S 2223(be)S 2346(used)S 2558(in)S 2664(lieu)S 2843(of)S 2955(a)S 3028(return)S 3297(statement)S 3711(in)S 3817(an)S 3940(action.)S 4264(It)S 4354(terminates)S 4802(the)S 4953(scanner)S 1080 V 1440(and)S 1610(returns)S 1915(a)S 1985(0)S 2060(to)S 2163(the)S 2311(scanner's)S 2717(caller,)S 2992(indicating)S 3419("all)S (done".)261 3586 A 1248 V 1440(By)S 1584(default,)S 10 B 1916(yyterminate\(\))S 10 R 2532(is)S 2626(also)S 2815(called)S 3084(when)S 3330(an)S (end-of-file)432 3453 A 3913(is)S (encountered.)517 4008 A 4578(It)S 4668(is)S 4763(a)S 4836(macro)S 5116(and)S 1368 V 1440(may)S 1638(be)S 1758(redefined.)S 1536 V 1080(-)S 10 B 1440(YY_NEW_FILE)S 10 R 2186(is)S 2278(an)S 2398(action)S 2669(available)S 3058(only)S 3261(in)S 3365(<>)S 3810(rules.)S 4082(It)S 4170(means)S 4453("Okay,)S 4763(I've)S 4952(set)S 5090(up)S 5216(a)S 1656 V 1440(new)S (input)206 1633 A 1864(\256le,)S 2043(continue)S 2414(scanning".)S 1824 V 1080(-)S 10 B (yy_create_buffer\()768 1440 A 2270(\256le,)S 2486(size)S 2705(\))S 10 R 2801(takes)S 3070(a)S 10 I 3177(FILE)S 10 R 3453(pointer)S 3800(and)S 4008(an)S 4166(integer)S 10 I 4509(size.)S 10 R 4748(It)S 4873(returns)S 5216(a)S 1944 V 1440(YY_BUFFER_STATE)S 2413(handle)S 2712(to)S 2820(a)S 2895(new)S (input)206 3093 A 3329(buffer)S 3606(large)S (enough)295 3838 A 4163(to)S (accomodate)481 4271 A 10 I 4782(size)S 10 R 4963(charac-)S 2064 V 1440(ters)S 1611(and)S 1781(associated)S 2220(with)S 2424(the)S 2572(given)S 2820(\256le.)S 3024(When)S 3289(in)S (doubt,)253 3392 A 3670(use)S 10 B 3829(YY_BUF_SIZE)S 10 R 4531(for)S 4674(the)S 4822(size.)S 2232 V 1080(-)S 10 B (yy_switch_to_buffer\()913 1440 A 2399(new_buffer)S 2939(\))S 10 R 3019(switches)S 3412(the)S 3581(scanner's)S 4008(processing)S 4484(to)S 4608(scan)S 4834(for)S 4999(tokens)S 2352 V 1440(from)S 1661(the)S 1809(given)S 2057(buffer,)S 2354(which)S 2625(must)S 2845(be)S 2965(a)S 3035(YY_BUFFER_STATE.)S 2520 V 1080(-)S 10 B (yy_delete_buffer\()757 1440 A 2222(buffer)S 2517(\))S 10 R 2576(deletes)S 2881(the)S 3029(given)S 3277(buffer.)S 2688 V 9 R 720(V)S 722(VA)S 790(AL)S 858(LU)S 916(UE)S 984(ES)S 1042(S)S 1132(A)S 1134(AV)S 1202(VA)S 1270(AI)S 1338(IL)S 1371(LA)S 1429(AB)S 1497(BL)S 1559(LE)S 1617(E)S 1713(T)S 1715(TO)S 1773(O)S 1879(T)S 1881(TH)S 1939(HE)S 2007(E)S 2103(U)S 2105(US)S 2173(SE)S 2225(ER)S 2283(R)S 2808 V 10 R 1080(-)S 10 B 1440(char)S (*yytext)313 1661 A 10 R 1999(holds)S 2241(the)S 2389(text)S 2565(of)S 2674(the)S 2822(current)S 3133(token.)S 3431(It)S 3518(may)S 3716(not)S 3869(be)S 3989(modi\256ed.)S 2976 V 1080(-)S 10 B 1440(int)S 1583(yyleng)S 10 R 1887(holds)S 2129(the)S 2277(length)S 2553(of)S 2662(the)S 2810(current)S 3121(token.)S 3419(It)S 3506(may)S 3704(not)S 3857(be)S 3977(modi\256ed.)S 3144 V 1080(-)S 10 B 1440(FILE)S (*yyin)234 1701 A 10 R 1961(is)S 2054(the)S 2203(\256le)S 2358(which)S 2630(by)S 2757(default)S 10 I 3064(\257ex)S 10 R 3231(reads)S 3471(from.)S 3744(It)S 3833(may)S 4033(be)S 4155(rede\256ned)S 4557(but)S 4712(doing)S 4967(so)S 5083(only)S 3264 V 1440(makes)S 1731(sense)S 1983(before)S 2275(scanning)S 2666(begins.)S 3012(Changing)S 3436(it)S 3526(in)S 3638(the)S 3795(middle)S 4108(of)S 4226(scanning)S (will)157 4617 A 4808(have)S 5032(unex-)S 3384 V 1440(pected)S 1729(results)S 2018(since)S 10 I 2251(\257ex)S 10 R 2417(buffers)S 2730(its)S (input.)231 2852 A 3135(Once)S 3375(scanning)S 3759(terminates)S (because)319 4206 A 4552(an)S 4674(end-of-\256le)S 5127(has)S 3504 V 1440(been)S 1655(seen,)S 10 B 1884(void)S 2093(yyrestart\()S 2544(FILE)S 2804(*new_\256le)S 3232(\))S 10 R 3291(may)S 3489(be)S 3609(called)S 3875(to)S 3978(point)S 10 I 4209(yyin)S 10 R 4402(at)S 4500(the)S 4648(new)S (input)206 4841 A 5072(\256le.)S 3672 V 1080(-)S 10 B 1440(FILE)S (*yyout)290 1700 A 10 R 2015(is)S 2107(the)S 2255(\256le)S 2409(to)S 2512(which)S 10 B 2783(ECHO)S 10 R 3104(actions)S 3414(are)S (done.)220 3563 A 3833(It)S 3920(can)S 4085(be)S 4205(reassigned)S 4655(by)S 4780(the)S 4928(user.)S 3840 V 1080(-)S 10 B (YY_CURRENT_BUFFER)1149 1440 A 10 R 2614(returns)S 2919(a)S 10 B 2989(YY_BUFFER_STATE)S 10 R 3994(handle)S 4287(to)S 4390(the)S 4538(current)S 4849(buffer.)S 4008 V 9 R 720(M)S 722(MA)S 804(AC)S 872(CR)S 934(RO)S 996(OS)S 1064(S)S 1154(T)S 1156(TH)S 1214(HE)S 1282(E)S 1378(U)S 1380(US)S 1448(SE)S 1500(ER)S 1558(R)S 1658(C)S 1660(CA)S 1722(AN)S 1790(N)S 1896(R)S 1898(RE)S 1960(ED)S 2018(DE)S 2086(EF)S 2144(FI)S 2196(IN)S 2229(NE)S 2297(E)S 4128 V 10 R 1080(-)S 10 B 1440(YY_DECL)S 10 R 1942(controls)S 2293(how)S 2493(the)S 2643(scanning)S 3027(routine)S 3339(is)S 3433(declared.)S 3852(By)S 3996(default,)S 4328(it)S 4411(is)S 4505("int)S 4679(yylex\(\)",)S 5063(or,)S 5199(if)S 4248 V 1440(prototypes)S 1890(are)S 2040(being)S 2289(used,)S 2524("int)S 2697(yylex\(void\)".)S 3283(This)S (de\256nition)385 3488 A 3899(may)S 4098(be)S 4219(changed)S 4580(by)S 4705(rede\256ning)S 5138(the)S 4368 V 1440("YY_DECL")S 2015(macro.)S 2350(Note)S 2579(that)S 2763(if)S (you)150 2858 A 3041(give)S 3247(arguments)S 3700(to)S 3812(the)S 3969(scanning)S 4360(routine)S 4679(using)S 4930(a)S 5009(K&R-)S 4488 V (style/non-prototyped)837 1440 A 2305(function)S 2667(declaration,)S (you)150 3167 A 3344(must)S 3566(terminate)S 3974(the)S (de\256nition)385 4124 A 4536(with)S 4742(a)S 4814(semi-colon)S 4608 V 1440(\(;\).)S 4776 V 1080(-)S 1440(The)S 1628(nature)S 1911(of)S 2026(how)S 2231(the)S 2386(scanner)S 2726(gets)S 2920(its)S (input)206 3047 A 3285(can)S 3457(be)S 3584(controlled)S 4024(by)S 4156(rede\256ning)S 4596(the)S 10 B 4751(YY_INPUT)S 4896 V 10 R 1440(macro.)S 1772(YY_INPUT's)S (calling)274 2369 A 2673(sequence)S 3072(is)S 3169("YY_INPUT\(buf,result,max_size\)".)S 4681(Its)S 4812(action)S 5087(is)S 5183(to)S 5016 V (place)213 1440 A 1689(up)S 1825(to)S 10 I 1939(max_size)S 10 R 2344(characters)S 2791(in)S 2906(the)S 3066(character)S 3474(array)S 10 I 3719(buf)S 10 R 3884(and)S 4066(return)S 4344(in)S 4459(the)S 4619(integer)S 4936(variable)S 5136 V 10 I 1440(result)S 10 R 1699(either)S 1959(the)S 2112(number)S 2449(of)S 2563(characters)S 3003(read)S 3206(or)S 3319(the)S 3471(constant)S 3835(YY_NULL)S 4330(\(0)S 4443(on)S 4572(Unix)S 4802(systems\))S 5183(to)S 5256 V 1440(indicate)S 1794(EOF.)S 2071(The)S 2264(default)S 2580(YY_INPUT)S 3110(reads)S 3359(from)S 3591(the)S 3750(global)S 4037(\256le-pointer)S 4521("yyin".)S 4867(A)S 4976(sample)S 5376 V (rede\256nition)464 1440 A 1929(of)S 2038(YY_INPUT)S 2557(\(in)S 2694(the)S (de\256nitions)424 2842 A 3291(section)S 3601(of)S 3710(the)S (input)206 3858 A 4089(\256le\):)S 5616 V 1540(%{)S 5736 V (#undef)279 1540 A 1844(YY_INPUT)S 5856 V 1540(#de\256ne)S 1861(YY_INPUT\(buf,result,max_size\))S 3236(\\)S 5976 V 1640({)S 1713(\\)S 6096 V 1640(int)S 1771(c)S 1841(=)S (getchar\(\);)393 1923 A 2341(\\)S 6216 V 1640(result)S 1889(=)S 1971(\(c)S 2075(==)S 2214(EOF\))S 2464(?)S 2534(YY_NULL)S 3025(:)S 3078(\(buf[0])S 3389(=)S 3471(c,)S 3566(1\);)S 3703(\\)S 6336 V 1640(})S 6456 V 1540(%})S 6744 V 1080(-)S 1440(When)S 1726(the)S 1895(scanner)S (receives)331 2249 A 2626(an)S 2767(end-of-\256le)S 3239(indication)S 3687(from)S 3929(YY_INPUT,)S 4494(it)S 4597(then)S 4817(checks)S 5138(the)S 6864 V 10 B 1440(yywrap\(\))S 10 R 1865(function.)S 2283(If)S 10 B 2384(yywrap\(\))S 10 R 2809(returns)S 3122(false)S 3346(\(zero\),)S 3646(then)S 3852(it)S 3941(is)S 4041(assumed)S 4420(that)S 4604(the)S 4760(function)S 5127(has)S 6984 V (gone)195 1440 A 1664(ahead)S 1928(and)S 2102(set)S 2243(up)S 10 I 2372(yyin)S 10 R 2569(to)S 2676(point)S 2911(to)S 3018(another)S (input)206 3350 A 3586(\256le,)S 3770(and)S 3945(scanning)S 4332(continues.)S 4797(If)S 4895(it)S 4981(returns)S 7104 V 1440(true)S (\(non-zero\),)451 1622 A 2098(then)S 2296(the)S 2444(scanner)S 2777(terminates,)S 3247(returning)S 3641(0)S 3716(to)S 3819(its)S 3939(caller.)S 7272 V 1440(The)S 1646(default)S 10 B 1975(yywrap\(\))S 10 R 2416(always)S 2745(returns)S 3074(1.)S 3223(Presently,)S 3672(to)S 3799(redefine)S 4179(it)S (you)150 4284 A 4483(must)S 4728(first)S ("#undef)320 4941 A 7392 V 1440(yywrap",)S 1845(as)S 1966(it)S 2059(is)S 2163(currently)S 2564(implemented)S 3126(as)S 3247(a)S 3329(macro.)S 3667(It)S 3765(is)S 3868(likely)S 4133(that)S 10 B 4320(yywrap\(\))S 10 R (will)157 4748 A (soon)189 4941 A 5166(be)S 7512 V 1440(defined)S 1767(to)S 1870(be)S 1990(a)S 2060(function)S 2420(rather)S 2681(than)S 2879(a)S 2949(macro.)S 7903 V 720(Page)S 941(5)S 2681(\()S 2723(26)S 2848(May)S (1990)200 3057 A 3265(\))S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Page: 6 6 BP /slant 0 def /height 0 def 480 V 10 R 720(FLEX)S 981(\()S 1023(1)S 1081(\))S 2756(Version)S 3100(2.3)S 4866(FLEX)S 5127(\()S 5169(1)S 5227(\))S 960 V 1080(-)S 1440(YY_USER_ACTION)S 2354(can)S 2522(be)S 2645(rede\256ned)S 3049(to)S 3156(provide)S 3492(an)S 3616(action)S 3891(which)S 4166(is)S 4262(always)S 4571(executed)S 4958(prior)S 5183(to)S 1080 V 1440(the)S 1588(matched)S 1954(rule's)S 2209(action.)S 1248 V 1080(-)S 1440(The)S 1624(macro)S 10 B 1903(YY_USER_INIT)S 10 R 2663(may)S 2863(be)S 2985(rede\256ned)S 3388(to)S 3494(provide)S 3829(an)S 3952(action)S 4226(which)S 4500(is)S 4595(always)S 4903(executed)S 1368 V 1440(before)S 1723(the)S 1871(\256rst)S 2053(scan.)S 1536 V 1080(-)S 1440(In)S 1573(the)S 1745(generated)S 2186(scanner,)S 2568(the)S 2740(actions)S 3074(are)S 3247(all)S 3397(gathered)S 3793(in)S 3920(one)S 4115(large)S 4367(switch)S 4680(statement)S 5116(and)S 1656 V 1440(separated)S 1852(using)S 10 B 2100(YY_BREAK,)S 10 R 2710(which)S 2987(may)S 3191(be)S 3317(rede\256ned.)S 3773(By)S 3921(default,)S 4257(it)S 4344(is)S 4442(simply)S 4746(a)S 4822("break",)S 5183(to)S 1776 V 1440(separate)S (each)185 1796 A 2006(rule's)S 2261(action)S 2532(from)S 2753(the)S 2901(following)S 3317(rule's.)S 1944 V 9 R 720(F)S 722(FI)S 774(IL)S 807(LE)S 865(ES)S 923(S)S 2064 V 10 I 1080(flex.skel)S 10 R 1440(skeleton)S 1800(scanner.)S 2232 V 10 I 1080(lex.yy.c)S 10 R 1440(generated)S 1857(scanner)S 2190(\(called)S 10 I (lexyy.c)278 2490 A 10 R 2793(on)S 2918(some)S 3155(systems\).)S 2400 V 10 I 1080(lex.backtrack)S 2520 V 10 R 1440(backtracking)S 1985(information)S 2485(for)S 10 B 2628(-b)S 10 R 2743(\257ag)S 2919(\(called)S 10 I 3219(lex.bck)S 10 R 3527(on)S 3652(some)S 3889(systems\).)S 2688 V 10 B 1080(-lfl)S 10 R 1440(library)S 1734(with)S 1938(which)S 2209(to)S 2312(link)S 2493(the)S 2641(scanners.)S 2856 V 9 R 720(S)S 722(SE)S 774(EE)S 832(E)S 913(A)S 915(AL)S 983(LS)S 1041(SO)S 1093(O)S 2976 V 10 R (\257exdoc\(1\),)439 1080 A 1544(lex\(1\),)S (yacc\(1\),)328 1835 A 2188(sed\(1\),)S 2490(awk\(1\).)S 3144 V 1080(M.)S 1219(E.)S 1331(Lesk)S 1552(and)S 1722(E.)S 1834(Schmidt,)S 10 I 2219(LEX)S 2424(-)S 2483(Lexical)S 2805(Analyzer)S 3188(Generator)S 3312 V 9 R 720(D)S 722(DI)S 790(IA)S 823(AG)S 891(GN)S 959(NO)S 1027(OS)S 1095(ST)S 1147(TI)S 1205(IC)S 1238(CS)S 1300(S)S 3432 V 10 I (reject_used_but_not_detected)1206 1080 A (unde\256ned)390 2311 A 10 R 2726(or)S 3600 V 10 I (yymore_used_but_not_detected)1273 1080 A (unde\256ned)390 2381 A 2799(-)S 10 R 2861(These)S 3130(errors)S 3394(can)S 3562(occur)S 3814(at)S 3915(compile)S 4268(time.)S 4526(They)S 4762(indicate)S 5110(that)S 3720 V 1080(the)S 1231(scanner)S 1567(uses)S 10 B 1768(REJECT)S 10 R 2193(or)S 10 B 2305(yymore\(\))S 10 R 2725(but)S 2881(that)S 10 I 3060(\257ex)S 10 R 3228(failed)S 3486(to)S 3592(notice)S 3865(the)S 4015(fact,)S 4219(meaning)S 4592(that)S 10 I 4770(\257ex)S 10 R 4937(scanned)S 3840 V 1080(the)S 1232(\256rst)S 1418(two)S 1598(sections)S (looking)306 1951 A 2286(for)S 2433(occurrences)S 2944(of)S 3057(these)S 3294(actions)S 3609(and)S 3784(failed)S 4044(to)S 4152(\256nd)S 4338(any,)S 4538(but)S 4696(somehow)S (you)150 5111 A 3960 V 1080(snuck)S 1346(some)S 1590(in)S 1699(\(via)S 1887(a)S 1963(#include)S 2340(\256le,)S 2525(for)S 2674(example\).)S 3130(Make)S 3390(an)S 3516(explicit)S 3849(reference)S 4257(to)S 4366(the)S 4520(action)S 4797(in)S (your)184 4906 A 10 I 5121(\257ex)S 4080 V 10 R (input)206 1080 A 1323(\256le.)S 1539(\(Note)S 1806(that)S 1994(previously)S 10 I 2455(\257ex)S 10 R (supported)396 2632 A 3065(a)S 10 B (%used/%unused)732 3147 A 10 R 3916(mechanism)S 4411(for)S 4566(dealing)S 4899(with)S 5116(this)S 4200 V 1080(problem;)S 1480(this)S 1662(feature)S 1980(is)S (still)151 2084 A (supported)396 2271 A 2703(but)S 2867(now)S (deprecated,)462 3076 A 3574(and)S (will)157 3755 A 3948(go)S 4084(away)S (soon)189 4333 A 4558(unless)S 4845(the)S 5004(author)S 4320 V 1080(hears)S 1318(from)S 1539(people)S 1832(who)S 2030(can)S 2195(argue)S (compellingly)530 2444 A 2999(that)S 3175(they)S 3373(need)S 3588(it.\))S 4488 V 10 I 1080(\257ex)S (scanner)318 1268 A 1634(jammed)S 2001(-)S 10 R 2083(a)S 2176(scanner)S 2532(compiled)S 2954(with)S 10 B 3181(-s)S 10 R 3302(has)S (encountered)492 3484 A 4024(an)S (input)206 4167 A 4421(string)S 4698(which)S 4992(wasn't)S 4608 V 1080(matched)S 1446(by)S 1571(any)S 1741(of)S 1850(its)S 1970(rules.)S 4776 V 10 I 1080(\257ex)S (input)206 1256 A 1498(buffer)S 1774(over\257owed)S 2251(-)S 10 R 2321(a)S 2402(scanner)S 2746(rule)S 2939(matched)S 3316(a)S 3397(string)S (long)178 3663 A (enough)295 3878 A 4210(to)S 4325(over\257ow)S 4720(the)S 4880(scanner's)S 4896 V 1080(internal)S (input)206 1413 A 1644(buffer)S 1916(\(16K)S 2148(bytes)S 2385(-)S 2444(controlled)S 2877(by)S 10 B 3002(YY_BUF_MAX)S 10 R 3716(in)S 3819("\257ex.skel"\).)S 5064 V 10 I (scanner)318 1080 A 1426(requires)S 1789(-8)S (\257ag)150 1901 A 2080(-)S 10 R 2143(Your)S 2379(scanner)S 2716(speci\256cation)S 3254(includes)S (recognizing)475 3618 A 4122(8-bit)S 4341(characters)S 4780(and)S (you)150 4954 A 5133(did)S 5184 V 1080(not)S 1233(specify)S 1549(the)S 1697(-8)S 1806(\257ag)S 1982(\(and)S (your)184 2186 A 2395(site)S 2560(has)S 2719(not)S 2872(installed)S 3238(\257ex)S 3414(with)S 3618(-8)S 3727(as)S 3836(the)S 3984(default\).)S 5352 V 10 I 1080(fatal)S 1290(\257ex)S (scanner)318 1456 A 1801(internal)S 2146(error--end)S 2598(of)S 2703(buffer)S 2970(missed)S 3271(-)S 10 R 3332(This)S 3538(can)S 3705(occur)S 3956(in)S 4061(an)S 4183(scanner)S 4518(which)S 4791(is)S 4885(reentered)S 5472 V 1080(after)S 1312(a)S (long-jump)418 1403 A 1867(has)S 2047(jumped)S 2394(out)S 2568(\(or)S 2732(over\))S 2991(the)S 3160(scanner's)S 3587(activation)S 4030(frame.)S 4362(Before)S 4683(reentering)S 5138(the)S 5592 V 1080(scanner,)S 1438(use:)S 5832 V 1180(yyrestart\()S 1592(yyin)S 1795(\);)S 6120 V 10 I 1080(too)S 1238(many)S 1486(%t)S 1628(classes!)S 1977(-)S 10 R 2041(You)S 2244(managed)S 2637(to)S 2745(put)S 2903(every)S 3157(single)S 3427(character)S 3828(into)S 4015(its)S 4141(own)S 4345(%t)S 4488(class.)S 10 I 4765(\257ex)S 10 R 4936(requires)S 6240 V 1080(that)S 1256(at)S 1354(least)S 1564(one)S 1734(of)S 1843(the)S 1991(classes)S 2296(share)S 2534(characters.)S 6408 V 9 R 720(A)S 722(AU)S 790(UT)S 858(TH)S 916(HO)S 984(OR)S 1052(R)S 6528 V 10 R 1080(Vern)S 1312(Paxson,)S 1657(with)S 1867(the)S 2021(help)S 2225(of)S 2340(many)S 2594(ideas)S 2832(and)S 3008(much)S 3262(inspiration)S 3723(from)S 3950(Van)S 4149(Jacobson.)S 4598(Original)S 4965(version)S 6648 V 1080(by)S 1205(Jef)S 1348(Poskanzer.)S 6816 V 1080(See)S (\257exdoc\(1\))414 1251 A 1690(for)S (additional)402 1833 A 2260(credits)S 2554(and)S 2724(the)S 2872(address)S 3199(to)S 3302(send)S 3511(comments)S 3949(to.)S 6984 V 9 R 720(D)S 722(DE)S 790(EF)S 848(FI)S 900(IC)S 933(CI)S 995(IE)S 1028(EN)S 1086(NC)S 1154(CI)S 1216(IE)S 1249(ES)S 1307(S)S 1397(/)S 1399(/)S 1464(B)S 1466(BU)S 1528(UG)S 1596(GS)S 1664(S)S 7104 V 10 R 1080(Some)S (trailing)291 1382 A 1746(context)S 2115(patterns)S (cannot)268 2507 A 2848(be)S 3016(properly)S 3430(matched)S 3844(and)S 4062(generate)S 4477(warning)S 4881(messages)S 7224 V 1080(\("Dangerous)S (trailing)291 1617 A 1934(context"\).)S 2381(These)S 2648(are)S 2798(patterns)S 3143(where)S 3416(the)S 3565(ending)S 3864(of)S 3974(the)S 4123(\256rst)S 4306(part)S 4489(of)S 4599(the)S 4748(rule)S 4931(matches)S 7344 V 1080(the)S 1230(beginning)S 1658(of)S 1769(the)S (second)279 1920 A 2227(part,)S 2437(such)S 2649(as)S ("zx*/xy*",)430 2761 A 3219(where)S 3494(the)S 3645('x*')S 3841(matches)S 4199(the)S 4350('x')S 4496(at)S 4597(the)S 4748(beginning)S 5177(of)S 7464 V 1080(the)S (trailing)291 1252 A 1592(context.)S 1987(\(Note)S 2266(that)S 2466(the)S 2638(POSIX)S 2978(draft)S 3217(states)S 3489(that)S 3688(the)S 3859(text)S 4058(matched)S 4447(by)S 4595(such)S 4827(patterns)S 5194(is)S 7903 V 720(September)S 1176(13,)S (1996)200 1326 A 2681(\()S 2723(26)S 2848(May)S (1990)200 3057 A 3265(\))S 4990(Page)S 5211(6)S 8143 V EP %%Page: 7 7 BP /slant 0 def /height 0 def 480 V 10 R 720(FLEX)S 981(\()S 1023(1)S 1081(\))S 2756(Version)S 3100(2.3)S 4866(FLEX)S 5127(\()S 5169(1)S 5227(\))S 960 V (unde\256ned.\))455 1080 A 1128 V 1080(For)S 1250(some)S (trailing)291 1492 A 1813(context)S 2139(rules,)S 2391(parts)S 2618(which)S 2895(are)S 3050(actually)S 3400(\256xed-length)S 3917(are)S 4072(not)S (recognized)442 4231 A 4704(as)S 4819(such,)S 5059(lead-)S 1248 V 1080(ing)S 1235(to)S 1340(the)S (abovementioned)664 1490 A 2181(performance)S 2718(loss.)S 2951(In)S 3062(particular,)S 3500(parts)S 3722(using)S 3965('|')S 4079(or)S 4189({n})S 4361(\(such)S 4605(as)S 4715("foo{3}"\))S 5137(are)S 1368 V 1080(always)S 1385(considered)S 1846(variable-length.)S 1536 V 1080(Combining)S (trailing)291 1566 A 1892(context)S 2223(with)S 2437(the)S 2595(special)S 2910('|')S 3033(action)S 3314(can)S 3489(result)S 3748(in)S 10 I 3861(\256xed)S 10 R (trailing)291 4086 A 4413(context)S 4745(being)S 5004(turned)S 1656 V 1080(into)S 1261(the)S 1409(more)S 1641(expensive)S 10 I 2068(variable)S 10 R (trailing)291 2428 A 2744(context.)S 3115(For)S 3280(example,)S 3671(this)S 3841(happens)S 4195(in)S 4298(the)S 4446(following)S 4862(example:)S 1896 V 1180(%%)S 2016 V 1180(abc)S 1470(|)S 2136 V 1180(xyz/def)S 2424 V 1080(Use)S 1262(of)S (unput\(\))296 1371 A 1692(invalidates)S 2153(yytext)S 2429(and)S 2599(yyleng.)S 2592 V 1080(Use)S 1265(of)S (unput\(\))296 1377 A 1701(to)S 1807(push)S 2024(back)S 2242(more)S 2477(text)S 2657(than)S 2859(was)S 3045(matched)S 3415(can)S 3584(result)S 3837(in)S 3944(the)S 4096(pushed-back)S 4633(text)S 4813(matching)S 5216(a)S 2712 V 1080(beginning-of-line)S (\('\303'\))170 1809 A 2004(rule)S 2186(even)S (though)278 2401 A 2704(it)S 2785(didn't)S 3050(come)S 3293(at)S 3391(the)S 3539(beginning)S 3965(of)S 4074(the)S 4222(line)S (\(though)312 4398 A 4735(this)S 4905(is)S 4997(rare!\).)S 2880 V 1080(Pattern-matching)S 1799(of)S 1908(NUL's)S 2214(is)S 2306(substantially)S 2839(slower)S 3133(than)S 3331(matching)S 3730(other)S 3962(characters.)S 3048 V 10 I 1080(\257ex)S 10 R 1256(does)S 1476(not)S 1640(generate)S 2018(correct)S 2335(#line)S 2572(directives)S 3000(for)S 3154(code)S 3380(internal)S 3724(to)S 3838(the)S 3997(scanner;)S 4369(thus,)S (bugs)189 4598 A 4824(in)S 10 I 4939(\257ex.skel)S 3168 V 10 R 1080(yield)S (bogus)239 1306 A 1570(line)S 1746(numbers.)S 3336 V 1080(Due)S 1274(to)S 1379(both)S 1584(buffering)S 1986(of)S (input)206 2097 A 2330(and)S 2502(read-ahead,)S (you)150 2997 A (cannot)268 3174 A 3469(intermix)S 3837(calls)S 4049(to)S 4154()S 4565(routines,)S 4941(such)S 5152(as,)S 3456 V 1080(for)S 1223(example,)S 10 B 1614(getchar\(\),)S 10 R 2057(with)S 10 I 2261(\257ex)S 10 R 2426(rules)S 2647(and)S 2817(expect)S 3105(it)S 3186(to)S 3289(work.)S 3571(Call)S 10 B (input\(\))298 3764 A 10 R 4087(instead.)S 3624 V 1080(The)S 1272(total)S 1486(table)S 1717(entries)S 2021(listed)S 2274(by)S 2410(the)S 10 B 2569(-v)S 10 R 2689(\257ag)S 2876(excludes)S 3264(the)S 3423(number)S 3766(of)S 3886(table)S 4118(entries)S 4423(needed)S 4744(to)S 4858(determine)S 3744 V 1080(what)S 1303(rule)S 1487(has)S 1648(been)S 1865(matched.)S 2283(The)S 2467(number)S 2800(of)S 2910(entries)S 3205(is)S 3298(equal)S 3542(to)S 3646(the)S 3795(number)S 4128(of)S 4238(DFA)S 4466(states)S 4716(if)S 4804(the)S 4953(scanner)S 3864 V 1080(does)S 1289(not)S 1442(use)S 10 B 1601(REJECT,)S 10 R 2048(and)S 2218(somewhat)S 2651(greater)S 2957(than)S 3155(the)S 3303(number)S 3635(of)S 3744(states)S 3993(if)S 4080(it)S 4161(does.)S 4032 V 10 B 1080(REJECT)S 10 R (cannot)268 1502 A 1795(be)S 1915(used)S 2124(with)S 2328(the)S 10 I 2476(-f)S 10 R 2563(or)S 10 I 2672(-F)S 10 R 2793(options.)S 4200 V 1080(Some)S 1351(of)S 1477(the)S 1642(macros,)S 2000(such)S 2226(as)S 10 B 2353(yywrap\(\),)S 10 R 2813(may)S 3029(in)S 3150(the)S 3316(future)S 3600(become)S 3956(functions)S 4373(which)S 4662(live)S 4856(in)S 4977(the)S 10 B 5143(-l\257)S 4320 V 10 R 1080(library.)S 1424(This)S (will)157 1628 A (doubtless)379 1810 A 2214(break)S 2463(a)S 2533(lot)S 2664(of)S 2773(code,)S 3013(but)S 3166(may)S 3364(be)S 3484(required)S 3845(for)S 3988(POSIX-compliance.)S 4488 V 1080(The)S 10 I 1262(\257ex)S 10 R 1427(internal)S 1760(algorithms)S 2215(need)S 2430(documentation.)S 7903 V 720(Page)S 941(7)S 2681(\()S 2723(26)S 2848(May)S (1990)200 3057 A 3265(\))S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Trailer %%DocumentFonts: Times-Roman Times-Bold Times-Italic %%Pages: 7