home *** CD-ROM | disk | FTP | other *** search
view JSON data
|
view as text
|
open on a Mac
|
open on a PC
This file was processed as: SHell self-extracting ARchive
(archive/shar).
You can browse this item here: part02
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Newsgroup Content (archive/news)
| magic
| Supported |
100%
| dexvert
| SHell self-extracting ARchive (archive/shar)
| magic
| Supported |
100%
| dexvert
| Internet Message Format (text/imf)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| news or mail, ASCII text
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/329 Shell Archive Format
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
| |
100%
| xdgMime
| message/rfc822
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 53 75 62 6a 65 63 74 3a | 20 20 76 31 34 69 30 38 |Subject:| v14i08|
|00000010| 30 3a 20 20 46 6c 65 78 | 2c 20 61 20 6c 65 78 20 |0: Flex|, a lex |
|00000020| 72 65 70 6c 61 63 65 6d | 65 6e 74 2c 20 50 61 72 |replacem|ent, Par|
|00000030| 74 30 32 2f 30 35 0a 4e | 65 77 73 67 72 6f 75 70 |t02/05.N|ewsgroup|
|00000040| 73 3a 20 63 6f 6d 70 2e | 73 6f 75 72 63 65 73 2e |s: comp.|sources.|
|00000050| 75 6e 69 78 0a 53 65 6e | 64 65 72 3a 20 73 6f 75 |unix.Sen|der: sou|
|00000060| 72 63 65 73 0a 41 70 70 | 72 6f 76 65 64 3a 20 72 |rces.App|roved: r|
|00000070| 73 61 6c 7a 40 75 75 6e | 65 74 2e 55 55 2e 4e 45 |salz@uun|et.UU.NE|
|00000080| 54 0a 0a 53 75 62 6d 69 | 74 74 65 64 2d 62 79 3a |T..Submi|tted-by:|
|00000090| 20 56 65 72 6e 20 50 61 | 78 73 6f 6e 20 3c 76 65 | Vern Pa|xson <ve|
|000000a0| 72 6e 40 6c 62 6c 2d 63 | 73 61 6d 2e 61 72 70 61 |rn@lbl-c|sam.arpa|
|000000b0| 3e 0a 50 6f 73 74 69 6e | 67 2d 6e 75 6d 62 65 72 |>.Postin|g-number|
|000000c0| 3a 20 56 6f 6c 75 6d 65 | 20 31 34 2c 20 49 73 73 |: Volume| 14, Iss|
|000000d0| 75 65 20 38 30 0a 41 72 | 63 68 69 76 65 2d 6e 61 |ue 80.Ar|chive-na|
|000000e0| 6d 65 3a 20 66 6c 65 78 | 2f 70 61 72 74 30 32 0a |me: flex|/part02.|
|000000f0| 0a 23 21 20 2f 62 69 6e | 2f 73 68 0a 23 20 54 68 |.#! /bin|/sh.# Th|
|00000100| 69 73 20 69 73 20 61 20 | 73 68 65 6c 6c 20 61 72 |is is a |shell ar|
|00000110| 63 68 69 76 65 2e 20 20 | 52 65 6d 6f 76 65 20 61 |chive. |Remove a|
|00000120| 6e 79 74 68 69 6e 67 20 | 62 65 66 6f 72 65 20 74 |nything |before t|
|00000130| 68 69 73 20 6c 69 6e 65 | 2c 20 74 68 65 6e 20 75 |his line|, then u|
|00000140| 6e 70 61 63 6b 0a 23 20 | 69 74 20 62 79 20 73 61 |npack.# |it by sa|
|00000150| 76 69 6e 67 20 69 74 20 | 69 6e 74 6f 20 61 20 66 |ving it |into a f|
|00000160| 69 6c 65 20 61 6e 64 20 | 74 79 70 69 6e 67 20 22 |ile and |typing "|
|00000170| 73 68 20 66 69 6c 65 22 | 2e 20 20 54 6f 20 6f 76 |sh file"|. To ov|
|00000180| 65 72 77 72 69 74 65 20 | 65 78 69 73 74 69 6e 67 |erwrite |existing|
|00000190| 0a 23 20 66 69 6c 65 73 | 2c 20 74 79 70 65 20 22 |.# files|, type "|
|000001a0| 73 68 20 66 69 6c 65 20 | 2d 63 22 2e 20 20 59 6f |sh file |-c". Yo|
|000001b0| 75 20 63 61 6e 20 61 6c | 73 6f 20 66 65 65 64 20 |u can al|so feed |
|000001c0| 74 68 69 73 20 61 73 20 | 73 74 61 6e 64 61 72 64 |this as |standard|
|000001d0| 20 69 6e 70 75 74 20 76 | 69 61 0a 23 20 75 6e 73 | input v|ia.# uns|
|000001e0| 68 61 72 2c 20 6f 72 20 | 62 79 20 74 79 70 69 6e |har, or |by typin|
|000001f0| 67 20 22 73 68 20 3c 66 | 69 6c 65 22 2c 20 65 2e |g "sh <f|ile", e.|
|00000200| 67 2e 2e 20 20 49 66 20 | 74 68 69 73 20 61 72 63 |g.. If |this arc|
|00000210| 68 69 76 65 20 69 73 20 | 63 6f 6d 70 6c 65 74 65 |hive is |complete|
|00000220| 2c 20 79 6f 75 0a 23 20 | 77 69 6c 6c 20 73 65 65 |, you.# |will see|
|00000230| 20 74 68 65 20 66 6f 6c | 6c 6f 77 69 6e 67 20 6d | the fol|lowing m|
|00000240| 65 73 73 61 67 65 20 61 | 74 20 74 68 65 20 65 6e |essage a|t the en|
|00000250| 64 3a 0a 23 09 09 22 45 | 6e 64 20 6f 66 20 61 72 |d:.#.."E|nd of ar|
|00000260| 63 68 69 76 65 20 32 20 | 28 6f 66 20 35 29 2e 22 |chive 2 |(of 5)."|
|00000270| 0a 23 20 43 6f 6e 74 65 | 6e 74 73 3a 20 20 64 66 |.# Conte|nts: df|
|00000280| 61 2e 63 20 66 6c 65 78 | 2e 66 61 73 74 73 6b 65 |a.c flex|.fastske|
|00000290| 6c 20 6d 61 69 6e 2e 63 | 20 6d 69 73 63 2e 63 20 |l main.c| misc.c |
|000002a0| 73 63 61 6e 2e 6c 0a 23 | 20 57 72 61 70 70 65 64 |scan.l.#| Wrapped|
|000002b0| 20 62 79 20 72 73 61 6c | 7a 40 66 69 67 2e 62 62 | by rsal|z@fig.bb|
|000002c0| 6e 2e 63 6f 6d 20 6f 6e | 20 54 75 65 20 4d 61 79 |n.com on| Tue May|
|000002d0| 20 20 33 20 31 37 3a 33 | 31 3a 32 37 20 31 39 38 | 3 17:3|1:27 198|
|000002e0| 38 0a 50 41 54 48 3d 2f | 62 69 6e 3a 2f 75 73 72 |8.PATH=/|bin:/usr|
|000002f0| 2f 62 69 6e 3a 2f 75 73 | 72 2f 75 63 62 20 3b 20 |/bin:/us|r/ucb ; |
|00000300| 65 78 70 6f 72 74 20 50 | 41 54 48 0a 69 66 20 74 |export P|ATH.if t|
|00000310| 65 73 74 20 2d 66 20 27 | 64 66 61 2e 63 27 20 2d |est -f '|dfa.c' -|
|00000320| 61 20 22 24 7b 31 7d 22 | 20 21 3d 20 22 2d 63 22 |a "${1}"| != "-c"|
|00000330| 20 3b 20 74 68 65 6e 20 | 0a 20 20 65 63 68 6f 20 | ; then |. echo |
|00000340| 73 68 61 72 3a 20 57 69 | 6c 6c 20 6e 6f 74 20 63 |shar: Wi|ll not c|
|00000350| 6c 6f 62 62 65 72 20 65 | 78 69 73 74 69 6e 67 20 |lobber e|xisting |
|00000360| 66 69 6c 65 20 5c 22 27 | 64 66 61 2e 63 27 5c 22 |file \"'|dfa.c'\"|
|00000370| 0a 65 6c 73 65 0a 65 63 | 68 6f 20 73 68 61 72 3a |.else.ec|ho shar:|
|00000380| 20 45 78 74 72 61 63 74 | 69 6e 67 20 5c 22 27 64 | Extract|ing \"'d|
|00000390| 66 61 2e 63 27 5c 22 20 | 5c 28 31 30 37 33 32 20 |fa.c'\" |\(10732 |
|000003a0| 63 68 61 72 61 63 74 65 | 72 73 5c 29 0a 73 65 64 |characte|rs\).sed|
|000003b0| 20 22 73 2f 5e 58 2f 2f | 22 20 3e 27 64 66 61 2e | "s/^X//|" >'dfa.|
|000003c0| 63 27 20 3c 3c 27 45 4e | 44 5f 4f 46 5f 46 49 4c |c' <<'EN|D_OF_FIL|
|000003d0| 45 27 0a 58 2f 2a 20 64 | 66 61 20 2d 20 44 46 41 |E'.X/* d|fa - DFA|
|000003e0| 20 63 6f 6e 73 74 72 75 | 63 74 69 6f 6e 20 72 6f | constru|ction ro|
|000003f0| 75 74 69 6e 65 73 20 2a | 2f 0a 58 0a 58 2f 2a 0a |utines *|/.X.X/*.|
|00000400| 58 20 2a 20 43 6f 70 79 | 72 69 67 68 74 20 28 63 |X * Copy|right (c|
|00000410| 29 20 31 39 38 37 2c 20 | 74 68 65 20 55 6e 69 76 |) 1987, |the Univ|
|00000420| 65 72 73 69 74 79 20 6f | 66 20 43 61 6c 69 66 6f |ersity o|f Califo|
|00000430| 72 6e 69 61 0a 58 20 2a | 20 0a 58 20 2a 20 54 68 |rnia.X *| .X * Th|
|00000440| 65 20 55 6e 69 74 65 64 | 20 53 74 61 74 65 73 20 |e United| States |
|00000450| 47 6f 76 65 72 6e 6d 65 | 6e 74 20 68 61 73 20 72 |Governme|nt has r|
|00000460| 69 67 68 74 73 20 69 6e | 20 74 68 69 73 20 77 6f |ights in| this wo|
|00000470| 72 6b 20 70 75 72 73 75 | 61 6e 74 20 74 6f 0a 58 |rk pursu|ant to.X|
|00000480| 20 2a 20 63 6f 6e 74 72 | 61 63 74 20 6e 6f 2e 20 | * contr|act no. |
|00000490| 44 45 2d 41 43 30 33 2d | 37 36 53 46 30 30 30 39 |DE-AC03-|76SF0009|
|000004a0| 38 20 62 65 74 77 65 65 | 6e 20 74 68 65 20 55 6e |8 betwee|n the Un|
|000004b0| 69 74 65 64 20 53 74 61 | 74 65 73 20 44 65 70 61 |ited Sta|tes Depa|
|000004c0| 72 74 6d 65 6e 74 20 6f | 66 0a 58 20 2a 20 45 6e |rtment o|f.X * En|
|000004d0| 65 72 67 79 20 61 6e 64 | 20 74 68 65 20 55 6e 69 |ergy and| the Uni|
|000004e0| 76 65 72 73 69 74 79 20 | 6f 66 20 43 61 6c 69 66 |versity |of Calif|
|000004f0| 6f 72 6e 69 61 2e 0a 58 | 20 2a 20 0a 58 20 2a 20 |ornia..X| * .X * |
|00000500| 54 68 69 73 20 70 72 6f | 67 72 61 6d 20 6d 61 79 |This pro|gram may|
|00000510| 20 62 65 20 72 65 64 69 | 73 74 72 69 62 75 74 65 | be redi|stribute|
|00000520| 64 2e 20 20 45 6e 68 61 | 6e 63 65 6d 65 6e 74 73 |d. Enha|ncements|
|00000530| 20 61 6e 64 20 64 65 72 | 69 76 61 74 69 76 65 20 | and der|ivative |
|00000540| 77 6f 72 6b 73 0a 58 20 | 2a 20 6d 61 79 20 62 65 |works.X |* may be|
|00000550| 20 63 72 65 61 74 65 64 | 20 70 72 6f 76 69 64 65 | created| provide|
|00000560| 64 20 74 68 65 20 6e 65 | 77 20 77 6f 72 6b 73 2c |d the ne|w works,|
|00000570| 20 69 66 20 6d 61 64 65 | 20 61 76 61 69 6c 61 62 | if made| availab|
|00000580| 6c 65 20 74 6f 20 74 68 | 65 20 67 65 6e 65 72 61 |le to th|e genera|
|00000590| 6c 0a 58 20 2a 20 70 75 | 62 6c 69 63 2c 20 61 72 |l.X * pu|blic, ar|
|000005a0| 65 20 6d 61 64 65 20 61 | 76 61 69 6c 61 62 6c 65 |e made a|vailable|
|000005b0| 20 66 6f 72 20 75 73 65 | 20 62 79 20 61 6e 79 6f | for use| by anyo|
|000005c0| 6e 65 2e 0a 58 20 2a 2f | 0a 58 0a 58 23 69 6e 63 |ne..X */|.X.X#inc|
|000005d0| 6c 75 64 65 20 22 66 6c | 65 78 64 65 66 2e 68 22 |lude "fl|exdef.h"|
|000005e0| 0a 58 0a 58 2f 2a 20 65 | 70 73 63 6c 6f 73 75 72 |.X.X/* e|psclosur|
|000005f0| 65 20 2d 20 63 6f 6e 73 | 74 72 75 63 74 20 74 68 |e - cons|truct th|
|00000600| 65 20 65 70 73 69 6c 6f | 6e 20 63 6c 6f 73 75 72 |e epsilo|n closur|
|00000610| 65 20 6f 66 20 61 20 73 | 65 74 20 6f 66 20 6e 64 |e of a s|et of nd|
|00000620| 66 61 20 73 74 61 74 65 | 73 0a 58 20 2a 0a 58 20 |fa state|s.X *.X |
|00000630| 2a 20 73 79 6e 6f 70 73 | 69 73 0a 58 20 2a 20 20 |* synops|is.X * |
|00000640| 20 20 69 6e 74 20 74 5b | 63 75 72 72 65 6e 74 5f | int t[|current_|
|00000650| 6d 61 78 5f 64 66 61 5f | 73 69 7a 65 5d 2c 20 6e |max_dfa_|size], n|
|00000660| 75 6d 73 74 61 74 65 73 | 2c 20 61 63 63 73 65 74 |umstates|, accset|
|00000670| 5b 61 63 63 6e 75 6d 20 | 2b 20 31 5d 2c 20 6e 61 |[accnum |+ 1], na|
|00000680| 63 63 3b 0a 58 20 2a 20 | 20 20 20 69 6e 74 20 68 |cc;.X * | int h|
|00000690| 61 73 68 76 61 6c 3b 0a | 58 20 2a 20 20 20 20 69 |ashval;.|X * i|
|000006a0| 6e 74 20 2a 65 70 73 63 | 6c 6f 73 75 72 65 28 29 |nt *epsc|losure()|
|000006b0| 3b 0a 58 20 2a 20 20 20 | 20 74 20 3d 20 65 70 73 |;.X * | t = eps|
|000006c0| 63 6c 6f 73 75 72 65 28 | 20 74 2c 20 26 6e 75 6d |closure(| t, &num|
|000006d0| 73 74 61 74 65 73 2c 20 | 61 63 63 73 65 74 2c 20 |states, |accset, |
|000006e0| 26 6e 61 63 63 2c 20 26 | 68 61 73 68 76 61 6c 20 |&nacc, &|hashval |
|000006f0| 29 3b 0a 58 20 2a 0a 58 | 20 2a 20 4e 4f 54 45 53 |);.X *.X| * NOTES|
|00000700| 0a 58 20 2a 20 20 20 20 | 74 68 65 20 65 70 73 69 |.X * |the epsi|
|00000710| 6c 6f 6e 20 63 6c 6f 73 | 75 72 65 20 69 73 20 74 |lon clos|ure is t|
|00000720| 68 65 20 73 65 74 20 6f | 66 20 61 6c 6c 20 73 74 |he set o|f all st|
|00000730| 61 74 65 73 20 72 65 61 | 63 68 61 62 6c 65 20 62 |ates rea|chable b|
|00000740| 79 20 61 6e 20 61 72 62 | 69 74 72 61 72 79 0a 58 |y an arb|itrary.X|
|00000750| 20 2a 20 20 6e 75 6d 62 | 65 72 20 6f 66 20 65 70 | * numb|er of ep|
|00000760| 73 69 6c 6f 6e 20 74 72 | 61 6e 73 69 74 69 6f 6e |silon tr|ansition|
|00000770| 73 20 77 68 69 63 68 20 | 74 68 65 6d 73 65 6c 76 |s which |themselv|
|00000780| 65 73 20 64 6f 20 6e 6f | 74 20 68 61 76 65 20 65 |es do no|t have e|
|00000790| 70 73 69 6c 6f 6e 0a 58 | 20 2a 20 20 74 72 61 6e |psilon.X| * tran|
|000007a0| 73 69 74 69 6f 6e 73 20 | 67 6f 69 6e 67 20 6f 75 |sitions |going ou|
|000007b0| 74 2c 20 75 6e 69 6f 6e | 65 64 20 77 69 74 68 20 |t, union|ed with |
|000007c0| 74 68 65 20 73 65 74 20 | 6f 66 20 73 74 61 74 65 |the set |of state|
|000007d0| 73 20 77 68 69 63 68 20 | 68 61 76 65 20 6e 6f 6e |s which |have non|
|000007e0| 2d 6e 75 6c 6c 0a 58 20 | 2a 20 20 61 63 63 65 70 |-null.X |* accep|
|000007f0| 74 69 6e 67 20 6e 75 6d | 62 65 72 73 2e 20 20 74 |ting num|bers. t|
|00000800| 20 69 73 20 61 6e 20 61 | 72 72 61 79 20 6f 66 20 | is an a|rray of |
|00000810| 73 69 7a 65 20 6e 75 6d | 73 74 61 74 65 73 20 6f |size num|states o|
|00000820| 66 20 6e 66 61 20 73 74 | 61 74 65 20 6e 75 6d 62 |f nfa st|ate numb|
|00000830| 65 72 73 2e 0a 58 20 2a | 20 20 55 70 6f 6e 20 72 |ers..X *| Upon r|
|00000840| 65 74 75 72 6e 2c 20 74 | 20 68 6f 6c 64 73 20 74 |eturn, t| holds t|
|00000850| 68 65 20 65 70 73 69 6c | 6f 6e 20 63 6c 6f 73 75 |he epsil|on closu|
|00000860| 72 65 20 61 6e 64 20 6e | 75 6d 73 74 61 74 65 73 |re and n|umstates|
|00000870| 20 69 73 20 75 70 64 61 | 74 65 64 2e 20 20 61 63 | is upda|ted. ac|
|00000880| 63 73 65 74 0a 58 20 2a | 20 20 68 6f 6c 64 73 20 |cset.X *| holds |
|00000890| 61 20 6c 69 73 74 20 6f | 66 20 74 68 65 20 61 63 |a list o|f the ac|
|000008a0| 63 65 70 74 69 6e 67 20 | 6e 75 6d 62 65 72 73 2c |cepting |numbers,|
|000008b0| 20 61 6e 64 20 74 68 65 | 20 73 69 7a 65 20 6f 66 | and the| size of|
|000008c0| 20 61 63 63 73 65 74 20 | 69 73 20 67 69 76 65 6e | accset |is given|
|000008d0| 0a 58 20 2a 20 20 62 79 | 20 6e 61 63 63 2e 20 20 |.X * by| nacc. |
|000008e0| 74 20 6d 61 79 20 62 65 | 20 73 75 62 6a 65 63 74 |t may be| subject|
|000008f0| 65 64 20 74 6f 20 72 65 | 61 6c 6c 6f 63 61 74 69 |ed to re|allocati|
|00000900| 6f 6e 20 69 66 20 69 74 | 20 69 73 20 6e 6f 74 20 |on if it| is not |
|00000910| 6c 61 72 67 65 20 65 6e | 6f 75 67 68 0a 58 20 2a |large en|ough.X *|
|00000920| 20 20 74 6f 20 68 6f 6c | 64 20 74 68 65 20 65 70 | to hol|d the ep|
|00000930| 73 69 6c 6f 6e 20 63 6c | 6f 73 75 72 65 2e 0a 58 |silon cl|osure..X|
|00000940| 20 2a 0a 58 20 2a 20 20 | 20 20 68 61 73 68 76 61 | *.X * | hashva|
|00000950| 6c 20 69 73 20 74 68 65 | 20 68 61 73 68 20 76 61 |l is the| hash va|
|00000960| 6c 75 65 20 66 6f 72 20 | 74 68 65 20 64 66 61 20 |lue for |the dfa |
|00000970| 63 6f 72 72 65 73 70 6f | 6e 64 69 6e 67 20 74 6f |correspo|nding to|
|00000980| 20 74 68 65 20 73 74 61 | 74 65 20 73 65 74 0a 58 | the sta|te set.X|
|00000990| 20 2a 2f 0a 58 0a 69 6e | 74 20 2a 65 70 73 63 6c | */.X.in|t *epscl|
|000009a0| 6f 73 75 72 65 28 20 74 | 2c 20 6e 73 5f 61 64 64 |osure( t|, ns_add|
|000009b0| 72 2c 20 61 63 63 73 65 | 74 2c 20 6e 61 63 63 5f |r, accse|t, nacc_|
|000009c0| 61 64 64 72 2c 20 68 76 | 5f 61 64 64 72 20 29 0a |addr, hv|_addr ).|
|000009d0| 69 6e 74 20 2a 74 2c 20 | 2a 6e 73 5f 61 64 64 72 |int *t, |*ns_addr|
|000009e0| 2c 20 61 63 63 73 65 74 | 5b 5d 2c 20 2a 6e 61 63 |, accset|[], *nac|
|000009f0| 63 5f 61 64 64 72 2c 20 | 2a 68 76 5f 61 64 64 72 |c_addr, |*hv_addr|
|00000a00| 3b 0a 58 0a 58 20 20 20 | 20 7b 0a 58 20 20 20 20 |;.X.X | {.X |
|00000a10| 72 65 67 69 73 74 65 72 | 20 69 6e 74 20 73 74 6b |register| int stk|
|00000a20| 70 6f 73 2c 20 6e 73 2c | 20 74 73 70 3b 0a 58 20 |pos, ns,| tsp;.X |
|00000a30| 20 20 20 69 6e 74 20 6e | 75 6d 73 74 61 74 65 73 | int n|umstates|
|00000a40| 20 3d 20 2a 6e 73 5f 61 | 64 64 72 2c 20 6e 61 63 | = *ns_a|ddr, nac|
|00000a50| 63 2c 20 68 61 73 68 76 | 61 6c 2c 20 74 72 61 6e |c, hashv|al, tran|
|00000a60| 73 73 79 6d 2c 20 6e 66 | 61 63 63 6e 75 6d 3b 0a |ssym, nf|accnum;.|
|00000a70| 58 20 20 20 20 69 6e 74 | 20 73 74 6b 65 6e 64 2c |X int| stkend,|
|00000a80| 20 6e 73 74 61 74 65 3b | 0a 58 20 20 20 20 73 74 | nstate;|.X st|
|00000a90| 61 74 69 63 20 69 6e 74 | 20 64 69 64 5f 73 74 6b |atic int| did_stk|
|00000aa0| 5f 69 6e 69 74 20 3d 20 | 66 61 6c 73 65 2c 20 2a |_init = |false, *|
|00000ab0| 73 74 6b 3b 20 0a 58 0a | 58 23 64 65 66 69 6e 65 |stk; .X.|X#define|
|00000ac0| 20 4d 41 52 4b 5f 53 54 | 41 54 45 28 73 74 61 74 | MARK_ST|ATE(stat|
|00000ad0| 65 29 20 5c 0a 58 09 74 | 72 61 6e 73 31 5b 73 74 |e) \.X.t|rans1[st|
|00000ae0| 61 74 65 5d 20 3d 20 74 | 72 61 6e 73 31 5b 73 74 |ate] = t|rans1[st|
|00000af0| 61 74 65 5d 20 2d 20 4d | 41 52 4b 45 52 5f 44 49 |ate] - M|ARKER_DI|
|00000b00| 46 46 45 52 45 4e 43 45 | 3b 0a 58 0a 58 23 64 65 |FFERENCE|;.X.X#de|
|00000b10| 66 69 6e 65 20 49 53 5f | 4d 41 52 4b 45 44 28 73 |fine IS_|MARKED(s|
|00000b20| 74 61 74 65 29 20 28 74 | 72 61 6e 73 31 5b 73 74 |tate) (t|rans1[st|
|00000b30| 61 74 65 5d 20 3c 20 30 | 29 0a 58 0a 58 23 64 65 |ate] < 0|).X.X#de|
|00000b40| 66 69 6e 65 20 55 4e 4d | 41 52 4b 5f 53 54 41 54 |fine UNM|ARK_STAT|
|00000b50| 45 28 73 74 61 74 65 29 | 20 5c 0a 58 09 74 72 61 |E(state)| \.X.tra|
|00000b60| 6e 73 31 5b 73 74 61 74 | 65 5d 20 3d 20 74 72 61 |ns1[stat|e] = tra|
|00000b70| 6e 73 31 5b 73 74 61 74 | 65 5d 20 2b 20 4d 41 52 |ns1[stat|e] + MAR|
|00000b80| 4b 45 52 5f 44 49 46 46 | 45 52 45 4e 43 45 3b 0a |KER_DIFF|ERENCE;.|
|00000b90| 58 0a 58 23 64 65 66 69 | 6e 65 20 43 48 45 43 4b |X.X#defi|ne CHECK|
|00000ba0| 5f 41 43 43 45 50 54 28 | 73 74 61 74 65 29 20 5c |_ACCEPT(|state) \|
|00000bb0| 0a 58 09 7b 20 5c 0a 58 | 09 6e 66 61 63 63 6e 75 |.X.{ \.X|.nfaccnu|
|00000bc0| 6d 20 3d 20 61 63 63 70 | 74 6e 75 6d 5b 73 74 61 |m = accp|tnum[sta|
|00000bd0| 74 65 5d 3b 20 5c 0a 58 | 09 69 66 20 28 20 6e 66 |te]; \.X|.if ( nf|
|00000be0| 61 63 63 6e 75 6d 20 21 | 3d 20 4e 49 4c 20 29 20 |accnum !|= NIL ) |
|00000bf0| 5c 0a 58 09 20 20 20 20 | 61 63 63 73 65 74 5b 2b |\.X. |accset[+|
|00000c00| 2b 6e 61 63 63 5d 20 3d | 20 6e 66 61 63 63 6e 75 |+nacc] =| nfaccnu|
|00000c10| 6d 3b 20 5c 0a 58 09 7d | 0a 58 0a 58 23 64 65 66 |m; \.X.}|.X.X#def|
|00000c20| 69 6e 65 20 44 4f 5f 52 | 45 41 4c 4c 4f 43 41 54 |ine DO_R|EALLOCAT|
|00000c30| 49 4f 4e 20 5c 0a 58 09 | 7b 20 5c 0a 58 09 63 75 |ION \.X.|{ \.X.cu|
|00000c40| 72 72 65 6e 74 5f 6d 61 | 78 5f 64 66 61 5f 73 69 |rrent_ma|x_dfa_si|
|00000c50| 7a 65 20 2b 3d 20 4d 41 | 58 5f 44 46 41 5f 53 49 |ze += MA|X_DFA_SI|
|00000c60| 5a 45 5f 49 4e 43 52 45 | 4d 45 4e 54 3b 20 5c 0a |ZE_INCRE|MENT; \.|
|00000c70| 58 09 2b 2b 6e 75 6d 5f | 72 65 61 6c 6c 6f 63 73 |X.++num_|reallocs|
|00000c80| 3b 20 5c 0a 58 09 74 20 | 3d 20 72 65 61 6c 6c 6f |; \.X.t |= reallo|
|00000c90| 63 61 74 65 5f 69 6e 74 | 65 67 65 72 5f 61 72 72 |cate_int|eger_arr|
|00000ca0| 61 79 28 20 74 2c 20 63 | 75 72 72 65 6e 74 5f 6d |ay( t, c|urrent_m|
|00000cb0| 61 78 5f 64 66 61 5f 73 | 69 7a 65 20 29 3b 20 5c |ax_dfa_s|ize ); \|
|00000cc0| 0a 58 09 73 74 6b 20 3d | 20 72 65 61 6c 6c 6f 63 |.X.stk =| realloc|
|00000cd0| 61 74 65 5f 69 6e 74 65 | 67 65 72 5f 61 72 72 61 |ate_inte|ger_arra|
|00000ce0| 79 28 20 73 74 6b 2c 20 | 63 75 72 72 65 6e 74 5f |y( stk, |current_|
|00000cf0| 6d 61 78 5f 64 66 61 5f | 73 69 7a 65 20 29 3b 20 |max_dfa_|size ); |
|00000d00| 5c 0a 58 09 7d 20 5c 0a | 58 0a 58 23 64 65 66 69 |\.X.} \.|X.X#defi|
|00000d10| 6e 65 20 50 55 54 5f 4f | 4e 5f 53 54 41 43 4b 28 |ne PUT_O|N_STACK(|
|00000d20| 73 74 61 74 65 29 20 5c | 0a 58 09 7b 20 5c 0a 58 |state) \|.X.{ \.X|
|00000d30| 09 69 66 20 28 20 2b 2b | 73 74 6b 65 6e 64 20 3e |.if ( ++|stkend >|
|00000d40| 3d 20 63 75 72 72 65 6e | 74 5f 6d 61 78 5f 64 66 |= curren|t_max_df|
|00000d50| 61 5f 73 69 7a 65 20 29 | 20 5c 0a 58 09 20 20 20 |a_size )| \.X. |
|00000d60| 20 44 4f 5f 52 45 41 4c | 4c 4f 43 41 54 49 4f 4e | DO_REAL|LOCATION|
|00000d70| 20 5c 0a 58 09 73 74 6b | 5b 73 74 6b 65 6e 64 5d | \.X.stk|[stkend]|
|00000d80| 20 3d 20 73 74 61 74 65 | 3b 20 5c 0a 58 09 4d 41 | = state|; \.X.MA|
|00000d90| 52 4b 5f 53 54 41 54 45 | 28 73 74 61 74 65 29 20 |RK_STATE|(state) |
|00000da0| 5c 0a 58 09 7d 0a 58 0a | 58 23 64 65 66 69 6e 65 |\.X.}.X.|X#define|
|00000db0| 20 41 44 44 5f 53 54 41 | 54 45 28 73 74 61 74 65 | ADD_STA|TE(state|
|00000dc0| 29 20 5c 0a 58 09 7b 20 | 5c 0a 58 09 69 66 20 28 |) \.X.{ |\.X.if (|
|00000dd0| 20 2b 2b 6e 75 6d 73 74 | 61 74 65 73 20 3e 3d 20 | ++numst|ates >= |
|00000de0| 63 75 72 72 65 6e 74 5f | 6d 61 78 5f 64 66 61 5f |current_|max_dfa_|
|00000df0| 73 69 7a 65 20 29 20 5c | 0a 58 09 20 20 20 20 44 |size ) \|.X. D|
|00000e00| 4f 5f 52 45 41 4c 4c 4f | 43 41 54 49 4f 4e 20 5c |O_REALLO|CATION \|
|00000e10| 0a 58 09 74 5b 6e 75 6d | 73 74 61 74 65 73 5d 20 |.X.t[num|states] |
|00000e20| 3d 20 73 74 61 74 65 3b | 20 5c 0a 58 09 68 61 73 |= state;| \.X.has|
|00000e30| 68 76 61 6c 20 3d 20 68 | 61 73 68 76 61 6c 20 2b |hval = h|ashval +|
|00000e40| 20 73 74 61 74 65 3b 20 | 5c 0a 58 09 7d 0a 58 0a | state; |\.X.}.X.|
|00000e50| 58 23 64 65 66 69 6e 65 | 20 53 54 41 43 4b 5f 53 |X#define| STACK_S|
|00000e60| 54 41 54 45 28 73 74 61 | 74 65 29 20 5c 0a 58 09 |TATE(sta|te) \.X.|
|00000e70| 7b 20 5c 0a 58 09 50 55 | 54 5f 4f 4e 5f 53 54 41 |{ \.X.PU|T_ON_STA|
|00000e80| 43 4b 28 73 74 61 74 65 | 29 20 5c 0a 58 09 43 48 |CK(state|) \.X.CH|
|00000e90| 45 43 4b 5f 41 43 43 45 | 50 54 28 73 74 61 74 65 |ECK_ACCE|PT(state|
|00000ea0| 29 20 5c 0a 58 09 69 66 | 20 28 20 6e 66 61 63 63 |) \.X.if| ( nfacc|
|00000eb0| 6e 75 6d 20 21 3d 20 4e | 49 4c 20 7c 7c 20 74 72 |num != N|IL || tr|
|00000ec0| 61 6e 73 63 68 61 72 5b | 73 74 61 74 65 5d 20 21 |anschar[|state] !|
|00000ed0| 3d 20 53 59 4d 5f 45 50 | 53 49 4c 4f 4e 20 29 20 |= SYM_EP|SILON ) |
|00000ee0| 5c 0a 58 09 20 20 20 20 | 41 44 44 5f 53 54 41 54 |\.X. |ADD_STAT|
|00000ef0| 45 28 73 74 61 74 65 29 | 20 5c 0a 58 09 7d 0a 58 |E(state)| \.X.}.X|
|00000f00| 0a 58 20 20 20 20 69 66 | 20 28 20 21 20 64 69 64 |.X if| ( ! did|
|00000f10| 5f 73 74 6b 5f 69 6e 69 | 74 20 29 0a 58 09 7b 0a |_stk_ini|t ).X.{.|
|00000f20| 58 09 73 74 6b 20 3d 20 | 61 6c 6c 6f 63 61 74 65 |X.stk = |allocate|
|00000f30| 5f 69 6e 74 65 67 65 72 | 5f 61 72 72 61 79 28 20 |_integer|_array( |
|00000f40| 63 75 72 72 65 6e 74 5f | 6d 61 78 5f 64 66 61 5f |current_|max_dfa_|
|00000f50| 73 69 7a 65 20 29 3b 0a | 58 09 64 69 64 5f 73 74 |size );.|X.did_st|
|00000f60| 6b 5f 69 6e 69 74 20 3d | 20 74 72 75 65 3b 0a 58 |k_init =| true;.X|
|00000f70| 09 7d 0a 58 0a 58 20 20 | 20 20 6e 61 63 63 20 3d |.}.X.X | nacc =|
|00000f80| 20 73 74 6b 65 6e 64 20 | 3d 20 68 61 73 68 76 61 | stkend |= hashva|
|00000f90| 6c 20 3d 20 30 3b 0a 58 | 0a 58 20 20 20 20 66 6f |l = 0;.X|.X fo|
|00000fa0| 72 20 28 20 6e 73 74 61 | 74 65 20 3d 20 31 3b 20 |r ( nsta|te = 1; |
|00000fb0| 6e 73 74 61 74 65 20 3c | 3d 20 6e 75 6d 73 74 61 |nstate <|= numsta|
|00000fc0| 74 65 73 3b 20 2b 2b 6e | 73 74 61 74 65 20 29 0a |tes; ++n|state ).|
|00000fd0| 58 09 7b 0a 58 09 6e 73 | 20 3d 20 74 5b 6e 73 74 |X.{.X.ns| = t[nst|
|00000fe0| 61 74 65 5d 3b 0a 58 0a | 58 09 2f 2a 20 74 68 65 |ate];.X.|X./* the|
|00000ff0| 20 73 74 61 74 65 20 63 | 6f 75 6c 64 20 62 65 20 | state c|ould be |
|00001000| 6d 61 72 6b 65 64 20 69 | 66 20 77 65 27 76 65 20 |marked i|f we've |
|00001010| 61 6c 72 65 61 64 79 20 | 70 75 73 68 65 64 20 69 |already |pushed i|
|00001020| 74 20 6f 6e 74 6f 0a 58 | 09 20 2a 20 74 68 65 20 |t onto.X|. * the |
|00001030| 73 74 61 63 6b 0a 58 09 | 20 2a 2f 0a 58 09 69 66 |stack.X.| */.X.if|
|00001040| 20 28 20 21 20 49 53 5f | 4d 41 52 4b 45 44 28 6e | ( ! IS_|MARKED(n|
|00001050| 73 29 20 29 0a 58 09 20 | 20 20 20 50 55 54 5f 4f |s) ).X. | PUT_O|
|00001060| 4e 5f 53 54 41 43 4b 28 | 6e 73 29 0a 58 0a 58 09 |N_STACK(|ns).X.X.|
|00001070| 43 48 45 43 4b 5f 41 43 | 43 45 50 54 28 6e 73 29 |CHECK_AC|CEPT(ns)|
|00001080| 0a 58 09 68 61 73 68 76 | 61 6c 20 3d 20 68 61 73 |.X.hashv|al = has|
|00001090| 68 76 61 6c 20 2b 20 6e | 73 3b 0a 58 09 7d 0a 58 |hval + n|s;.X.}.X|
|000010a0| 0a 58 20 20 20 20 66 6f | 72 20 28 20 73 74 6b 70 |.X fo|r ( stkp|
|000010b0| 6f 73 20 3d 20 31 3b 20 | 73 74 6b 70 6f 73 20 3c |os = 1; |stkpos <|
|000010c0| 3d 20 73 74 6b 65 6e 64 | 3b 20 2b 2b 73 74 6b 70 |= stkend|; ++stkp|
|000010d0| 6f 73 20 29 0a 58 09 7b | 0a 58 09 6e 73 20 3d 20 |os ).X.{|.X.ns = |
|000010e0| 73 74 6b 5b 73 74 6b 70 | 6f 73 5d 3b 0a 58 09 74 |stk[stkp|os];.X.t|
|000010f0| 72 61 6e 73 73 79 6d 20 | 3d 20 74 72 61 6e 73 63 |ranssym |= transc|
|00001100| 68 61 72 5b 6e 73 5d 3b | 0a 58 0a 58 09 69 66 20 |har[ns];|.X.X.if |
|00001110| 28 20 74 72 61 6e 73 73 | 79 6d 20 3d 3d 20 53 59 |( transs|ym == SY|
|00001120| 4d 5f 45 50 53 49 4c 4f | 4e 20 29 0a 58 09 20 20 |M_EPSILO|N ).X. |
|00001130| 20 20 7b 0a 58 09 20 20 | 20 20 74 73 70 20 3d 20 | {.X. | tsp = |
|00001140| 74 72 61 6e 73 31 5b 6e | 73 5d 20 2b 20 4d 41 52 |trans1[n|s] + MAR|
|00001150| 4b 45 52 5f 44 49 46 46 | 45 52 45 4e 43 45 3b 0a |KER_DIFF|ERENCE;.|
|00001160| 58 0a 58 09 20 20 20 20 | 69 66 20 28 20 74 73 70 |X.X. |if ( tsp|
|00001170| 20 21 3d 20 4e 4f 5f 54 | 52 41 4e 53 49 54 49 4f | != NO_T|RANSITIO|
|00001180| 4e 20 29 0a 58 09 09 7b | 0a 58 09 09 69 66 20 28 |N ).X..{|.X..if (|
|00001190| 20 21 20 49 53 5f 4d 41 | 52 4b 45 44 28 74 73 70 | ! IS_MA|RKED(tsp|
|000011a0| 29 20 29 0a 58 09 09 20 | 20 20 20 53 54 41 43 4b |) ).X.. | STACK|
|000011b0| 5f 53 54 41 54 45 28 74 | 73 70 29 0a 58 0a 58 09 |_STATE(t|sp).X.X.|
|000011c0| 09 74 73 70 20 3d 20 74 | 72 61 6e 73 32 5b 6e 73 |.tsp = t|rans2[ns|
|000011d0| 5d 3b 0a 58 0a 58 09 09 | 69 66 20 28 20 74 73 70 |];.X.X..|if ( tsp|
|000011e0| 20 21 3d 20 4e 4f 5f 54 | 52 41 4e 53 49 54 49 4f | != NO_T|RANSITIO|
|000011f0| 4e 20 29 0a 58 09 09 20 | 20 20 20 69 66 20 28 20 |N ).X.. | if ( |
|00001200| 21 20 49 53 5f 4d 41 52 | 4b 45 44 28 74 73 70 29 |! IS_MAR|KED(tsp)|
|00001210| 20 29 0a 58 09 09 09 53 | 54 41 43 4b 5f 53 54 41 | ).X...S|TACK_STA|
|00001220| 54 45 28 74 73 70 29 0a | 58 09 09 7d 0a 58 09 20 |TE(tsp).|X..}.X. |
|00001230| 20 20 20 7d 0a 58 09 7d | 0a 58 0a 58 20 20 20 20 | }.X.}|.X.X |
|00001240| 2f 2a 20 63 6c 65 61 72 | 20 6f 75 74 20 22 76 69 |/* clear| out "vi|
|00001250| 73 69 74 22 20 6d 61 72 | 6b 65 72 73 20 2a 2f 0a |sit" mar|kers */.|
|00001260| 58 0a 58 20 20 20 20 66 | 6f 72 20 28 20 73 74 6b |X.X f|or ( stk|
|00001270| 70 6f 73 20 3d 20 31 3b | 20 73 74 6b 70 6f 73 20 |pos = 1;| stkpos |
|00001280| 3c 3d 20 73 74 6b 65 6e | 64 3b 20 2b 2b 73 74 6b |<= stken|d; ++stk|
|00001290| 70 6f 73 20 29 0a 58 09 | 7b 0a 58 09 69 66 20 28 |pos ).X.|{.X.if (|
|000012a0| 20 49 53 5f 4d 41 52 4b | 45 44 28 73 74 6b 5b 73 | IS_MARK|ED(stk[s|
|000012b0| 74 6b 70 6f 73 5d 29 20 | 29 0a 58 09 20 20 20 20 |tkpos]) |).X. |
|000012c0| 7b 0a 58 09 20 20 20 20 | 55 4e 4d 41 52 4b 5f 53 |{.X. |UNMARK_S|
|000012d0| 54 41 54 45 28 73 74 6b | 5b 73 74 6b 70 6f 73 5d |TATE(stk|[stkpos]|
|000012e0| 29 0a 58 09 20 20 20 20 | 7d 0a 58 09 65 6c 73 65 |).X. |}.X.else|
|000012f0| 0a 58 09 20 20 20 20 66 | 6c 65 78 66 61 74 61 6c |.X. f|lexfatal|
|00001300| 28 20 22 63 6f 6e 73 69 | 73 74 65 6e 63 79 20 63 |( "consi|stency c|
|00001310| 68 65 63 6b 20 66 61 69 | 6c 65 64 20 69 6e 20 65 |heck fai|led in e|
|00001320| 70 73 63 6c 6f 73 75 72 | 65 28 29 22 20 29 3b 0a |psclosur|e()" );.|
|00001330| 58 09 7d 0a 58 0a 58 20 | 20 20 20 2a 6e 73 5f 61 |X.}.X.X | *ns_a|
|00001340| 64 64 72 20 3d 20 6e 75 | 6d 73 74 61 74 65 73 3b |ddr = nu|mstates;|
|00001350| 0a 58 20 20 20 20 2a 68 | 76 5f 61 64 64 72 20 3d |.X *h|v_addr =|
|00001360| 20 68 61 73 68 76 61 6c | 3b 0a 58 20 20 20 20 2a | hashval|;.X *|
|00001370| 6e 61 63 63 5f 61 64 64 | 72 20 3d 20 6e 61 63 63 |nacc_add|r = nacc|
|00001380| 3b 0a 58 0a 58 20 20 20 | 20 72 65 74 75 72 6e 20 |;.X.X | return |
|00001390| 28 20 74 20 29 3b 0a 58 | 20 20 20 20 7d 0a 58 0a |( t );.X| }.X.|
|000013a0| 58 0a 58 0a 58 2f 2a 20 | 69 6e 63 72 65 61 73 65 |X.X.X/* |increase|
|000013b0| 5f 6d 61 78 5f 64 66 61 | 73 20 2d 20 69 6e 63 72 |_max_dfa|s - incr|
|000013c0| 65 61 73 65 20 74 68 65 | 20 6d 61 78 69 6d 75 6d |ease the| maximum|
|000013d0| 20 6e 75 6d 62 65 72 20 | 6f 66 20 44 46 41 73 20 | number |of DFAs |
|000013e0| 2a 2f 0a 58 0a 69 6e 63 | 72 65 61 73 65 5f 6d 61 |*/.X.inc|rease_ma|
|000013f0| 78 5f 64 66 61 73 28 29 | 0a 58 0a 58 20 20 20 20 |x_dfas()|.X.X |
|00001400| 7b 0a 58 20 20 20 20 69 | 6e 74 20 6f 6c 64 5f 6d |{.X i|nt old_m|
|00001410| 61 78 20 3d 20 63 75 72 | 72 65 6e 74 5f 6d 61 78 |ax = cur|rent_max|
|00001420| 5f 64 66 61 73 3b 0a 58 | 0a 58 20 20 20 20 63 75 |_dfas;.X|.X cu|
|00001430| 72 72 65 6e 74 5f 6d 61 | 78 5f 64 66 61 73 20 2b |rrent_ma|x_dfas +|
|00001440| 3d 20 4d 41 58 5f 44 46 | 41 53 5f 49 4e 43 52 45 |= MAX_DF|AS_INCRE|
|00001450| 4d 45 4e 54 3b 0a 58 0a | 58 20 20 20 20 2b 2b 6e |MENT;.X.|X ++n|
|00001460| 75 6d 5f 72 65 61 6c 6c | 6f 63 73 3b 0a 58 0a 58 |um_reall|ocs;.X.X|
|00001470| 20 20 20 20 62 61 73 65 | 20 3d 20 72 65 61 6c 6c | base| = reall|
|00001480| 6f 63 61 74 65 5f 69 6e | 74 65 67 65 72 5f 61 72 |ocate_in|teger_ar|
|00001490| 72 61 79 28 20 62 61 73 | 65 2c 20 63 75 72 72 65 |ray( bas|e, curre|
|000014a0| 6e 74 5f 6d 61 78 5f 64 | 66 61 73 20 29 3b 0a 58 |nt_max_d|fas );.X|
|000014b0| 20 20 20 20 64 65 66 20 | 3d 20 72 65 61 6c 6c 6f | def |= reallo|
|000014c0| 63 61 74 65 5f 69 6e 74 | 65 67 65 72 5f 61 72 72 |cate_int|eger_arr|
|000014d0| 61 79 28 20 64 65 66 2c | 20 63 75 72 72 65 6e 74 |ay( def,| current|
|000014e0| 5f 6d 61 78 5f 64 66 61 | 73 20 29 3b 0a 58 20 20 |_max_dfa|s );.X |
|000014f0| 20 20 64 66 61 73 69 7a | 20 3d 20 72 65 61 6c 6c | dfasiz| = reall|
|00001500| 6f 63 61 74 65 5f 69 6e | 74 65 67 65 72 5f 61 72 |ocate_in|teger_ar|
|00001510| 72 61 79 28 20 64 66 61 | 73 69 7a 2c 20 63 75 72 |ray( dfa|siz, cur|
|00001520| 72 65 6e 74 5f 6d 61 78 | 5f 64 66 61 73 20 29 3b |rent_max|_dfas );|
|00001530| 0a 58 20 20 20 20 61 63 | 63 73 69 7a 20 3d 20 72 |.X ac|csiz = r|
|00001540| 65 61 6c 6c 6f 63 61 74 | 65 5f 69 6e 74 65 67 65 |eallocat|e_intege|
|00001550| 72 5f 61 72 72 61 79 28 | 20 61 63 63 73 69 7a 2c |r_array(| accsiz,|
|00001560| 20 63 75 72 72 65 6e 74 | 5f 6d 61 78 5f 64 66 61 | current|_max_dfa|
|00001570| 73 20 29 3b 0a 58 20 20 | 20 20 64 68 61 73 68 20 |s );.X | dhash |
|00001580| 3d 20 72 65 61 6c 6c 6f | 63 61 74 65 5f 69 6e 74 |= reallo|cate_int|
|00001590| 65 67 65 72 5f 61 72 72 | 61 79 28 20 64 68 61 73 |eger_arr|ay( dhas|
|000015a0| 68 2c 20 63 75 72 72 65 | 6e 74 5f 6d 61 78 5f 64 |h, curre|nt_max_d|
|000015b0| 66 61 73 20 29 3b 0a 58 | 20 20 20 20 74 6f 64 6f |fas );.X| todo|
|000015c0| 20 3d 20 72 65 61 6c 6c | 6f 63 61 74 65 5f 69 6e | = reall|ocate_in|
|000015d0| 74 65 67 65 72 5f 61 72 | 72 61 79 28 20 74 6f 64 |teger_ar|ray( tod|
|000015e0| 6f 2c 20 63 75 72 72 65 | 6e 74 5f 6d 61 78 5f 64 |o, curre|nt_max_d|
|000015f0| 66 61 73 20 29 3b 0a 58 | 20 20 20 20 64 73 73 20 |fas );.X| dss |
|00001600| 3d 20 72 65 61 6c 6c 6f | 63 61 74 65 5f 69 6e 74 |= reallo|cate_int|
|00001610| 65 67 65 72 5f 70 6f 69 | 6e 74 65 72 5f 61 72 72 |eger_poi|nter_arr|
|00001620| 61 79 28 20 64 73 73 2c | 20 63 75 72 72 65 6e 74 |ay( dss,| current|
|00001630| 5f 6d 61 78 5f 64 66 61 | 73 20 29 3b 0a 58 20 20 |_max_dfa|s );.X |
|00001640| 20 20 64 66 61 61 63 63 | 20 3d 20 72 65 61 6c 6c | dfaacc| = reall|
|00001650| 6f 63 61 74 65 5f 64 66 | 61 61 63 63 5f 75 6e 69 |ocate_df|aacc_uni|
|00001660| 6f 6e 28 20 64 66 61 61 | 63 63 2c 20 63 75 72 72 |on( dfaa|cc, curr|
|00001670| 65 6e 74 5f 6d 61 78 5f | 64 66 61 73 20 29 3b 0a |ent_max_|dfas );.|
|00001680| 58 0a 58 20 20 20 20 2f | 2a 20 66 69 78 20 75 70 |X.X /|* fix up|
|00001690| 20 74 6f 64 6f 20 71 75 | 65 75 65 20 2a 2f 0a 58 | todo qu|eue */.X|
|000016a0| 20 20 20 20 69 66 20 28 | 20 74 6f 64 6f 5f 6e 65 | if (| todo_ne|
|000016b0| 78 74 20 3c 20 74 6f 64 | 6f 5f 68 65 61 64 20 29 |xt < tod|o_head )|
|000016c0| 0a 58 09 7b 20 2f 2a 20 | 71 75 65 75 65 20 77 61 |.X.{ /* |queue wa|
|000016d0| 73 20 77 72 61 70 70 65 | 64 20 61 72 6f 75 6e 64 |s wrappe|d around|
|000016e0| 20 74 68 65 20 65 6e 64 | 20 2a 2f 0a 58 09 72 65 | the end| */.X.re|
|000016f0| 67 69 73 74 65 72 20 69 | 6e 74 20 69 3b 0a 58 0a |gister i|nt i;.X.|
|00001700| 58 09 66 6f 72 20 28 20 | 69 20 3d 20 30 3b 20 69 |X.for ( |i = 0; i|
|00001710| 20 3c 20 74 6f 64 6f 5f | 6e 65 78 74 3b 20 2b 2b | < todo_|next; ++|
|00001720| 69 20 29 0a 58 09 20 20 | 20 20 74 6f 64 6f 5b 6f |i ).X. | todo[o|
|00001730| 6c 64 5f 6d 61 78 20 2b | 20 69 5d 20 3d 20 74 6f |ld_max +| i] = to|
|00001740| 64 6f 5b 69 5d 3b 0a 58 | 09 0a 58 09 74 6f 64 6f |do[i];.X|..X.todo|
|00001750| 5f 6e 65 78 74 20 2b 3d | 20 6f 6c 64 5f 6d 61 78 |_next +=| old_max|
|00001760| 3b 0a 58 09 7d 0a 58 20 | 20 20 20 7d 0a 58 0a 58 |;.X.}.X | }.X.X|
|00001770| 0a 58 2f 2a 20 73 6e 73 | 74 6f 64 73 20 2d 20 63 |.X/* sns|tods - c|
|00001780| 6f 6e 76 65 72 74 73 20 | 61 20 73 65 74 20 6f 66 |onverts |a set of|
|00001790| 20 6e 64 66 61 20 73 74 | 61 74 65 73 20 69 6e 74 | ndfa st|ates int|
|000017a0| 6f 20 61 20 64 66 61 20 | 73 74 61 74 65 0a 58 20 |o a dfa |state.X |
|000017b0| 2a 0a 58 20 2a 20 73 79 | 6e 6f 70 73 69 73 0a 58 |*.X * sy|nopsis.X|
|000017c0| 20 2a 20 20 20 20 69 6e | 74 20 73 6e 73 5b 6e 75 | * in|t sns[nu|
|000017d0| 6d 73 74 61 74 65 73 5d | 2c 20 6e 75 6d 73 74 61 |mstates]|, numsta|
|000017e0| 74 65 73 2c 20 6e 65 77 | 64 73 2c 20 61 63 63 73 |tes, new|ds, accs|
|000017f0| 65 74 5b 61 63 63 6e 75 | 6d 20 2b 20 31 5d 2c 20 |et[accnu|m + 1], |
|00001800| 6e 61 63 63 2c 20 68 61 | 73 68 76 61 6c 3b 0a 58 |nacc, ha|shval;.X|
|00001810| 20 2a 20 20 20 20 69 6e | 74 20 73 6e 73 74 6f 64 | * in|t snstod|
|00001820| 73 28 29 3b 0a 58 20 2a | 20 20 20 20 69 73 5f 6e |s();.X *| is_n|
|00001830| 65 77 5f 73 74 61 74 65 | 20 3d 20 73 6e 73 74 6f |ew_state| = snsto|
|00001840| 64 73 28 20 73 6e 73 2c | 20 6e 75 6d 73 74 61 74 |ds( sns,| numstat|
|00001850| 65 73 2c 20 61 63 63 73 | 65 74 2c 20 6e 61 63 63 |es, accs|et, nacc|
|00001860| 2c 20 68 61 73 68 76 61 | 6c 2c 20 26 6e 65 77 64 |, hashva|l, &newd|
|00001870| 73 20 29 3b 0a 58 20 2a | 0a 58 20 2a 20 6f 6e 20 |s );.X *|.X * on |
|00001880| 72 65 74 75 72 6e 2c 20 | 74 68 65 20 64 66 61 20 |return, |the dfa |
|00001890| 73 74 61 74 65 20 6e 75 | 6d 62 65 72 20 69 73 20 |state nu|mber is |
|000018a0| 69 6e 20 6e 65 77 64 73 | 2e 0a 58 20 2a 2f 0a 58 |in newds|..X */.X|
|000018b0| 0a 69 6e 74 20 73 6e 73 | 74 6f 64 73 28 20 73 6e |.int sns|tods( sn|
|000018c0| 73 2c 20 6e 75 6d 73 74 | 61 74 65 73 2c 20 61 63 |s, numst|ates, ac|
|000018d0| 63 73 65 74 2c 20 6e 61 | 63 63 2c 20 68 61 73 68 |cset, na|cc, hash|
|000018e0| 76 61 6c 2c 20 6e 65 77 | 64 73 5f 61 64 64 72 20 |val, new|ds_addr |
|000018f0| 29 0a 69 6e 74 20 73 6e | 73 5b 5d 2c 20 6e 75 6d |).int sn|s[], num|
|00001900| 73 74 61 74 65 73 2c 20 | 61 63 63 73 65 74 5b 5d |states, |accset[]|
|00001910| 2c 20 6e 61 63 63 2c 20 | 68 61 73 68 76 61 6c 2c |, nacc, |hashval,|
|00001920| 20 2a 6e 65 77 64 73 5f | 61 64 64 72 3b 0a 58 0a | *newds_|addr;.X.|
|00001930| 58 20 20 20 20 7b 0a 58 | 20 20 20 20 69 6e 74 20 |X {.X| int |
|00001940| 64 69 64 73 6f 72 74 20 | 3d 20 30 3b 0a 58 20 20 |didsort |= 0;.X |
|00001950| 20 20 72 65 67 69 73 74 | 65 72 20 69 6e 74 20 69 | regist|er int i|
|00001960| 2c 20 6a 3b 0a 58 20 20 | 20 20 69 6e 74 20 6e 65 |, j;.X | int ne|
|00001970| 77 64 73 2c 20 2a 6f 6c | 64 73 6e 73 3b 0a 58 20 |wds, *ol|dsns;.X |
|00001980| 20 20 20 63 68 61 72 20 | 2a 6d 61 6c 6c 6f 63 28 | char |*malloc(|
|00001990| 29 3b 0a 58 0a 58 20 20 | 20 20 66 6f 72 20 28 20 |);.X.X | for ( |
|000019a0| 69 20 3d 20 31 3b 20 69 | 20 3c 3d 20 6c 61 73 74 |i = 1; i| <= last|
|000019b0| 64 66 61 3b 20 2b 2b 69 | 20 29 0a 58 09 69 66 20 |dfa; ++i| ).X.if |
|000019c0| 28 20 68 61 73 68 76 61 | 6c 20 3d 3d 20 64 68 61 |( hashva|l == dha|
|000019d0| 73 68 5b 69 5d 20 29 0a | 58 09 20 20 20 20 7b 0a |sh[i] ).|X. {.|
|000019e0| 58 09 20 20 20 20 69 66 | 20 28 20 6e 75 6d 73 74 |X. if| ( numst|
|000019f0| 61 74 65 73 20 3d 3d 20 | 64 66 61 73 69 7a 5b 69 |ates == |dfasiz[i|
|00001a00| 5d 20 29 0a 58 09 09 7b | 0a 58 09 09 6f 6c 64 73 |] ).X..{|.X..olds|
|00001a10| 6e 73 20 3d 20 64 73 73 | 5b 69 5d 3b 0a 58 0a 58 |ns = dss|[i];.X.X|
|00001a20| 09 09 69 66 20 28 20 21 | 20 64 69 64 73 6f 72 74 |..if ( !| didsort|
|00001a30| 20 29 0a 58 09 09 20 20 | 20 20 7b 0a 58 09 09 20 | ).X.. | {.X.. |
|00001a40| 20 20 20 2f 2a 20 77 65 | 20 73 6f 72 74 20 74 68 | /* we| sort th|
|00001a50| 65 20 73 74 61 74 65 73 | 20 69 6e 20 73 6e 73 20 |e states| in sns |
|00001a60| 73 6f 20 77 65 20 63 61 | 6e 20 63 6f 6d 70 61 72 |so we ca|n compar|
|00001a70| 65 20 69 74 20 74 6f 0a | 58 09 09 20 20 20 20 20 |e it to.|X.. |
|00001a80| 2a 20 6f 6c 64 73 6e 73 | 20 71 75 69 63 6b 6c 79 |* oldsns| quickly|
|00001a90| 2e 20 20 77 65 20 75 73 | 65 20 62 75 62 62 6c 65 |. we us|e bubble|
|00001aa0| 20 62 65 63 61 75 73 65 | 20 74 68 65 72 65 20 70 | because| there p|
|00001ab0| 72 6f 62 61 62 6c 79 0a | 58 09 09 20 20 20 20 20 |robably.|X.. |
|00001ac0| 2a 20 61 72 65 6e 27 74 | 20 76 65 72 79 20 6d 61 |* aren't| very ma|
|00001ad0| 6e 79 20 73 74 61 74 65 | 73 0a 58 09 09 20 20 20 |ny state|s.X.. |
|00001ae0| 20 20 2a 2f 0a 58 09 09 | 20 20 20 20 62 75 62 62 | */.X..| bubb|
|00001af0| 6c 65 28 20 73 6e 73 2c | 20 6e 75 6d 73 74 61 74 |le( sns,| numstat|
|00001b00| 65 73 20 29 3b 0a 58 09 | 09 20 20 20 20 64 69 64 |es );.X.|. did|
|00001b10| 73 6f 72 74 20 3d 20 31 | 3b 0a 58 09 09 20 20 20 |sort = 1|;.X.. |
|00001b20| 20 7d 0a 58 0a 58 09 09 | 66 6f 72 20 28 20 6a 20 | }.X.X..|for ( j |
|00001b30| 3d 20 31 3b 20 6a 20 3c | 3d 20 6e 75 6d 73 74 61 |= 1; j <|= numsta|
|00001b40| 74 65 73 3b 20 2b 2b 6a | 20 29 0a 58 09 09 20 20 |tes; ++j| ).X.. |
|00001b50| 20 20 69 66 20 28 20 73 | 6e 73 5b 6a 5d 20 21 3d | if ( s|ns[j] !=|
|00001b60| 20 6f 6c 64 73 6e 73 5b | 6a 5d 20 29 0a 58 09 09 | oldsns[|j] ).X..|
|00001b70| 09 62 72 65 61 6b 3b 0a | 58 0a 58 09 09 69 66 20 |.break;.|X.X..if |
|00001b80| 28 20 6a 20 3e 20 6e 75 | 6d 73 74 61 74 65 73 20 |( j > nu|mstates |
|00001b90| 29 0a 58 09 09 20 20 20 | 20 7b 0a 58 09 09 20 20 |).X.. | {.X.. |
|00001ba0| 20 20 2b 2b 64 66 61 65 | 71 6c 3b 0a 58 09 09 20 | ++dfae|ql;.X.. |
|00001bb0| 20 20 20 2a 6e 65 77 64 | 73 5f 61 64 64 72 20 3d | *newd|s_addr =|
|00001bc0| 20 69 3b 0a 58 09 09 20 | 20 20 20 72 65 74 75 72 | i;.X.. | retur|
|00001bd0| 6e 20 28 20 30 20 29 3b | 0a 58 09 09 20 20 20 20 |n ( 0 );|.X.. |
|00001be0| 7d 0a 58 0a 58 09 09 2b | 2b 68 73 68 63 6f 6c 3b |}.X.X..+|+hshcol;|
|00001bf0| 0a 58 09 09 7d 0a 58 0a | 58 09 20 20 20 20 65 6c |.X..}.X.|X. el|
|00001c00| 73 65 0a 58 09 09 2b 2b | 68 73 68 73 61 76 65 3b |se.X..++|hshsave;|
|00001c10| 0a 58 09 20 20 20 20 7d | 0a 58 0a 58 20 20 20 20 |.X. }|.X.X |
|00001c20| 2f 2a 20 6d 61 6b 65 20 | 61 20 6e 65 77 20 64 66 |/* make |a new df|
|00001c30| 61 20 2a 2f 0a 58 0a 58 | 20 20 20 20 69 66 20 28 |a */.X.X| if (|
|00001c40| 20 2b 2b 6c 61 73 74 64 | 66 61 20 3e 3d 20 63 75 | ++lastd|fa >= cu|
|00001c50| 72 72 65 6e 74 5f 6d 61 | 78 5f 64 66 61 73 20 29 |rrent_ma|x_dfas )|
|00001c60| 0a 58 09 69 6e 63 72 65 | 61 73 65 5f 6d 61 78 5f |.X.incre|ase_max_|
|00001c70| 64 66 61 73 28 29 3b 0a | 58 0a 58 20 20 20 20 6e |dfas();.|X.X n|
|00001c80| 65 77 64 73 20 3d 20 6c | 61 73 74 64 66 61 3b 0a |ewds = l|astdfa;.|
|00001c90| 58 0a 58 20 20 20 20 69 | 66 20 28 20 21 20 28 64 |X.X i|f ( ! (d|
|00001ca0| 73 73 5b 6e 65 77 64 73 | 5d 20 3d 20 28 69 6e 74 |ss[newds|] = (int|
|00001cb0| 20 2a 29 20 6d 61 6c 6c | 6f 63 28 20 28 75 6e 73 | *) mall|oc( (uns|
|00001cc0| 69 67 6e 65 64 29 20 28 | 28 6e 75 6d 73 74 61 74 |igned) (|(numstat|
|00001cd0| 65 73 20 2b 20 31 29 20 | 2a 20 73 69 7a 65 6f 66 |es + 1) |* sizeof|
|00001ce0| 28 20 69 6e 74 20 29 29 | 20 29 29 20 29 0a 58 09 |( int ))| )) ).X.|
|00001cf0| 66 6c 65 78 66 61 74 61 | 6c 28 20 22 64 79 6e 61 |flexfata|l( "dyna|
|00001d00| 6d 69 63 20 6d 65 6d 6f | 72 79 20 66 61 69 6c 75 |mic memo|ry failu|
|00001d10| 72 65 20 69 6e 20 73 6e | 73 74 6f 64 73 28 29 22 |re in sn|stods()"|
|00001d20| 20 29 3b 0a 58 0a 58 20 | 20 20 20 2f 2a 20 69 66 | );.X.X | /* if|
|00001d30| 20 77 65 20 68 61 76 65 | 6e 27 74 20 61 6c 72 65 | we have|n't alre|
|00001d40| 61 64 79 20 73 6f 72 74 | 65 64 20 74 68 65 20 73 |ady sort|ed the s|
|00001d50| 74 61 74 65 73 20 69 6e | 20 73 6e 73 2c 20 77 65 |tates in| sns, we|
|00001d60| 20 64 6f 20 73 6f 20 6e | 6f 77 2c 20 73 6f 20 74 | do so n|ow, so t|
|00001d70| 68 61 74 0a 58 20 20 20 | 20 20 2a 20 66 75 74 75 |hat.X | * futu|
|00001d80| 72 65 20 63 6f 6d 70 61 | 72 69 73 6f 6e 73 20 77 |re compa|risons w|
|00001d90| 69 74 68 20 69 74 20 63 | 61 6e 20 62 65 20 6d 61 |ith it c|an be ma|
|00001da0| 64 65 20 71 75 69 63 6b | 6c 79 0a 58 20 20 20 20 |de quick|ly.X |
|00001db0| 20 2a 2f 0a 58 0a 58 20 | 20 20 20 69 66 20 28 20 | */.X.X | if ( |
|00001dc0| 21 20 64 69 64 73 6f 72 | 74 20 29 0a 58 09 62 75 |! didsor|t ).X.bu|
|00001dd0| 62 62 6c 65 28 20 73 6e | 73 2c 20 6e 75 6d 73 74 |bble( sn|s, numst|
|00001de0| 61 74 65 73 20 29 3b 0a | 58 0a 58 20 20 20 20 66 |ates );.|X.X f|
|00001df0| 6f 72 20 28 20 69 20 3d | 20 31 3b 20 69 20 3c 3d |or ( i =| 1; i <=|
|00001e00| 20 6e 75 6d 73 74 61 74 | 65 73 3b 20 2b 2b 69 20 | numstat|es; ++i |
|00001e10| 29 0a 58 09 64 73 73 5b | 6e 65 77 64 73 5d 5b 69 |).X.dss[|newds][i|
|00001e20| 5d 20 3d 20 73 6e 73 5b | 69 5d 3b 0a 58 0a 58 20 |] = sns[|i];.X.X |
|00001e30| 20 20 20 64 66 61 73 69 | 7a 5b 6e 65 77 64 73 5d | dfasi|z[newds]|
|00001e40| 20 3d 20 6e 75 6d 73 74 | 61 74 65 73 3b 0a 58 20 | = numst|ates;.X |
|00001e50| 20 20 20 64 68 61 73 68 | 5b 6e 65 77 64 73 5d 20 | dhash|[newds] |
|00001e60| 3d 20 68 61 73 68 76 61 | 6c 3b 0a 58 0a 58 20 20 |= hashva|l;.X.X |
|00001e70| 20 20 69 66 20 28 20 6e | 61 63 63 20 3d 3d 20 30 | if ( n|acc == 0|
|00001e80| 20 29 0a 58 09 7b 0a 58 | 09 64 66 61 61 63 63 5b | ).X.{.X|.dfaacc[|
|00001e90| 6e 65 77 64 73 5d 2e 64 | 66 61 61 63 63 5f 73 74 |newds].d|faacc_st|
|00001ea0| 61 74 65 20 3d 20 30 3b | 0a 58 09 61 63 63 73 69 |ate = 0;|.X.accsi|
|00001eb0| 7a 5b 6e 65 77 64 73 5d | 20 3d 20 30 3b 0a 58 09 |z[newds]| = 0;.X.|
|00001ec0| 7d 0a 58 0a 58 20 20 20 | 20 65 6c 73 65 20 69 66 |}.X.X | else if|
|00001ed0| 20 28 20 72 65 6a 65 63 | 74 20 29 0a 58 09 7b 0a | ( rejec|t ).X.{.|
|00001ee0| 58 09 2f 2a 20 77 65 20 | 73 6f 72 74 20 74 68 65 |X./* we |sort the|
|00001ef0| 20 61 63 63 65 70 74 69 | 6e 67 20 73 65 74 20 69 | accepti|ng set i|
|00001f00| 6e 20 69 6e 63 72 65 61 | 73 69 6e 67 20 6f 72 64 |n increa|sing ord|
|00001f10| 65 72 20 73 6f 20 74 68 | 65 20 64 69 73 61 6d 62 |er so th|e disamb|
|00001f20| 69 67 75 61 74 69 6e 67 | 0a 58 09 20 2a 20 72 75 |iguating|.X. * ru|
|00001f30| 6c 65 20 74 68 61 74 20 | 74 68 65 20 66 69 72 73 |le that |the firs|
|00001f40| 74 20 72 75 6c 65 20 6c | 69 73 74 65 64 20 69 73 |t rule l|isted is|
|00001f50| 20 63 6f 6e 73 69 64 65 | 72 65 64 20 6d 61 74 63 | conside|red matc|
|00001f60| 68 20 69 6e 20 74 68 65 | 20 65 76 65 6e 74 20 6f |h in the| event o|
|00001f70| 66 0a 58 09 20 2a 20 74 | 69 65 73 20 77 69 6c 6c |f.X. * t|ies will|
|00001f80| 20 77 6f 72 6b 2e 20 20 | 57 65 20 75 73 65 20 61 | work. |We use a|
|00001f90| 20 62 75 62 62 6c 65 20 | 73 6f 72 74 20 73 69 6e | bubble |sort sin|
|00001fa0| 63 65 20 74 68 65 20 6c | 69 73 74 20 69 73 20 70 |ce the l|ist is p|
|00001fb0| 72 6f 62 61 62 6c 79 0a | 58 09 20 2a 20 71 75 69 |robably.|X. * qui|
|00001fc0| 74 65 20 73 6d 61 6c 6c | 2e 0a 58 09 20 2a 2f 0a |te small|..X. */.|
|00001fd0| 58 0a 58 09 62 75 62 62 | 6c 65 28 20 61 63 63 73 |X.X.bubb|le( accs|
|00001fe0| 65 74 2c 20 6e 61 63 63 | 20 29 3b 0a 58 0a 58 09 |et, nacc| );.X.X.|
|00001ff0| 64 66 61 61 63 63 5b 6e | 65 77 64 73 5d 2e 64 66 |dfaacc[n|ewds].df|
|00002000| 61 61 63 63 5f 73 74 61 | 74 65 20 3d 0a 58 09 20 |aacc_sta|te =.X. |
|00002010| 20 20 20 28 69 6e 74 29 | 20 6d 61 6c 6c 6f 63 28 | (int)| malloc(|
|00002020| 20 28 75 6e 73 69 67 6e | 65 64 29 20 28 28 6e 61 | (unsign|ed) ((na|
|00002030| 63 63 20 2b 20 31 29 20 | 2a 20 73 69 7a 65 6f 66 |cc + 1) |* sizeof|
|00002040| 28 20 69 6e 74 20 29 29 | 20 29 3b 0a 58 0a 58 09 |( int ))| );.X.X.|
|00002050| 69 66 20 28 20 21 20 64 | 66 61 61 63 63 5b 6e 65 |if ( ! d|faacc[ne|
|00002060| 77 64 73 5d 2e 64 66 61 | 61 63 63 5f 73 74 61 74 |wds].dfa|acc_stat|
|00002070| 65 20 29 0a 58 09 20 20 | 20 20 66 6c 65 78 66 61 |e ).X. | flexfa|
|00002080| 74 61 6c 28 20 22 64 79 | 6e 61 6d 69 63 20 6d 65 |tal( "dy|namic me|
|00002090| 6d 6f 72 79 20 66 61 69 | 6c 75 72 65 20 69 6e 20 |mory fai|lure in |
|000020a0| 73 6e 73 74 6f 64 73 28 | 29 22 20 29 3b 0a 58 0a |snstods(|)" );.X.|
|000020b0| 58 09 2f 2a 20 73 61 76 | 65 20 74 68 65 20 61 63 |X./* sav|e the ac|
|000020c0| 63 65 70 74 69 6e 67 20 | 73 65 74 20 66 6f 72 20 |cepting |set for |
|000020d0| 6c 61 74 65 72 20 2a 2f | 0a 58 09 66 6f 72 20 28 |later */|.X.for (|
|000020e0| 20 69 20 3d 20 31 3b 20 | 69 20 3c 3d 20 6e 61 63 | i = 1; |i <= nac|
|000020f0| 63 3b 20 2b 2b 69 20 29 | 0a 58 09 20 20 20 20 64 |c; ++i )|.X. d|
|00002100| 66 61 61 63 63 5b 6e 65 | 77 64 73 5d 2e 64 66 61 |faacc[ne|wds].dfa|
|00002110| 61 63 63 5f 73 65 74 5b | 69 5d 20 3d 20 61 63 63 |acc_set[|i] = acc|
|00002120| 73 65 74 5b 69 5d 3b 0a | 58 0a 58 09 61 63 63 73 |set[i];.|X.X.accs|
|00002130| 69 7a 5b 6e 65 77 64 73 | 5d 20 3d 20 6e 61 63 63 |iz[newds|] = nacc|
|00002140| 3b 0a 58 09 7d 0a 58 0a | 58 20 20 20 20 65 6c 73 |;.X.}.X.|X els|
|00002150| 65 0a 58 09 7b 20 2f 2a | 20 66 69 6e 64 20 6c 6f |e.X.{ /*| find lo|
|00002160| 77 65 73 74 20 6e 75 6d | 62 65 72 65 64 20 72 75 |west num|bered ru|
|00002170| 6c 65 20 73 6f 20 74 68 | 65 20 64 69 73 61 6d 62 |le so th|e disamb|
|00002180| 69 67 75 61 74 69 6e 67 | 20 72 75 6c 65 20 77 69 |iguating| rule wi|
|00002190| 6c 6c 20 77 6f 72 6b 20 | 2a 2f 0a 58 09 6a 20 3d |ll work |*/.X.j =|
|000021a0| 20 61 63 63 6e 75 6d 20 | 2b 20 31 3b 0a 58 0a 58 | accnum |+ 1;.X.X|
|000021b0| 09 66 6f 72 20 28 20 69 | 20 3d 20 31 3b 20 69 20 |.for ( i| = 1; i |
|000021c0| 3c 3d 20 6e 61 63 63 3b | 20 2b 2b 69 20 29 0a 58 |<= nacc;| ++i ).X|
|000021d0| 09 20 20 20 20 69 66 20 | 28 20 61 63 63 73 65 74 |. if |( accset|
|000021e0| 5b 69 5d 20 3c 20 6a 20 | 29 0a 58 09 09 6a 20 3d |[i] < j |).X..j =|
|000021f0| 20 61 63 63 73 65 74 5b | 69 5d 3b 0a 58 0a 58 09 | accset[|i];.X.X.|
|00002200| 64 66 61 61 63 63 5b 6e | 65 77 64 73 5d 2e 64 66 |dfaacc[n|ewds].df|
|00002210| 61 61 63 63 5f 73 74 61 | 74 65 20 3d 20 6a 3b 0a |aacc_sta|te = j;.|
|00002220| 58 09 7d 0a 58 0a 58 20 | 20 20 20 2a 6e 65 77 64 |X.}.X.X | *newd|
|00002230| 73 5f 61 64 64 72 20 3d | 20 6e 65 77 64 73 3b 0a |s_addr =| newds;.|
|00002240| 58 0a 58 20 20 20 20 72 | 65 74 75 72 6e 20 28 20 |X.X r|eturn ( |
|00002250| 31 20 29 3b 0a 58 20 20 | 20 20 7d 0a 58 0a 58 0a |1 );.X | }.X.X.|
|00002260| 58 2f 2a 20 73 79 6d 66 | 6f 6c 6c 6f 77 73 65 74 |X/* symf|ollowset|
|00002270| 20 2d 20 66 6f 6c 6c 6f | 77 20 74 68 65 20 73 79 | - follo|w the sy|
|00002280| 6d 62 6f 6c 20 74 72 61 | 6e 73 69 74 69 6f 6e 73 |mbol tra|nsitions|
|00002290| 20 6f 6e 65 20 73 74 65 | 70 0a 58 20 2a 0a 58 20 | one ste|p.X *.X |
|000022a0| 2a 20 73 79 6e 6f 70 73 | 69 73 0a 58 20 2a 20 20 |* synops|is.X * |
|000022b0| 20 20 69 6e 74 20 64 73 | 5b 63 75 72 72 65 6e 74 | int ds|[current|
|000022c0| 5f 6d 61 78 5f 64 66 61 | 5f 73 69 7a 65 5d 2c 20 |_max_dfa|_size], |
|000022d0| 64 73 69 7a 65 2c 20 74 | 72 61 6e 73 73 79 6d 3b |dsize, t|ranssym;|
|000022e0| 0a 58 20 2a 20 20 20 20 | 69 6e 74 20 6e 73 65 74 |.X * |int nset|
|000022f0| 5b 63 75 72 72 65 6e 74 | 5f 6d 61 78 5f 64 66 61 |[current|_max_dfa|
|00002300| 5f 73 69 7a 65 5d 2c 20 | 6e 75 6d 73 74 61 74 65 |_size], |numstate|
|00002310| 73 3b 0a 58 20 2a 20 20 | 20 20 6e 75 6d 73 74 61 |s;.X * | numsta|
|00002320| 74 65 73 20 3d 20 73 79 | 6d 66 6f 6c 6c 6f 77 73 |tes = sy|mfollows|
|00002330| 65 74 28 20 64 73 2c 20 | 64 73 69 7a 65 2c 20 74 |et( ds, |dsize, t|
|00002340| 72 61 6e 73 73 79 6d 2c | 20 6e 73 65 74 20 29 3b |ranssym,| nset );|
|00002350| 0a 58 20 2a 2f 0a 58 0a | 69 6e 74 20 73 79 6d 66 |.X */.X.|int symf|
|00002360| 6f 6c 6c 6f 77 73 65 74 | 28 20 64 73 2c 20 64 73 |ollowset|( ds, ds|
|00002370| 69 7a 65 2c 20 74 72 61 | 6e 73 73 79 6d 2c 20 6e |ize, tra|nssym, n|
|00002380| 73 65 74 20 29 0a 69 6e | 74 20 64 73 5b 5d 2c 20 |set ).in|t ds[], |
|00002390| 64 73 69 7a 65 2c 20 74 | 72 61 6e 73 73 79 6d 2c |dsize, t|ranssym,|
|000023a0| 20 6e 73 65 74 5b 5d 3b | 0a 58 0a 58 20 20 20 20 | nset[];|.X.X |
|000023b0| 7b 0a 58 20 20 20 20 69 | 6e 74 20 6e 73 2c 20 74 |{.X i|nt ns, t|
|000023c0| 73 70 2c 20 73 79 6d 2c | 20 69 2c 20 6a 2c 20 6c |sp, sym,| i, j, l|
|000023d0| 65 6e 63 63 6c 2c 20 63 | 68 2c 20 6e 75 6d 73 74 |enccl, c|h, numst|
|000023e0| 61 74 65 73 3b 0a 58 20 | 20 20 20 69 6e 74 20 63 |ates;.X | int c|
|000023f0| 63 6c 6c 69 73 74 3b 0a | 58 0a 58 20 20 20 20 6e |cllist;.|X.X n|
|00002400| 75 6d 73 74 61 74 65 73 | 20 3d 20 30 3b 0a 58 0a |umstates| = 0;.X.|
|00002410| 58 20 20 20 20 66 6f 72 | 20 28 20 69 20 3d 20 31 |X for| ( i = 1|
|00002420| 3b 20 69 20 3c 3d 20 64 | 73 69 7a 65 3b 20 2b 2b |; i <= d|size; ++|
|00002430| 69 20 29 0a 58 09 7b 20 | 2f 2a 20 66 6f 72 20 65 |i ).X.{ |/* for e|
|00002440| 61 63 68 20 6e 66 61 20 | 73 74 61 74 65 20 6e 73 |ach nfa |state ns|
|00002450| 20 69 6e 20 74 68 65 20 | 73 74 61 74 65 20 73 65 | in the |state se|
|00002460| 74 20 6f 66 20 64 73 20 | 2a 2f 0a 58 09 6e 73 20 |t of ds |*/.X.ns |
|00002470| 3d 20 64 73 5b 69 5d 3b | 0a 58 09 73 79 6d 20 3d |= ds[i];|.X.sym =|
|00002480| 20 74 72 61 6e 73 63 68 | 61 72 5b 6e 73 5d 3b 0a | transch|ar[ns];.|
|00002490| 58 09 74 73 70 20 3d 20 | 74 72 61 6e 73 31 5b 6e |X.tsp = |trans1[n|
|000024a0| 73 5d 3b 0a 58 0a 58 09 | 69 66 20 28 20 73 79 6d |s];.X.X.|if ( sym|
|000024b0| 20 3c 20 30 20 29 0a 58 | 09 20 20 20 20 7b 20 2f | < 0 ).X|. { /|
|000024c0| 2a 20 69 74 27 73 20 61 | 20 63 68 61 72 61 63 74 |* it's a| charact|
|000024d0| 65 72 20 63 6c 61 73 73 | 20 2a 2f 0a 58 09 20 20 |er class| */.X. |
|000024e0| 20 20 73 79 6d 20 3d 20 | 2d 73 79 6d 3b 0a 58 09 | sym = |-sym;.X.|
|000024f0| 20 20 20 20 63 63 6c 6c | 69 73 74 20 3d 20 63 63 | ccll|ist = cc|
|00002500| 6c 6d 61 70 5b 73 79 6d | 5d 3b 0a 58 09 20 20 20 |lmap[sym|];.X. |
|00002510| 20 6c 65 6e 63 63 6c 20 | 3d 20 63 63 6c 6c 65 6e | lenccl |= ccllen|
|00002520| 5b 73 79 6d 5d 3b 0a 58 | 0a 58 09 20 20 20 20 69 |[sym];.X|.X. i|
|00002530| 66 20 28 20 63 63 6c 6e | 67 5b 73 79 6d 5d 20 29 |f ( ccln|g[sym] )|
|00002540| 0a 58 09 09 7b 0a 58 09 | 09 66 6f 72 20 28 20 6a |.X..{.X.|.for ( j|
|00002550| 20 3d 20 30 3b 20 6a 20 | 3c 20 6c 65 6e 63 63 6c | = 0; j |< lenccl|
|00002560| 3b 20 2b 2b 6a 20 29 0a | 58 09 09 20 20 20 20 7b |; ++j ).|X.. {|
|00002570| 20 2f 2a 20 6c 6f 6f 70 | 20 74 68 72 6f 75 67 68 | /* loop| through|
|00002580| 20 6e 65 67 61 74 65 64 | 20 63 68 61 72 61 63 74 | negated| charact|
|00002590| 65 72 20 63 6c 61 73 73 | 20 2a 2f 0a 58 09 09 20 |er class| */.X.. |
|000025a0| 20 20 20 63 68 20 3d 20 | 63 63 6c 74 62 6c 5b 63 | ch = |ccltbl[c|
|000025b0| 63 6c 6c 69 73 74 20 2b | 20 6a 5d 3b 0a 58 0a 58 |cllist +| j];.X.X|
|000025c0| 09 09 20 20 20 20 69 66 | 20 28 20 63 68 20 3e 20 |.. if| ( ch > |
|000025d0| 74 72 61 6e 73 73 79 6d | 20 29 0a 58 09 09 09 62 |transsym| ).X...b|
|000025e0| 72 65 61 6b 3b 09 2f 2a | 20 74 72 61 6e 73 73 79 |reak;./*| transsy|
|000025f0| 6d 20 69 73 6e 27 74 20 | 69 6e 20 6e 65 67 61 74 |m isn't |in negat|
|00002600| 65 64 20 63 63 6c 20 2a | 2f 0a 58 0a 58 09 09 20 |ed ccl *|/.X.X.. |
|00002610| 20 20 20 65 6c 73 65 20 | 69 66 20 28 20 63 68 20 | else |if ( ch |
|00002620| 3d 3d 20 74 72 61 6e 73 | 73 79 6d 20 29 0a 58 09 |== trans|sym ).X.|
|00002630| 09 09 2f 2a 20 6e 65 78 | 74 20 32 20 2a 2f 20 67 |../* nex|t 2 */ g|
|00002640| 6f 74 6f 20 62 6f 74 74 | 6f 6d 3b 0a 58 09 09 20 |oto bott|om;.X.. |
|00002650| 20 20 20 7d 0a 58 0a 58 | 09 09 2f 2a 20 64 69 64 | }.X.X|../* did|
|00002660| 6e 27 74 20 66 69 6e 64 | 20 74 72 61 6e 73 73 79 |n't find| transsy|
|00002670| 6d 20 69 6e 20 63 63 6c | 20 2a 2f 0a 58 09 09 6e |m in ccl| */.X..n|
|00002680| 73 65 74 5b 2b 2b 6e 75 | 6d 73 74 61 74 65 73 5d |set[++nu|mstates]|
|00002690| 20 3d 20 74 73 70 3b 0a | 58 09 09 7d 0a 58 0a 58 | = tsp;.|X..}.X.X|
|000026a0| 09 20 20 20 20 65 6c 73 | 65 0a 58 09 09 66 6f 72 |. els|e.X..for|
|000026b0| 20 28 20 6a 20 3d 20 30 | 3b 20 6a 20 3c 20 6c 65 | ( j = 0|; j < le|
|000026c0| 6e 63 63 6c 3b 20 2b 2b | 6a 20 29 0a 58 09 09 20 |nccl; ++|j ).X.. |
|000026d0| 20 20 20 7b 0a 58 09 09 | 20 20 20 20 63 68 20 3d | {.X..| ch =|
|000026e0| 20 63 63 6c 74 62 6c 5b | 63 63 6c 6c 69 73 74 20 | ccltbl[|ccllist |
|000026f0| 2b 20 6a 5d 3b 0a 58 0a | 58 09 09 20 20 20 20 69 |+ j];.X.|X.. i|
|00002700| 66 20 28 20 63 68 20 3e | 20 74 72 61 6e 73 73 79 |f ( ch >| transsy|
|00002710| 6d 20 29 0a 58 09 09 09 | 62 72 65 61 6b 3b 0a 58 |m ).X...|break;.X|
|00002720| 0a 58 09 09 20 20 20 20 | 65 6c 73 65 20 69 66 20 |.X.. |else if |
|00002730| 28 20 63 68 20 3d 3d 20 | 74 72 61 6e 73 73 79 6d |( ch == |transsym|
|00002740| 20 29 0a 58 09 09 09 7b | 0a 58 09 09 09 6e 73 65 | ).X...{|.X...nse|
|00002750| 74 5b 2b 2b 6e 75 6d 73 | 74 61 74 65 73 5d 20 3d |t[++nums|tates] =|
|00002760| 20 74 73 70 3b 0a 58 09 | 09 09 62 72 65 61 6b 3b | tsp;.X.|..break;|
|00002770| 0a 58 09 09 09 7d 0a 58 | 09 09 20 20 20 20 7d 0a |.X...}.X|.. }.|
|00002780| 58 09 20 20 20 20 7d 0a | 58 0a 58 09 65 6c 73 65 |X. }.|X.X.else|
|00002790| 20 69 66 20 28 20 73 79 | 6d 20 3e 3d 20 27 41 27 | if ( sy|m >= 'A'|
|000027a0| 20 26 26 20 73 79 6d 20 | 3c 3d 20 27 5a 27 20 26 | && sym |<= 'Z' &|
|000027b0| 26 20 63 61 73 65 69 6e | 73 20 29 0a 58 09 20 20 |& casein|s ).X. |
|000027c0| 20 20 66 6c 65 78 66 61 | 74 61 6c 28 20 22 63 6f | flexfa|tal( "co|
|000027d0| 6e 73 69 73 74 65 6e 63 | 79 20 63 68 65 63 6b 20 |nsistenc|y check |
|000027e0| 66 61 69 6c 65 64 20 69 | 6e 20 73 79 6d 66 6f 6c |failed i|n symfol|
|000027f0| 6c 6f 77 73 65 74 22 20 | 29 3b 0a 58 0a 58 09 65 |lowset" |);.X.X.e|
|00002800| 6c 73 65 20 69 66 20 28 | 20 73 79 6d 20 3d 3d 20 |lse if (| sym == |
|00002810| 53 59 4d 5f 45 50 53 49 | 4c 4f 4e 20 29 0a 58 09 |SYM_EPSI|LON ).X.|
|00002820| 20 20 20 20 7b 20 2f 2a | 20 64 6f 20 6e 6f 74 68 | { /*| do noth|
|00002830| 69 6e 67 20 2a 2f 0a 58 | 09 20 20 20 20 7d 0a 58 |ing */.X|. }.X|
|00002840| 0a 58 09 65 6c 73 65 20 | 69 66 20 28 20 65 63 67 |.X.else |if ( ecg|
|00002850| 72 6f 75 70 5b 73 79 6d | 5d 20 3d 3d 20 74 72 61 |roup[sym|] == tra|
|00002860| 6e 73 73 79 6d 20 29 0a | 58 09 20 20 20 20 6e 73 |nssym ).|X. ns|
|00002870| 65 74 5b 2b 2b 6e 75 6d | 73 74 61 74 65 73 5d 20 |et[++num|states] |
|00002880| 3d 20 74 73 70 3b 0a 58 | 0a 62 6f 74 74 6f 6d 3a |= tsp;.X|.bottom:|
|00002890| 0a 58 09 3b 0a 58 09 7d | 0a 58 0a 58 20 20 20 20 |.X.;.X.}|.X.X |
|000028a0| 72 65 74 75 72 6e 20 28 | 20 6e 75 6d 73 74 61 74 |return (| numstat|
|000028b0| 65 73 20 29 3b 0a 58 20 | 20 20 20 7d 0a 58 0a 58 |es );.X | }.X.X|
|000028c0| 0a 58 2f 2a 20 73 79 6d | 70 61 72 74 69 74 69 6f |.X/* sym|partitio|
|000028d0| 6e 20 2d 20 70 61 72 74 | 69 74 69 6f 6e 20 63 68 |n - part|ition ch|
|000028e0| 61 72 61 63 74 65 72 73 | 20 77 69 74 68 20 73 61 |aracters| with sa|
|000028f0| 6d 65 20 6f 75 74 2d 74 | 72 61 6e 73 69 74 69 6f |me out-t|ransitio|
|00002900| 6e 73 0a 58 20 2a 0a 58 | 20 2a 20 73 79 6e 6f 70 |ns.X *.X| * synop|
|00002910| 73 69 73 0a 58 20 2a 20 | 20 20 20 69 6e 74 65 67 |sis.X * | integ|
|00002920| 65 72 20 64 73 5b 63 75 | 72 72 65 6e 74 5f 6d 61 |er ds[cu|rrent_ma|
|00002930| 78 5f 64 66 61 5f 73 69 | 7a 65 5d 2c 20 6e 75 6d |x_dfa_si|ze], num|
|00002940| 73 74 61 74 65 73 2c 20 | 64 75 70 6c 69 73 74 5b |states, |duplist[|
|00002950| 6e 75 6d 65 63 73 5d 3b | 0a 58 20 2a 20 20 20 20 |numecs];|.X * |
|00002960| 73 79 6d 6c 69 73 74 5b | 6e 75 6d 65 63 73 5d 3b |symlist[|numecs];|
|00002970| 0a 58 20 2a 20 20 20 20 | 73 79 6d 70 61 72 74 69 |.X * |symparti|
|00002980| 74 69 6f 6e 28 20 64 73 | 2c 20 6e 75 6d 73 74 61 |tion( ds|, numsta|
|00002990| 74 65 73 2c 20 73 79 6d | 6c 69 73 74 2c 20 64 75 |tes, sym|list, du|
|000029a0| 70 6c 69 73 74 20 29 3b | 0a 58 20 2a 2f 0a 58 0a |plist );|.X */.X.|
|000029b0| 73 79 6d 70 61 72 74 69 | 74 69 6f 6e 28 20 64 73 |symparti|tion( ds|
|000029c0| 2c 20 6e 75 6d 73 74 61 | 74 65 73 2c 20 73 79 6d |, numsta|tes, sym|
|000029d0| 6c 69 73 74 2c 20 64 75 | 70 6c 69 73 74 20 29 0a |list, du|plist ).|
|000029e0| 69 6e 74 20 64 73 5b 5d | 2c 20 6e 75 6d 73 74 61 |int ds[]|, numsta|
|000029f0| 74 65 73 2c 20 64 75 70 | 6c 69 73 74 5b 5d 3b 0a |tes, dup|list[];.|
|00002a00| 69 6e 74 20 73 79 6d 6c | 69 73 74 5b 5d 3b 0a 58 |int syml|ist[];.X|
|00002a10| 0a 58 20 20 20 20 7b 0a | 58 20 20 20 20 69 6e 74 |.X {.|X int|
|00002a20| 20 74 63 68 2c 20 69 2c | 20 6a 2c 20 6b 2c 20 6e | tch, i,| j, k, n|
|00002a30| 73 2c 20 64 75 70 66 77 | 64 5b 43 53 49 5a 45 20 |s, dupfw|d[CSIZE |
|00002a40| 2b 20 31 5d 2c 20 6c 65 | 6e 63 63 6c 2c 20 63 63 |+ 1], le|nccl, cc|
|00002a50| 6c 70 2c 20 69 63 68 3b | 0a 58 0a 58 20 20 20 20 |lp, ich;|.X.X |
|00002a60| 2f 2a 20 70 61 72 74 69 | 74 69 6f 6e 69 6e 67 20 |/* parti|tioning |
|00002a70| 69 73 20 64 6f 6e 65 20 | 62 79 20 63 72 65 61 74 |is done |by creat|
|00002a80| 69 6e 67 20 65 71 75 69 | 76 61 6c 65 6e 63 65 20 |ing equi|valence |
|00002a90| 63 6c 61 73 73 65 73 20 | 66 6f 72 20 74 68 6f 73 |classes |for thos|
|00002aa0| 65 0a 58 20 20 20 20 20 | 2a 20 63 68 61 72 61 63 |e.X |* charac|
|00002ab0| 74 65 72 73 20 77 68 69 | 63 68 20 68 61 76 65 20 |ters whi|ch have |
|00002ac0| 6f 75 74 2d 74 72 61 6e | 73 69 74 69 6f 6e 73 20 |out-tran|sitions |
|00002ad0| 66 72 6f 6d 20 74 68 65 | 20 67 69 76 65 6e 20 73 |from the| given s|
|00002ae0| 74 61 74 65 2e 20 20 54 | 68 75 73 0a 58 20 20 20 |tate. T|hus.X |
|00002af0| 20 20 2a 20 77 65 20 61 | 72 65 20 72 65 61 6c 6c | * we a|re reall|
|00002b00| 79 20 63 72 65 61 74 69 | 6e 67 20 65 71 75 69 76 |y creati|ng equiv|
|00002b10| 61 6c 65 6e 63 65 20 63 | 6c 61 73 73 65 73 20 6f |alence c|lasses o|
|00002b20| 66 20 65 71 75 69 76 61 | 6c 65 6e 63 65 20 63 6c |f equiva|lence cl|
|00002b30| 61 73 73 65 73 2e 0a 58 | 20 20 20 20 20 2a 2f 0a |asses..X| */.|
|00002b40| 58 0a 58 20 20 20 20 66 | 6f 72 20 28 20 69 20 3d |X.X f|or ( i =|
|00002b50| 20 31 3b 20 69 20 3c 3d | 20 6e 75 6d 65 63 73 3b | 1; i <=| numecs;|
|00002b60| 20 2b 2b 69 20 29 0a 58 | 09 7b 20 2f 2a 20 69 6e | ++i ).X|.{ /* in|
|00002b70| 69 74 69 61 6c 69 7a 65 | 20 65 71 75 69 76 61 6c |itialize| equival|
|00002b80| 65 6e 63 65 20 63 6c 61 | 73 73 20 6c 69 73 74 20 |ence cla|ss list |
|00002b90| 2a 2f 0a 58 09 64 75 70 | 6c 69 73 74 5b 69 5d 20 |*/.X.dup|list[i] |
|00002ba0| 3d 20 69 20 2d 20 31 3b | 0a 58 09 64 75 70 66 77 |= i - 1;|.X.dupfw|
|00002bb0| 64 5b 69 5d 20 3d 20 69 | 20 2b 20 31 3b 0a 58 09 |d[i] = i| + 1;.X.|
|00002bc0| 7d 0a 58 0a 58 20 20 20 | 20 64 75 70 6c 69 73 74 |}.X.X | duplist|
|00002bd0| 5b 31 5d 20 3d 20 4e 49 | 4c 3b 0a 58 20 20 20 20 |[1] = NI|L;.X |
|00002be0| 64 75 70 66 77 64 5b 6e | 75 6d 65 63 73 5d 20 3d |dupfwd[n|umecs] =|
|00002bf0| 20 4e 49 4c 3b 0a 58 0a | 58 20 20 20 20 66 6f 72 | NIL;.X.|X for|
|00002c00| 20 28 20 69 20 3d 20 31 | 3b 20 69 20 3c 3d 20 6e | ( i = 1|; i <= n|
|00002c10| 75 6d 73 74 61 74 65 73 | 3b 20 2b 2b 69 20 29 0a |umstates|; ++i ).|
|00002c20| 58 09 7b 0a 58 09 6e 73 | 20 3d 20 64 73 5b 69 5d |X.{.X.ns| = ds[i]|
|00002c30| 3b 0a 58 09 74 63 68 20 | 3d 20 74 72 61 6e 73 63 |;.X.tch |= transc|
|00002c40| 68 61 72 5b 6e 73 5d 3b | 0a 58 0a 58 09 69 66 20 |har[ns];|.X.X.if |
|00002c50| 28 20 74 63 68 20 21 3d | 20 53 59 4d 5f 45 50 53 |( tch !=| SYM_EPS|
|00002c60| 49 4c 4f 4e 20 29 0a 58 | 09 20 20 20 20 7b 0a 58 |ILON ).X|. {.X|
|00002c70| 09 20 20 20 20 69 66 20 | 28 20 74 63 68 20 3c 20 |. if |( tch < |
|00002c80| 2d 6c 61 73 74 63 63 6c | 20 7c 7c 20 74 63 68 20 |-lastccl| || tch |
|00002c90| 3e 20 43 53 49 5a 45 20 | 29 0a 58 09 09 66 6c 65 |> CSIZE |).X..fle|
|00002ca0| 78 66 61 74 61 6c 28 20 | 22 62 61 64 20 74 72 61 |xfatal( |"bad tra|
|00002cb0| 6e 73 69 74 69 6f 6e 20 | 63 68 61 72 61 63 74 65 |nsition |characte|
|00002cc0| 72 20 64 65 74 65 63 74 | 65 64 20 69 6e 20 73 79 |r detect|ed in sy|
|00002cd0| 6d 70 61 72 74 69 74 69 | 6f 6e 28 29 22 20 29 3b |mpartiti|on()" );|
|00002ce0| 0a 58 0a 58 09 20 20 20 | 20 69 66 20 28 20 74 63 |.X.X. | if ( tc|
|00002cf0| 68 20 3e 20 30 20 29 0a | 58 09 09 7b 20 2f 2a 20 |h > 0 ).|X..{ /* |
|00002d00| 63 68 61 72 61 63 74 65 | 72 20 74 72 61 6e 73 69 |characte|r transi|
|00002d10| 74 69 6f 6e 20 2a 2f 0a | 58 09 09 6d 6b 65 63 68 |tion */.|X..mkech|
|00002d20| 61 72 28 20 65 63 67 72 | 6f 75 70 5b 74 63 68 5d |ar( ecgr|oup[tch]|
|00002d30| 2c 20 64 75 70 66 77 64 | 2c 20 64 75 70 6c 69 73 |, dupfwd|, duplis|
|00002d40| 74 20 29 3b 0a 58 09 09 | 73 79 6d 6c 69 73 74 5b |t );.X..|symlist[|
|00002d50| 65 63 67 72 6f 75 70 5b | 74 63 68 5d 5d 20 3d 20 |ecgroup[|tch]] = |
|00002d60| 31 3b 0a 58 09 09 7d 0a | 58 0a 58 09 20 20 20 20 |1;.X..}.|X.X. |
|00002d70| 65 6c 73 65 0a 58 09 09 | 7b 20 2f 2a 20 63 68 61 |else.X..|{ /* cha|
|00002d80| 72 61 63 74 65 72 20 63 | 6c 61 73 73 20 2a 2f 0a |racter c|lass */.|
|00002d90| 58 09 09 74 63 68 20 3d | 20 2d 74 63 68 3b 0a 58 |X..tch =| -tch;.X|
|00002da0| 0a 58 09 09 6c 65 6e 63 | 63 6c 20 3d 20 63 63 6c |.X..lenc|cl = ccl|
|00002db0| 6c 65 6e 5b 74 63 68 5d | 3b 0a 58 09 09 63 63 6c |len[tch]|;.X..ccl|
|00002dc0| 70 20 3d 20 63 63 6c 6d | 61 70 5b 74 63 68 5d 3b |p = cclm|ap[tch];|
|00002dd0| 0a 58 09 09 6d 6b 65 63 | 63 6c 28 20 63 63 6c 74 |.X..mkec|cl( cclt|
|00002de0| 62 6c 20 2b 20 63 63 6c | 70 2c 20 6c 65 6e 63 63 |bl + ccl|p, lencc|
|00002df0| 6c 2c 20 64 75 70 66 77 | 64 2c 20 64 75 70 6c 69 |l, dupfw|d, dupli|
|00002e00| 73 74 2c 20 6e 75 6d 65 | 63 73 20 29 3b 0a 58 0a |st, nume|cs );.X.|
|00002e10| 58 09 09 69 66 20 28 20 | 63 63 6c 6e 67 5b 74 63 |X..if ( |cclng[tc|
|00002e20| 68 5d 20 29 0a 58 09 09 | 20 20 20 20 7b 0a 58 09 |h] ).X..| {.X.|
|00002e30| 09 20 20 20 20 6a 20 3d | 20 30 3b 0a 58 0a 58 09 |. j =| 0;.X.X.|
|00002e40| 09 20 20 20 20 66 6f 72 | 20 28 20 6b 20 3d 20 30 |. for| ( k = 0|
|00002e50| 3b 20 6b 20 3c 20 6c 65 | 6e 63 63 6c 3b 20 2b 2b |; k < le|nccl; ++|
|00002e60| 6b 20 29 0a 58 09 09 09 | 7b 0a 58 09 09 09 69 63 |k ).X...|{.X...ic|
|00002e70| 68 20 3d 20 63 63 6c 74 | 62 6c 5b 63 63 6c 70 20 |h = cclt|bl[cclp |
|00002e80| 2b 20 6b 5d 3b 0a 58 0a | 58 09 09 09 66 6f 72 20 |+ k];.X.|X...for |
|00002e90| 28 20 2b 2b 6a 3b 20 6a | 20 3c 20 69 63 68 3b 20 |( ++j; j| < ich; |
|00002ea0| 2b 2b 6a 20 29 0a 58 09 | 09 09 20 20 20 20 73 79 |++j ).X.|.. sy|
|00002eb0| 6d 6c 69 73 74 5b 6a 5d | 20 3d 20 31 3b 0a 58 09 |mlist[j]| = 1;.X.|
|00002ec0| 09 09 7d 0a 58 0a 58 09 | 09 20 20 20 20 66 6f 72 |..}.X.X.|. for|
|00002ed0| 20 28 20 2b 2b 6a 3b 20 | 6a 20 3c 3d 20 6e 75 6d | ( ++j; |j <= num|
|00002ee0| 65 63 73 3b 20 2b 2b 6a | 20 29 0a 58 09 09 09 73 |ecs; ++j| ).X...s|
|00002ef0| 79 6d 6c 69 73 74 5b 6a | 5d 20 3d 20 31 3b 0a 58 |ymlist[j|] = 1;.X|
|00002f00| 09 09 20 20 20 20 7d 0a | 58 0a 58 09 09 65 6c 73 |.. }.|X.X..els|
|00002f10| 65 0a 58 09 09 20 20 20 | 20 66 6f 72 20 28 20 6b |e.X.. | for ( k|
|00002f20| 20 3d 20 30 3b 20 6b 20 | 3c 20 6c 65 6e 63 63 6c | = 0; k |< lenccl|
|00002f30| 3b 20 2b 2b 6b 20 29 0a | 58 09 09 09 7b 0a 58 09 |; ++k ).|X...{.X.|
|00002f40| 09 09 69 63 68 20 3d 20 | 63 63 6c 74 62 6c 5b 63 |..ich = |ccltbl[c|
|00002f50| 63 6c 70 20 2b 20 6b 5d | 3b 0a 58 09 09 09 73 79 |clp + k]|;.X...sy|
|00002f60| 6d 6c 69 73 74 5b 69 63 | 68 5d 20 3d 20 31 3b 0a |mlist[ic|h] = 1;.|
|00002f70| 58 09 09 09 7d 0a 58 09 | 09 7d 0a 58 09 20 20 20 |X...}.X.|.}.X. |
|00002f80| 20 7d 0a 58 09 7d 0a 58 | 20 20 20 20 7d 0a 45 4e | }.X.}.X| }.EN|
|00002f90| 44 5f 4f 46 5f 46 49 4c | 45 0a 69 66 20 74 65 73 |D_OF_FIL|E.if tes|
|00002fa0| 74 20 31 30 37 33 32 20 | 2d 6e 65 20 60 77 63 20 |t 10732 |-ne `wc |
|00002fb0| 2d 63 20 3c 27 64 66 61 | 2e 63 27 60 3b 20 74 68 |-c <'dfa|.c'`; th|
|00002fc0| 65 6e 0a 20 20 20 20 65 | 63 68 6f 20 73 68 61 72 |en. e|cho shar|
|00002fd0| 3a 20 5c 22 27 64 66 61 | 2e 63 27 5c 22 20 75 6e |: \"'dfa|.c'\" un|
|00002fe0| 70 61 63 6b 65 64 20 77 | 69 74 68 20 77 72 6f 6e |packed w|ith wron|
|00002ff0| 67 20 73 69 7a 65 21 0a | 66 69 0a 23 20 65 6e 64 |g size!.|fi.# end|
|00003000| 20 6f 66 20 27 64 66 61 | 2e 63 27 0a 66 69 0a 69 | of 'dfa|.c'.fi.i|
|00003010| 66 20 74 65 73 74 20 2d | 66 20 27 66 6c 65 78 2e |f test -|f 'flex.|
|00003020| 66 61 73 74 73 6b 65 6c | 27 20 2d 61 20 22 24 7b |fastskel|' -a "${|
|00003030| 31 7d 22 20 21 3d 20 22 | 2d 63 22 20 3b 20 74 68 |1}" != "|-c" ; th|
|00003040| 65 6e 20 0a 20 20 65 63 | 68 6f 20 73 68 61 72 3a |en . ec|ho shar:|
|00003050| 20 57 69 6c 6c 20 6e 6f | 74 20 63 6c 6f 62 62 65 | Will no|t clobbe|
|00003060| 72 20 65 78 69 73 74 69 | 6e 67 20 66 69 6c 65 20 |r existi|ng file |
|00003070| 5c 22 27 66 6c 65 78 2e | 66 61 73 74 73 6b 65 6c |\"'flex.|fastskel|
|00003080| 27 5c 22 0a 65 6c 73 65 | 0a 65 63 68 6f 20 73 68 |'\".else|.echo sh|
|00003090| 61 72 3a 20 45 78 74 72 | 61 63 74 69 6e 67 20 5c |ar: Extr|acting \|
|000030a0| 22 27 66 6c 65 78 2e 66 | 61 73 74 73 6b 65 6c 27 |"'flex.f|astskel'|
|000030b0| 5c 22 20 5c 28 39 33 30 | 34 20 63 68 61 72 61 63 |\" \(930|4 charac|
|000030c0| 74 65 72 73 5c 29 0a 73 | 65 64 20 22 73 2f 5e 58 |ters\).s|ed "s/^X|
|000030d0| 2f 2f 22 20 3e 27 66 6c | 65 78 2e 66 61 73 74 73 |//" >'fl|ex.fasts|
|000030e0| 6b 65 6c 27 20 3c 3c 27 | 45 4e 44 5f 4f 46 5f 46 |kel' <<'|END_OF_F|
|000030f0| 49 4c 45 27 0a 58 2f 2a | 20 41 20 6c 65 78 69 63 |ILE'.X/*| A lexic|
|00003100| 61 6c 20 73 63 61 6e 6e | 65 72 20 67 65 6e 65 72 |al scann|er gener|
|00003110| 61 74 65 64 20 62 79 20 | 66 6c 65 78 20 2a 2f 0a |ated by |flex */.|
|00003120| 58 0a 58 23 64 65 66 69 | 6e 65 20 46 4c 45 58 5f |X.X#defi|ne FLEX_|
|00003130| 46 41 53 54 5f 53 4b 45 | 4c 0a 58 0a 58 23 69 6e |FAST_SKE|L.X.X#in|
|00003140| 63 6c 75 64 65 20 22 66 | 61 73 74 73 6b 65 6c 64 |clude "f|astskeld|
|00003150| 65 66 2e 68 22 0a 58 0a | 58 25 25 20 73 65 63 74 |ef.h".X.|X%% sect|
|00003160| 69 6f 6e 20 31 20 63 6f | 64 65 20 61 6e 64 20 74 |ion 1 co|de and t|
|00003170| 68 65 20 64 65 66 69 6e | 69 74 69 6f 6e 20 6f 66 |he defin|ition of|
|00003180| 20 59 59 5f 54 52 41 4e | 53 5f 4f 46 46 53 45 54 | YY_TRAN|S_OFFSET|
|00003190| 5f 54 59 50 45 2c 20 69 | 66 20 6e 65 65 64 65 64 |_TYPE, i|f needed|
|000031a0| 2c 20 67 6f 20 68 65 72 | 65 0a 58 0a 58 23 69 66 |, go her|e.X.X#if|
|000031b0| 6e 64 65 66 20 46 4c 45 | 58 5f 46 55 4c 4c 5f 54 |ndef FLE|X_FULL_T|
|000031c0| 41 42 4c 45 0a 58 20 20 | 20 20 2f 2a 20 73 74 72 |ABLE.X | /* str|
|000031d0| 75 63 74 20 66 6f 72 20 | 79 79 5f 74 72 61 6e 73 |uct for |yy_trans|
|000031e0| 69 74 69 6f 6e 20 2a 2f | 0a 58 20 20 20 20 73 74 |ition */|.X st|
|000031f0| 72 75 63 74 20 79 79 5f | 74 72 61 6e 73 5f 69 6e |ruct yy_|trans_in|
|00003200| 66 6f 0a 58 09 7b 0a 58 | 09 2f 2a 20 76 20 69 73 |fo.X.{.X|./* v is|
|00003210| 20 61 20 76 65 72 69 66 | 79 20 66 6f 72 20 61 20 | a verif|y for a |
|00003220| 74 72 61 6e 73 69 74 69 | 6f 6e 2e 20 2a 2f 0a 58 |transiti|on. */.X|
|00003230| 09 73 68 6f 72 74 20 76 | 3b 0a 58 0a 58 09 2f 2a |.short v|;.X.X./*|
|00003240| 20 49 6e 20 63 61 73 65 | 73 20 77 68 65 72 65 20 | In case|s where |
|00003250| 69 74 73 20 73 69 73 74 | 65 72 20 76 20 2a 69 73 |its sist|er v *is|
|00003260| 2a 20 61 20 22 79 65 73 | 2c 20 74 68 65 72 65 20 |* a "yes|, there |
|00003270| 69 73 20 61 20 74 72 61 | 6e 73 69 74 69 6f 6e 22 |is a tra|nsition"|
|00003280| 2c 0a 58 20 20 20 20 20 | 20 20 20 20 2a 20 6e 20 |,.X | * n |
|00003290| 69 73 2a 20 74 68 65 20 | 6f 66 66 73 65 74 20 28 |is* the |offset (|
|000032a0| 69 6e 20 72 65 63 6f 72 | 64 73 29 20 74 6f 20 74 |in recor|ds) to t|
|000032b0| 68 65 20 6e 65 78 74 20 | 73 74 61 74 65 2e 20 20 |he next |state. |
|000032c0| 49 6e 20 6d 6f 73 74 20 | 63 61 73 65 73 0a 58 20 |In most |cases.X |
|000032d0| 20 20 20 20 20 20 20 20 | 2a 20 77 68 65 72 65 20 | |* where |
|000032e0| 74 68 65 72 65 20 69 73 | 20 6e 6f 20 74 72 61 6e |there is| no tran|
|000032f0| 73 69 74 69 6f 6e 2c 20 | 74 68 65 20 76 61 6c 75 |sition, |the valu|
|00003300| 65 20 6f 66 20 6e 20 69 | 73 20 69 72 72 65 6c 65 |e of n i|s irrele|
|00003310| 76 61 6e 74 2e 20 20 49 | 66 20 6e 0a 58 20 20 20 |vant. I|f n.X |
|00003320| 20 20 20 20 20 20 2a 20 | 69 73 20 74 68 65 20 2d | * |is the -|
|00003330| 31 74 68 20 20 72 65 63 | 6f 72 64 20 6f 66 20 61 |1th rec|ord of a|
|00003340| 20 73 74 61 74 65 2c 20 | 74 68 6f 75 67 68 2c 20 | state, |though, |
|00003350| 74 68 65 6e 20 6e 20 69 | 73 20 74 68 65 20 61 63 |then n i|s the ac|
|00003360| 74 69 6f 6e 0a 58 09 20 | 2a 20 6e 75 6d 62 65 72 |tion.X. |* number|
|00003370| 20 66 6f 72 20 74 68 61 | 74 20 73 74 61 74 65 0a | for tha|t state.|
|00003380| 58 09 20 2a 2f 0a 58 09 | 59 59 5f 54 52 41 4e 53 |X. */.X.|YY_TRANS|
|00003390| 5f 4f 46 46 53 45 54 5f | 54 59 50 45 20 6e 3b 0a |_OFFSET_|TYPE n;.|
|000033a0| 58 09 7d 3b 0a 58 23 65 | 6e 64 69 66 0a 58 0a 58 |X.};.X#e|ndif.X.X|
|000033b0| 25 25 20 64 61 74 61 20 | 74 61 62 6c 65 73 20 66 |%% data |tables f|
|000033c0| 6f 72 20 44 46 41 20 67 | 6f 20 68 65 72 65 0a 58 |or DFA g|o here.X|
|000033d0| 0a 58 2f 2a 20 74 68 65 | 73 65 20 64 65 63 6c 61 |.X/* the|se decla|
|000033e0| 72 61 74 69 6f 6e 73 20 | 68 61 76 65 20 74 6f 20 |rations |have to |
|000033f0| 63 6f 6d 65 20 61 66 74 | 65 72 20 74 68 65 20 73 |come aft|er the s|
|00003400| 65 63 74 69 6f 6e 20 31 | 20 63 6f 64 65 20 6f 72 |ection 1| code or|
|00003410| 20 6c 69 6e 74 20 67 65 | 74 73 0a 58 20 2a 20 63 | lint ge|ts.X * c|
|00003420| 6f 6e 66 75 73 65 64 20 | 61 62 6f 75 74 20 77 68 |onfused |about wh|
|00003430| 65 74 68 65 72 20 74 68 | 65 20 76 61 72 69 61 62 |ether th|e variab|
|00003440| 6c 65 73 20 61 72 65 20 | 75 73 65 64 0a 58 20 2a |les are |used.X *|
|00003450| 2f 0a 58 46 49 4c 45 20 | 2a 79 79 69 6e 20 3d 20 |/.XFILE |*yyin = |
|00003460| 73 74 64 69 6e 2c 20 2a | 79 79 6f 75 74 20 3d 20 |stdin, *|yyout = |
|00003470| 73 74 64 6f 75 74 3b 0a | 58 0a 58 2f 2a 20 74 68 |stdout;.|X.X/* th|
|00003480| 65 73 65 20 76 61 72 69 | 61 62 6c 65 73 20 61 72 |ese vari|ables ar|
|00003490| 65 20 61 6c 6c 20 64 65 | 63 6c 61 72 65 64 20 6f |e all de|clared o|
|000034a0| 75 74 20 68 65 72 65 20 | 73 6f 20 74 68 61 74 20 |ut here |so that |
|000034b0| 73 65 63 74 69 6f 6e 20 | 33 20 63 6f 64 65 20 63 |section |3 code c|
|000034c0| 61 6e 0a 58 20 2a 20 6d | 61 6e 69 70 75 6c 61 74 |an.X * m|anipulat|
|000034d0| 65 20 74 68 65 6d 0a 58 | 20 2a 2f 0a 73 74 61 74 |e them.X| */.stat|
|000034e0| 69 63 20 63 68 61 72 20 | 2a 79 79 5f 63 5f 62 75 |ic char |*yy_c_bu|
|000034f0| 66 5f 70 3b 09 2f 2a 20 | 70 6f 69 6e 74 73 20 74 |f_p;./* |points t|
|00003500| 6f 20 63 75 72 72 65 6e | 74 20 63 68 61 72 61 63 |o curren|t charac|
|00003510| 74 65 72 20 69 6e 20 62 | 75 66 66 65 72 20 2a 2f |ter in b|uffer */|
|00003520| 0a 73 74 61 74 69 63 20 | 63 68 61 72 20 2a 79 79 |.static |char *yy|
|00003530| 5f 62 5f 62 75 66 5f 70 | 3b 09 2f 2a 20 70 6f 69 |_b_buf_p|;./* poi|
|00003540| 6e 74 73 20 74 6f 20 73 | 74 61 72 74 20 6f 66 20 |nts to s|tart of |
|00003550| 63 75 72 72 65 6e 74 20 | 73 63 61 6e 20 2a 2f 0a |current |scan */.|
|00003560| 73 74 61 74 69 63 20 69 | 6e 74 20 79 79 5f 69 6e |static i|nt yy_in|
|00003570| 69 74 20 3d 20 31 3b 09 | 2f 2a 20 77 68 65 74 68 |it = 1;.|/* wheth|
|00003580| 65 72 20 77 65 20 6e 65 | 65 64 20 74 6f 20 69 6e |er we ne|ed to in|
|00003590| 69 74 69 61 6c 69 7a 65 | 20 2a 2f 0a 73 74 61 74 |itialize| */.stat|
|000035a0| 69 63 20 69 6e 74 20 79 | 79 5f 73 74 61 72 74 3b |ic int y|y_start;|
|000035b0| 09 2f 2a 20 73 74 61 72 | 74 20 73 74 61 74 65 20 |./* star|t state |
|000035c0| 6e 75 6d 62 65 72 20 2a | 2f 0a 58 0a 58 2f 2a 20 |number *|/.X.X/* |
|000035d0| 74 72 75 65 20 77 68 65 | 6e 20 77 65 27 76 65 20 |true whe|n we've |
|000035e0| 73 65 65 6e 20 61 6e 20 | 45 4f 46 20 66 6f 72 20 |seen an |EOF for |
|000035f0| 74 68 65 20 63 75 72 72 | 65 6e 74 20 69 6e 70 75 |the curr|ent inpu|
|00003600| 74 20 66 69 6c 65 20 2a | 2f 0a 73 74 61 74 69 63 |t file *|/.static|
|00003610| 20 69 6e 74 20 79 79 5f | 65 6f 66 5f 68 61 73 5f | int yy_|eof_has_|
|00003620| 62 65 65 6e 5f 73 65 65 | 6e 3b 0a 58 0a 73 74 61 |been_see|n;.X.sta|
|00003630| 74 69 63 20 69 6e 74 20 | 79 79 5f 6e 5f 63 68 61 |tic int |yy_n_cha|
|00003640| 72 73 3b 09 09 2f 2a 20 | 6e 75 6d 62 65 72 20 6f |rs;../* |number o|
|00003650| 66 20 63 68 61 72 61 63 | 74 65 72 73 20 72 65 61 |f charac|ters rea|
|00003660| 64 20 69 6e 74 6f 20 79 | 79 5f 63 68 5f 62 75 66 |d into y|y_ch_buf|
|00003670| 20 2a 2f 0a 58 0a 58 2f | 2a 20 79 79 5f 63 68 5f | */.X.X/|* yy_ch_|
|00003680| 62 75 66 20 68 61 73 20 | 74 6f 20 62 65 20 32 20 |buf has |to be 2 |
|00003690| 63 68 61 72 61 63 74 65 | 72 73 20 6c 6f 6e 67 65 |characte|rs longe|
|000036a0| 72 20 74 68 61 6e 20 59 | 59 5f 42 55 46 5f 53 49 |r than Y|Y_BUF_SI|
|000036b0| 5a 45 20 62 65 63 61 75 | 73 65 20 77 65 20 6e 65 |ZE becau|se we ne|
|000036c0| 65 64 0a 58 20 2a 20 74 | 6f 20 70 75 74 20 69 6e |ed.X * t|o put in|
|000036d0| 20 32 20 65 6e 64 2d 6f | 66 2d 62 75 66 66 65 72 | 2 end-o|f-buffer|
|000036e0| 20 63 68 61 72 61 63 74 | 65 72 73 20 28 74 68 69 | charact|ers (thi|
|000036f0| 73 20 69 73 20 65 78 70 | 6c 61 69 6e 65 64 20 77 |s is exp|lained w|
|00003700| 68 65 72 65 20 69 74 20 | 69 73 0a 58 20 2a 20 64 |here it |is.X * d|
|00003710| 6f 6e 65 29 20 61 74 20 | 74 68 65 20 65 6e 64 20 |one) at |the end |
|00003720| 6f 66 20 79 79 5f 63 68 | 5f 62 75 66 0a 58 20 2a |of yy_ch|_buf.X *|
|00003730| 2f 0a 73 74 61 74 69 63 | 20 63 68 61 72 20 79 79 |/.static| char yy|
|00003740| 5f 63 68 5f 62 75 66 5b | 59 59 5f 42 55 46 5f 53 |_ch_buf[|YY_BUF_S|
|00003750| 49 5a 45 20 2b 20 32 5d | 3b 0a 58 0a 58 2f 2a 20 |IZE + 2]|;.X.X/* |
|00003760| 79 79 5f 68 6f 6c 64 5f | 63 68 61 72 20 68 6f 6c |yy_hold_|char hol|
|00003770| 64 73 20 74 68 65 20 63 | 68 61 72 61 63 74 65 72 |ds the c|haracter|
|00003780| 20 6c 6f 73 74 20 77 68 | 65 6e 20 79 79 74 65 78 | lost wh|en yytex|
|00003790| 74 20 69 73 20 66 6f 72 | 6d 65 64 20 2a 2f 0a 73 |t is for|med */.s|
|000037a0| 74 61 74 69 63 20 63 68 | 61 72 20 79 79 5f 68 6f |tatic ch|ar yy_ho|
|000037b0| 6c 64 5f 63 68 61 72 3b | 0a 63 68 61 72 20 2a 79 |ld_char;|.char *y|
|000037c0| 79 74 65 78 74 3b 0a 73 | 74 61 74 69 63 20 69 6e |ytext;.s|tatic in|
|000037d0| 74 20 79 79 6c 65 6e 67 | 3b 09 2f 2a 20 6c 65 6e |t yyleng|;./* len|
|000037e0| 67 74 68 20 6f 66 20 79 | 79 74 65 78 74 20 2a 2f |gth of y|ytext */|
|000037f0| 0a 58 0a 73 74 61 74 69 | 63 20 59 59 5f 43 53 5f |.X.stati|c YY_CS_|
|00003800| 54 59 50 45 20 79 79 5f | 6c 61 73 74 5f 61 63 63 |TYPE yy_|last_acc|
|00003810| 65 70 74 69 6e 67 5f 73 | 74 61 74 65 3b 0a 73 74 |epting_s|tate;.st|
|00003820| 61 74 69 63 20 63 68 61 | 72 20 2a 79 79 5f 6c 61 |atic cha|r *yy_la|
|00003830| 73 74 5f 61 63 63 65 70 | 74 69 6e 67 5f 63 70 6f |st_accep|ting_cpo|
|00003840| 73 3b 0a 58 0a 73 74 61 | 74 69 63 20 59 59 5f 43 |s;.X.sta|tic YY_C|
|00003850| 53 5f 54 59 50 45 20 79 | 79 5f 67 65 74 5f 70 72 |S_TYPE y|y_get_pr|
|00003860| 65 76 69 6f 75 73 5f 73 | 74 61 74 65 28 29 3b 0a |evious_s|tate();.|
|00003870| 73 74 61 74 69 63 20 69 | 6e 74 20 79 79 5f 67 65 |static i|nt yy_ge|
|00003880| 74 5f 6e 65 78 74 5f 62 | 75 66 66 65 72 28 29 3b |t_next_b|uffer();|
|00003890| 0a 58 0a 58 23 64 65 66 | 69 6e 65 20 46 4c 45 58 |.X.X#def|ine FLEX|
|000038a0| 5f 55 53 45 53 5f 42 41 | 43 4b 54 52 41 43 4b 49 |_USES_BA|CKTRACKI|
|000038b0| 4e 47 0a 58 0a 58 23 69 | 66 64 65 66 20 46 4c 45 |NG.X.X#i|fdef FLE|
|000038c0| 58 5f 55 53 45 53 5f 42 | 41 43 4b 54 52 41 43 4b |X_USES_B|ACKTRACK|
|000038d0| 49 4e 47 0a 58 23 20 20 | 20 20 69 66 64 65 66 20 |ING.X# | ifdef |
|000038e0| 46 4c 45 58 5f 46 55 4c | 4c 5f 54 41 42 4c 45 0a |FLEX_FUL|L_TABLE.|
|000038f0| 58 23 09 64 65 66 69 6e | 65 20 59 59 5f 42 41 43 |X#.defin|e YY_BAC|
|00003900| 4b 54 52 41 43 4b 49 4e | 47 5f 41 43 54 49 4f 4e |KTRACKIN|G_ACTION|
|00003910| 20 5c 0a 58 09 09 69 66 | 20 28 20 6c 5b 79 79 5f | \.X..if| ( l[yy_|
|00003920| 63 75 72 72 65 6e 74 5f | 73 74 61 74 65 5d 20 29 |current_|state] )|
|00003930| 20 5c 0a 58 09 09 09 7b | 20 5c 0a 58 09 09 09 79 | \.X...{| \.X...y|
|00003940| 79 5f 6c 61 73 74 5f 61 | 63 63 65 70 74 69 6e 67 |y_last_a|ccepting|
|00003950| 5f 73 74 61 74 65 20 3d | 20 79 79 5f 63 75 72 72 |_state =| yy_curr|
|00003960| 65 6e 74 5f 73 74 61 74 | 65 3b 20 5c 0a 58 09 09 |ent_stat|e; \.X..|
|00003970| 09 79 79 5f 6c 61 73 74 | 5f 61 63 63 65 70 74 69 |.yy_last|_accepti|
|00003980| 6e 67 5f 63 70 6f 73 20 | 3d 20 79 79 5f 63 5f 62 |ng_cpos |= yy_c_b|
|00003990| 75 66 5f 70 3b 20 5c 0a | 58 09 09 09 7d 0a 58 23 |uf_p; \.|X...}.X#|
|000039a0| 20 20 20 20 65 6c 73 65 | 0a 58 23 09 64 65 66 69 | else|.X#.defi|
|000039b0| 6e 65 20 59 59 5f 42 41 | 43 4b 54 52 41 43 4b 49 |ne YY_BA|CKTRACKI|
|000039c0| 4e 47 5f 41 43 54 49 4f | 4e 20 5c 0a 58 09 09 69 |NG_ACTIO|N \.X..i|
|000039d0| 66 20 28 20 79 79 5f 63 | 75 72 72 65 6e 74 5f 73 |f ( yy_c|urrent_s|
|000039e0| 74 61 74 65 5b 2d 31 5d | 2e 6e 20 29 20 5c 0a 58 |tate[-1]|.n ) \.X|
|000039f0| 09 09 09 7b 20 5c 0a 58 | 09 09 09 79 79 5f 6c 61 |...{ \.X|...yy_la|
|00003a00| 73 74 5f 61 63 63 65 70 | 74 69 6e 67 5f 73 74 61 |st_accep|ting_sta|
|00003a10| 74 65 20 3d 20 79 79 5f | 63 75 72 72 65 6e 74 5f |te = yy_|current_|
|00003a20| 73 74 61 74 65 3b 20 5c | 0a 58 09 09 09 79 79 5f |state; \|.X...yy_|
|00003a30| 6c 61 73 74 5f 61 63 63 | 65 70 74 69 6e 67 5f 63 |last_acc|epting_c|
|00003a40| 70 6f 73 20 3d 20 79 79 | 5f 63 5f 62 75 66 5f 70 |pos = yy|_c_buf_p|
|00003a50| 3b 20 5c 0a 58 09 09 09 | 7d 0a 58 23 20 20 20 20 |; \.X...|}.X# |
|00003a60| 65 6e 64 69 66 0a 58 23 | 65 6c 73 65 0a 58 23 20 |endif.X#|else.X# |
|00003a70| 20 20 20 64 65 66 69 6e | 65 20 59 59 5f 42 41 43 | defin|e YY_BAC|
|00003a80| 4b 54 52 41 43 4b 49 4e | 47 5f 41 43 54 49 4f 4e |KTRACKIN|G_ACTION|
|00003a90| 0a 58 23 65 6e 64 69 66 | 0a 58 0a 59 59 5f 44 45 |.X#endif|.X.YY_DE|
|00003aa0| 43 4c 0a 58 20 20 20 20 | 7b 0a 58 20 20 20 20 72 |CL.X |{.X r|
|00003ab0| 65 67 69 73 74 65 72 20 | 59 59 5f 43 53 5f 54 59 |egister |YY_CS_TY|
|00003ac0| 50 45 20 79 79 5f 63 75 | 72 72 65 6e 74 5f 73 74 |PE yy_cu|rrent_st|
|00003ad0| 61 74 65 3b 0a 58 20 20 | 20 20 72 65 67 69 73 74 |ate;.X | regist|
|00003ae0| 65 72 20 69 6e 74 20 79 | 79 5f 63 3b 0a 58 20 20 |er int y|y_c;.X |
|00003af0| 20 20 72 65 67 69 73 74 | 65 72 20 73 74 72 75 63 | regist|er struc|
|00003b00| 74 20 79 79 5f 74 72 61 | 6e 73 5f 69 6e 66 6f 20 |t yy_tra|ns_info |
|00003b10| 2a 79 79 5f 74 72 61 6e | 73 5f 69 6e 66 6f 3b 0a |*yy_tran|s_info;.|
|00003b20| 58 20 20 20 20 72 65 67 | 69 73 74 65 72 20 69 6e |X reg|ister in|
|00003b30| 74 20 79 79 5f 61 63 74 | 3b 0a 58 0a 58 25 25 20 |t yy_act|;.X.X%% |
|00003b40| 75 73 65 72 27 73 20 64 | 65 63 6c 61 72 61 74 69 |user's d|eclarati|
|00003b50| 6f 6e 73 20 67 6f 20 68 | 65 72 65 0a 58 0a 58 20 |ons go h|ere.X.X |
|00003b60| 20 20 20 69 66 20 28 20 | 79 79 5f 69 6e 69 74 20 | if ( |yy_init |
|00003b70| 29 0a 58 09 7b 0a 58 09 | 79 79 5f 73 74 61 72 74 |).X.{.X.|yy_start|
|00003b80| 20 3d 20 31 3b 09 2f 2a | 20 66 69 72 73 74 20 73 | = 1;./*| first s|
|00003b90| 74 61 72 74 20 73 74 61 | 74 65 20 2a 2f 0a 58 0a |tart sta|te */.X.|
|00003ba0| 6e 65 77 5f 66 69 6c 65 | 3a 0a 58 09 2f 2a 20 74 |new_file|:.X./* t|
|00003bb0| 68 69 73 20 69 73 20 77 | 68 65 72 65 20 77 65 20 |his is w|here we |
|00003bc0| 65 6e 74 65 72 20 75 70 | 6f 6e 20 65 6e 63 6f 75 |enter up|on encou|
|00003bd0| 6e 74 65 72 69 6e 67 20 | 61 6e 64 20 65 6e 64 2d |ntering |and end-|
|00003be0| 6f 66 2d 66 69 6c 65 20 | 61 6e 64 0a 58 09 20 2a |of-file |and.X. *|
|00003bf0| 20 79 79 77 72 61 70 28 | 29 20 69 6e 64 69 63 61 | yywrap(|) indica|
|00003c00| 74 69 6e 67 20 74 68 61 | 74 20 77 65 20 73 68 6f |ting tha|t we sho|
|00003c10| 75 6c 64 20 63 6f 6e 74 | 69 6e 75 65 20 70 72 6f |uld cont|inue pro|
|00003c20| 63 65 73 73 69 6e 67 0a | 58 09 20 2a 2f 0a 58 0a |cessing.|X. */.X.|
|00003c30| 58 09 2f 2a 20 77 65 20 | 70 75 74 20 69 6e 20 74 |X./* we |put in t|
|00003c40| 68 65 20 27 5c 6e 27 20 | 61 6e 64 20 73 74 61 72 |he '\n' |and star|
|00003c50| 74 20 72 65 61 64 69 6e | 67 20 66 72 6f 6d 20 5b |t readin|g from [|
|00003c60| 31 5d 20 73 6f 20 74 68 | 61 74 20 61 6e 0a 58 09 |1] so th|at an.X.|
|00003c70| 20 2a 20 69 6e 69 74 69 | 61 6c 20 6d 61 74 63 68 | * initi|al match|
|00003c80| 2d 61 74 2d 6e 65 77 6c | 69 6e 65 20 77 69 6c 6c |-at-newl|ine will|
|00003c90| 20 62 65 20 74 72 75 65 | 2e 0a 58 09 20 2a 2f 0a | be true|..X. */.|
|00003ca0| 58 0a 58 09 79 79 5f 63 | 68 5f 62 75 66 5b 30 5d |X.X.yy_c|h_buf[0]|
|00003cb0| 20 3d 20 27 5c 6e 27 3b | 0a 58 09 79 79 5f 6e 5f | = '\n';|.X.yy_n_|
|00003cc0| 63 68 61 72 73 20 3d 20 | 31 3b 0a 58 0a 58 09 2f |chars = |1;.X.X./|
|00003cd0| 2a 20 77 65 20 61 6c 77 | 61 79 73 20 6e 65 65 64 |* we alw|ays need|
|00003ce0| 20 74 77 6f 20 65 6e 64 | 2d 6f 66 2d 62 75 66 66 | two end|-of-buff|
|00003cf0| 65 72 20 63 68 61 72 61 | 63 74 65 72 73 2e 20 20 |er chara|cters. |
|00003d00| 54 68 65 20 66 69 72 73 | 74 20 63 61 75 73 65 73 |The firs|t causes|
|00003d10| 0a 58 09 20 2a 20 61 20 | 74 72 61 6e 73 69 74 69 |.X. * a |transiti|
|00003d20| 6f 6e 20 74 6f 20 74 68 | 65 20 65 6e 64 2d 6f 66 |on to th|e end-of|
|00003d30| 2d 62 75 66 66 65 72 20 | 73 74 61 74 65 2e 20 20 |-buffer |state. |
|00003d40| 54 68 65 20 73 65 63 6f | 6e 64 20 63 61 75 73 65 |The seco|nd cause|
|00003d50| 73 0a 58 09 20 2a 20 61 | 20 6a 61 6d 20 69 6e 20 |s.X. * a| jam in |
|00003d60| 74 68 61 74 20 73 74 61 | 74 65 2e 0a 58 09 20 2a |that sta|te..X. *|
|00003d70| 2f 0a 58 09 79 79 5f 63 | 68 5f 62 75 66 5b 79 79 |/.X.yy_c|h_buf[yy|
|00003d80| 5f 6e 5f 63 68 61 72 73 | 5d 20 3d 20 59 59 5f 45 |_n_chars|] = YY_E|
|00003d90| 4e 44 5f 4f 46 5f 42 55 | 46 46 45 52 5f 43 48 41 |ND_OF_BU|FFER_CHA|
|00003da0| 52 3b 0a 58 09 79 79 5f | 63 68 5f 62 75 66 5b 79 |R;.X.yy_|ch_buf[y|
|00003db0| 79 5f 6e 5f 63 68 61 72 | 73 20 2b 20 31 5d 20 3d |y_n_char|s + 1] =|
|00003dc0| 20 59 59 5f 45 4e 44 5f | 4f 46 5f 42 55 46 46 45 | YY_END_|OF_BUFFE|
|00003dd0| 52 5f 43 48 41 52 3b 0a | 58 0a 58 09 79 79 5f 65 |R_CHAR;.|X.X.yy_e|
|00003de0| 6f 66 5f 68 61 73 5f 62 | 65 65 6e 5f 73 65 65 6e |of_has_b|een_seen|
|00003df0| 20 3d 20 30 3b 0a 58 0a | 58 09 59 59 5f 46 41 53 | = 0;.X.|X.YY_FAS|
|00003e00| 54 5f 49 4e 49 54 3b 0a | 58 09 79 79 5f 69 6e 69 |T_INIT;.|X.yy_ini|
|00003e10| 74 20 3d 20 30 3b 0a 58 | 09 7d 0a 58 0a 58 20 20 |t = 0;.X|.}.X.X |
|00003e20| 20 20 77 68 69 6c 65 20 | 28 20 31 20 29 09 09 2f | while |( 1 )../|
|00003e30| 2a 20 6c 6f 6f 70 73 20 | 75 6e 74 69 6c 20 65 6e |* loops |until en|
|00003e40| 64 2d 6f 66 2d 66 69 6c | 65 20 69 73 20 72 65 61 |d-of-fil|e is rea|
|00003e50| 63 68 65 64 20 2a 2f 0a | 58 09 7b 0a 58 09 2f 2a |ched */.|X.{.X./*|
|00003e60| 20 73 75 70 70 6f 72 74 | 20 6f 66 20 79 79 74 65 | support| of yyte|
|00003e70| 78 74 20 61 6e 64 20 79 | 79 6c 65 6e 67 20 2a 2f |xt and y|yleng */|
|00003e80| 0a 58 09 59 59 5f 44 4f | 5f 42 45 46 4f 52 45 5f |.X.YY_DO|_BEFORE_|
|00003e90| 53 43 41 4e 3b 0a 58 0a | 58 09 2f 2a 20 79 79 5f |SCAN;.X.|X./* yy_|
|00003ea0| 62 5f 62 75 66 5f 70 20 | 70 6f 69 6e 74 73 20 74 |b_buf_p |points t|
|00003eb0| 6f 20 74 68 65 20 70 6f | 73 69 74 69 6f 6e 20 69 |o the po|sition i|
|00003ec0| 6e 20 79 79 5f 63 68 5f | 62 75 66 20 6f 66 20 74 |n yy_ch_|buf of t|
|00003ed0| 68 65 20 73 74 61 72 74 | 20 6f 66 20 74 68 65 0a |he start| of the.|
|00003ee0| 58 09 20 2a 20 63 75 72 | 72 65 6e 74 20 72 75 6e |X. * cur|rent run|
|00003ef0| 2e 0a 58 09 20 2a 2f 0a | 58 09 79 79 5f 62 5f 62 |..X. */.|X.yy_b_b|
|00003f00| 75 66 5f 70 20 3d 20 79 | 79 5f 63 5f 62 75 66 5f |uf_p = y|y_c_buf_|
|00003f10| 70 3b 0a 58 0a 58 20 20 | 20 20 20 20 20 20 59 59 |p;.X.X | YY|
|00003f20| 5f 46 49 4e 44 5f 53 54 | 41 52 54 5f 53 54 41 54 |_FIND_ST|ART_STAT|
|00003f30| 45 28 20 79 79 5f 63 75 | 72 72 65 6e 74 5f 73 74 |E( yy_cu|rrent_st|
|00003f40| 61 74 65 20 29 3b 0a 58 | 0a 58 20 20 20 20 20 20 |ate );.X|.X |
|00003f50| 20 20 59 59 5f 46 49 4e | 44 5f 4e 45 58 54 5f 4d | YY_FIN|D_NEXT_M|
|00003f60| 41 54 43 48 3b 0a 58 0a | 58 09 59 59 5f 44 4f 5f |ATCH;.X.|X.YY_DO_|
|00003f70| 42 45 46 4f 52 45 5f 41 | 43 54 49 4f 4e 3b 0a 58 |BEFORE_A|CTION;.X|
|00003f80| 0a 58 2f 2a 20 77 65 20 | 6e 65 65 64 20 74 68 69 |.X/* we |need thi|
|00003f90| 73 20 6c 61 62 65 6c 20 | 74 6f 20 70 72 6f 63 65 |s label |to proce|
|00003fa0| 73 73 20 74 68 65 20 76 | 65 72 79 20 6c 61 73 74 |ss the v|ery last|
|00003fb0| 20 61 63 74 69 6f 6e 20 | 28 72 69 67 68 74 20 62 | action |(right b|
|00003fc0| 65 66 6f 72 65 20 74 68 | 65 20 65 6e 64 20 6f 66 |efore th|e end of|
|00003fd0| 0a 58 20 2a 20 74 68 65 | 20 66 69 6c 65 29 0a 58 |.X * the| file).X|
|00003fe0| 20 2a 2f 0a 64 6f 5f 61 | 63 74 69 6f 6e 3a 0a 58 | */.do_a|ction:.X|
|00003ff0| 09 59 59 5f 46 49 4e 44 | 5f 41 43 54 49 4f 4e 28 |.YY_FIND|_ACTION(|
|00004000| 20 79 79 5f 61 63 74 20 | 29 3b 0a 58 0a 58 23 69 | yy_act |);.X.X#i|
|00004010| 66 64 65 66 20 46 4c 45 | 58 5f 44 45 42 55 47 0a |fdef FLE|X_DEBUG.|
|00004020| 58 09 66 70 72 69 6e 74 | 66 28 20 73 74 64 65 72 |X.fprint|f( stder|
|00004030| 72 2c 20 22 2d 2d 61 63 | 63 65 70 74 69 6e 67 20 |r, "--ac|cepting |
|00004040| 72 75 6c 65 20 23 25 64 | 5c 6e 22 2c 20 79 79 5f |rule #%d|\n", yy_|
|00004050| 61 63 74 20 29 3b 0a 58 | 23 65 6e 64 69 66 0a 58 |act );.X|#endif.X|
|00004060| 09 73 77 69 74 63 68 20 | 28 20 79 79 5f 61 63 74 |.switch |( yy_act|
|00004070| 20 29 0a 58 09 20 20 20 | 20 7b 0a 58 25 25 20 61 | ).X. | {.X%% a|
|00004080| 63 74 69 6f 6e 73 20 67 | 6f 20 68 65 72 65 0a 58 |ctions g|o here.X|
|00004090| 0a 58 09 20 20 20 20 63 | 61 73 65 20 59 59 5f 42 |.X. c|ase YY_B|
|000040a0| 41 43 4b 5f 54 52 41 43 | 4b 3a 0a 58 09 09 59 59 |ACK_TRAC|K:.X..YY|
|000040b0| 5f 44 4f 5f 42 45 46 4f | 52 45 5f 53 43 41 4e 3b |_DO_BEFO|RE_SCAN;|
|000040c0| 20 2f 2a 20 75 6e 64 6f | 20 74 68 65 20 65 66 66 | /* undo| the eff|
|000040d0| 65 63 74 73 20 6f 66 20 | 59 59 5f 44 4f 5f 42 45 |ects of |YY_DO_BE|
|000040e0| 46 4f 52 45 5f 41 43 54 | 49 4f 4e 20 2a 2f 0a 58 |FORE_ACT|ION */.X|
|000040f0| 09 09 79 79 5f 63 5f 62 | 75 66 5f 70 20 3d 20 79 |..yy_c_b|uf_p = y|
|00004100| 79 5f 6c 61 73 74 5f 61 | 63 63 65 70 74 69 6e 67 |y_last_a|ccepting|
|00004110| 5f 63 70 6f 73 20 2b 20 | 31 3b 0a 58 09 09 79 79 |_cpos + |1;.X..yy|
|00004120| 5f 63 75 72 72 65 6e 74 | 5f 73 74 61 74 65 20 3d |_current|_state =|
|00004130| 20 79 79 5f 6c 61 73 74 | 5f 61 63 63 65 70 74 69 | yy_last|_accepti|
|00004140| 6e 67 5f 73 74 61 74 65 | 3b 0a 58 09 09 59 59 5f |ng_state|;.X..YY_|
|00004150| 44 4f 5f 42 45 46 4f 52 | 45 5f 41 43 54 49 4f 4e |DO_BEFOR|E_ACTION|
|00004160| 3b 0a 58 09 09 67 6f 74 | 6f 20 64 6f 5f 61 63 74 |;.X..got|o do_act|
|00004170| 69 6f 6e 3b 0a 58 0a 58 | 09 20 20 20 20 63 61 73 |ion;.X.X|. cas|
|00004180| 65 20 59 59 5f 4e 45 57 | 5f 46 49 4c 45 3a 0a 58 |e YY_NEW|_FILE:.X|
|00004190| 09 09 62 72 65 61 6b 3b | 20 2f 2a 20 62 65 67 69 |..break;| /* begi|
|000041a0| 6e 20 72 65 61 64 69 6e | 67 20 66 72 6f 6d 20 6e |n readin|g from n|
|000041b0| 65 77 20 66 69 6c 65 20 | 2a 2f 0a 58 0a 58 09 20 |ew file |*/.X.X. |
|000041c0| 20 20 20 63 61 73 65 20 | 59 59 5f 44 4f 5f 44 45 | case |YY_DO_DE|
|000041d0| 46 41 55 4c 54 3a 0a 58 | 09 09 2f 2a 20 77 65 20 |FAULT:.X|../* we |
|000041e0| 68 61 76 65 20 74 6f 20 | 65 61 74 20 75 70 20 6f |have to |eat up o|
|000041f0| 6e 65 20 63 68 61 72 61 | 63 74 65 72 20 61 6e 64 |ne chara|cter and|
|00004200| 20 72 65 63 6f 6d 70 75 | 74 65 20 79 79 74 65 78 | recompu|te yytex|
|00004210| 74 20 61 6e 64 0a 58 09 | 09 20 2a 20 79 79 6c 65 |t and.X.|. * yyle|
|00004220| 6e 67 0a 58 09 09 20 2a | 2f 0a 58 09 09 59 59 5f |ng.X.. *|/.X..YY_|
|00004230| 44 4f 5f 42 45 46 4f 52 | 45 5f 53 43 41 4e 3b 20 |DO_BEFOR|E_SCAN; |
|00004240| 2f 2a 20 75 6e 64 6f 20 | 74 68 65 20 65 66 66 65 |/* undo |the effe|
|00004250| 63 74 73 20 6f 66 20 59 | 59 5f 44 4f 5f 42 45 46 |cts of Y|Y_DO_BEF|
|00004260| 4f 52 45 5f 41 43 54 49 | 4f 4e 20 2a 2f 0a 58 09 |ORE_ACTI|ON */.X.|
|00004270| 09 2b 2b 79 79 5f 63 5f | 62 75 66 5f 70 3b 0a 58 |.++yy_c_|buf_p;.X|
|00004280| 09 09 59 59 5f 44 4f 5f | 42 45 46 4f 52 45 5f 41 |..YY_DO_|BEFORE_A|
|00004290| 43 54 49 4f 4e 3b 0a 58 | 09 09 59 59 5f 44 45 46 |CTION;.X|..YY_DEF|
|000042a0| 41 55 4c 54 5f 41 43 54 | 49 4f 4e 3b 0a 58 09 09 |AULT_ACT|ION;.X..|
|000042b0| 62 72 65 61 6b 3b 0a 58 | 0a 58 09 20 20 20 20 63 |break;.X|.X. c|
|000042c0| 61 73 65 20 59 59 5f 45 | 4e 44 5f 4f 46 5f 42 55 |ase YY_E|ND_OF_BU|
|000042d0| 46 46 45 52 3a 0a 58 09 | 09 59 59 5f 44 4f 5f 42 |FFER:.X.|.YY_DO_B|
|000042e0| 45 46 4f 52 45 5f 53 43 | 41 4e 3b 20 2f 2a 20 75 |EFORE_SC|AN; /* u|
|000042f0| 6e 64 6f 20 74 68 65 20 | 65 66 66 65 63 74 73 20 |ndo the |effects |
|00004300| 6f 66 20 59 59 5f 44 4f | 5f 42 45 46 4f 52 45 5f |of YY_DO|_BEFORE_|
|00004310| 41 43 54 49 4f 4e 20 2a | 2f 0a 58 0a 58 09 09 73 |ACTION *|/.X.X..s|
|00004320| 77 69 74 63 68 20 28 20 | 79 79 5f 67 65 74 5f 6e |witch ( |yy_get_n|
|00004330| 65 78 74 5f 62 75 66 66 | 65 72 28 29 20 29 0a 58 |ext_buff|er() ).X|
|00004340| 09 09 20 20 20 20 7b 0a | 58 09 09 20 20 20 20 63 |.. {.|X.. c|
|00004350| 61 73 65 20 45 4f 42 5f | 41 43 54 5f 45 4e 44 5f |ase EOB_|ACT_END_|
|00004360| 4f 46 5f 46 49 4c 45 3a | 0a 58 09 09 09 7b 0a 58 |OF_FILE:|.X...{.X|
|00004370| 09 09 09 69 66 20 28 20 | 79 79 77 72 61 70 28 29 |...if ( |yywrap()|
|00004380| 20 29 0a 58 09 09 09 20 | 20 20 20 7b 0a 58 09 09 | ).X... | {.X..|
|00004390| 09 20 20 20 20 2f 2a 20 | 6e 6f 74 65 3a 20 62 65 |. /* |note: be|
|000043a0| 63 61 75 73 65 20 77 65 | 27 76 65 20 74 61 6b 65 |cause we|'ve take|
|000043b0| 6e 20 63 61 72 65 20 69 | 6e 0a 58 09 09 09 20 20 |n care i|n.X... |
|000043c0| 20 20 20 2a 20 79 79 5f | 67 65 74 5f 6e 65 78 74 | * yy_|get_next|
|000043d0| 5f 62 75 66 66 65 72 28 | 29 20 74 6f 20 68 61 76 |_buffer(|) to hav|
|000043e0| 65 20 73 65 74 20 75 70 | 20 79 79 5f 62 5f 62 75 |e set up| yy_b_bu|
|000043f0| 66 5f 70 2c 0a 58 09 09 | 09 20 20 20 20 20 2a 20 |f_p,.X..|. * |
|00004400| 77 65 20 63 61 6e 20 6e | 6f 77 20 73 65 74 20 75 |we can n|ow set u|
|00004410| 70 20 79 79 5f 63 5f 62 | 75 66 5f 70 20 73 6f 20 |p yy_c_b|uf_p so |
|00004420| 74 68 61 74 20 69 66 20 | 73 6f 6d 65 0a 58 09 09 |that if |some.X..|
|00004430| 09 20 20 20 20 20 2a 20 | 74 6f 74 61 6c 20 68 6f |. * |total ho|
|00004440| 73 65 72 20 28 6c 69 6b | 65 20 66 6c 65 78 20 69 |ser (lik|e flex i|
|00004450| 74 73 65 6c 66 29 20 77 | 61 6e 74 73 0a 58 09 09 |tself) w|ants.X..|
|00004460| 09 20 20 20 20 20 2a 20 | 74 6f 20 63 61 6c 6c 20 |. * |to call |
|00004470| 74 68 65 20 73 63 61 6e | 6e 65 72 20 61 66 74 65 |the scan|ner afte|
|00004480| 72 20 77 65 20 72 65 74 | 75 72 6e 20 74 68 65 0a |r we ret|urn the.|
|00004490| 58 09 09 09 20 20 20 20 | 20 2a 20 59 59 5f 4e 55 |X... | * YY_NU|
|000044a0| 4c 4c 2c 20 69 74 27 6c | 6c 20 73 74 69 6c 6c 20 |LL, it'l|l still |
|000044b0| 77 6f 72 6b 20 2d 20 61 | 6e 6f 74 68 65 72 20 59 |work - a|nother Y|
|000044c0| 59 5f 4e 55 4c 4c 0a 58 | 20 09 09 09 20 20 20 20 |Y_NULL.X| ... |
|000044d0| 20 2a 20 77 69 6c 6c 20 | 67 65 74 20 72 65 74 75 | * will |get retu|
|000044e0| 72 6e 65 64 2e 0a 58 09 | 09 09 20 20 20 20 20 2a |rned..X.|.. *|
|000044f0| 2f 0a 58 09 09 09 20 20 | 20 20 79 79 5f 63 5f 62 |/.X... | yy_c_b|
|00004500| 75 66 5f 70 20 3d 20 79 | 79 5f 62 5f 62 75 66 5f |uf_p = y|y_b_buf_|
|00004510| 70 3b 0a 58 09 09 09 20 | 20 20 20 72 65 74 75 72 |p;.X... | retur|
|00004520| 6e 20 28 20 59 59 5f 4e | 55 4c 4c 20 29 3b 0a 58 |n ( YY_N|ULL );.X|
|00004530| 09 09 09 20 20 20 20 7d | 0a 58 0a 58 09 09 09 65 |... }|.X.X...e|
|00004540| 6c 73 65 0a 58 09 09 09 | 20 20 20 20 67 6f 74 6f |lse.X...| goto|
|00004550| 20 6e 65 77 5f 66 69 6c | 65 3b 0a 58 09 09 09 7d | new_fil|e;.X...}|
|00004560| 0a 58 09 09 09 62 72 65 | 61 6b 3b 0a 58 0a 58 09 |.X...bre|ak;.X.X.|
|00004570| 09 20 20 20 20 63 61 73 | 65 20 45 4f 42 5f 41 43 |. cas|e EOB_AC|
|00004580| 54 5f 52 45 53 54 41 52 | 54 5f 53 43 41 4e 3a 0a |T_RESTAR|T_SCAN:.|
|00004590| 58 09 09 09 79 79 5f 63 | 5f 62 75 66 5f 70 20 3d |X...yy_c|_buf_p =|
|000045a0| 20 79 79 5f 62 5f 62 75 | 66 5f 70 3b 0a 58 0a 58 | yy_b_bu|f_p;.X.X|
|000045b0| 09 09 09 59 59 5f 44 4f | 5f 42 45 46 4f 52 45 5f |...YY_DO|_BEFORE_|
|000045c0| 52 45 53 54 41 52 54 3b | 0a 58 09 09 09 62 72 65 |RESTART;|.X...bre|
|000045d0| 61 6b 3b 0a 58 0a 58 09 | 09 20 20 20 20 63 61 73 |ak;.X.X.|. cas|
|000045e0| 65 20 45 4f 42 5f 41 43 | 54 5f 4c 41 53 54 5f 4d |e EOB_AC|T_LAST_M|
|000045f0| 41 54 43 48 3a 0a 58 09 | 09 09 79 79 5f 63 5f 62 |ATCH:.X.|..yy_c_b|
|00004600| 75 66 5f 70 20 3d 20 26 | 79 79 5f 63 68 5f 62 75 |uf_p = &|yy_ch_bu|
|00004610| 66 5b 79 79 5f 6e 5f 63 | 68 61 72 73 5d 3b 0a 58 |f[yy_n_c|hars];.X|
|00004620| 0a 58 09 09 09 79 79 5f | 63 75 72 72 65 6e 74 5f |.X...yy_|current_|
|00004630| 73 74 61 74 65 20 3d 20 | 79 79 5f 67 65 74 5f 70 |state = |yy_get_p|
|00004640| 72 65 76 69 6f 75 73 5f | 73 74 61 74 65 28 29 3b |revious_|state();|
|00004650| 0a 58 0a 58 09 09 09 59 | 59 5f 44 4f 5f 42 45 46 |.X.X...Y|Y_DO_BEF|
|00004660| 4f 52 45 5f 41 43 54 49 | 4f 4e 3b 0a 58 0a 58 09 |ORE_ACTI|ON;.X.X.|
|00004670| 09 09 67 6f 74 6f 20 64 | 6f 5f 61 63 74 69 6f 6e |..goto d|o_action|
|00004680| 3b 0a 58 09 09 20 20 20 | 20 7d 0a 58 09 09 62 72 |;.X.. | }.X..br|
|00004690| 65 61 6b 3b 0a 58 0a 58 | 09 20 20 20 20 64 65 66 |eak;.X.X|. def|
|000046a0| 61 75 6c 74 3a 0a 58 09 | 09 70 72 69 6e 74 66 28 |ault:.X.|.printf(|
|000046b0| 20 22 61 63 74 69 6f 6e | 20 23 20 25 64 5c 6e 22 | "action| # %d\n"|
|000046c0| 2c 20 79 79 5f 61 63 74 | 20 29 3b 0a 58 09 09 59 |, yy_act| );.X..Y|
|000046d0| 59 5f 46 41 54 41 4c 5f | 45 52 52 4f 52 28 20 22 |Y_FATAL_|ERROR( "|
|000046e0| 66 61 74 61 6c 20 66 6c | 65 78 20 73 63 61 6e 6e |fatal fl|ex scann|
|000046f0| 65 72 20 69 6e 74 65 72 | 6e 61 6c 20 65 72 72 6f |er inter|nal erro|
|00004700| 72 22 20 29 3b 0a 58 09 | 20 20 20 20 7d 0a 58 09 |r" );.X.| }.X.|
|00004710| 7d 0a 58 20 20 20 20 7d | 0a 58 0a 58 0a 58 2f 2a |}.X }|.X.X.X/*|
|00004720| 20 79 79 5f 67 65 74 5f | 6e 65 78 74 5f 62 75 66 | yy_get_|next_buf|
|00004730| 66 65 72 20 2d 20 74 72 | 79 20 74 6f 20 72 65 61 |fer - tr|y to rea|
|00004740| 64 20 69 6e 20 6e 65 77 | 20 62 75 66 66 65 72 0a |d in new| buffer.|
|00004750| 58 20 2a 0a 58 20 2a 20 | 73 79 6e 6f 70 73 69 73 |X *.X * |synopsis|
|00004760| 0a 58 20 2a 20 20 20 20 | 20 69 6e 74 20 79 79 5f |.X * | int yy_|
|00004770| 67 65 74 5f 6e 65 78 74 | 5f 62 75 66 66 65 72 28 |get_next|_buffer(|
|00004780| 29 3b 0a 58 20 2a 20 20 | 20 20 20 0a 58 20 2a 20 |);.X * | .X * |
|00004790| 72 65 74 75 72 6e 73 20 | 61 20 63 6f 64 65 20 72 |returns |a code r|
|000047a0| 65 70 72 65 73 65 6e 74 | 69 6e 67 20 61 6e 20 61 |epresent|ing an a|
|000047b0| 63 74 69 6f 6e 0a 58 20 | 2a 20 20 20 20 20 45 4f |ction.X |* EO|
|000047c0| 42 5f 41 43 54 5f 4c 41 | 53 54 5f 4d 41 54 43 48 |B_ACT_LA|ST_MATCH|
|000047d0| 20 2d 20 0a 58 20 2a 20 | 20 20 20 20 45 4f 42 5f | - .X * | EOB_|
|000047e0| 41 43 54 5f 52 45 53 54 | 41 52 54 5f 53 43 41 4e |ACT_REST|ART_SCAN|
|000047f0| 20 2d 20 72 65 73 74 61 | 72 74 20 74 68 65 20 73 | - resta|rt the s|
|00004800| 63 61 6e 6e 65 72 0a 58 | 20 2a 20 20 20 20 20 45 |canner.X| * E|
|00004810| 4f 42 5f 41 43 54 5f 45 | 4e 44 5f 4f 46 5f 46 49 |OB_ACT_E|ND_OF_FI|
|00004820| 4c 45 20 2d 20 65 6e 64 | 20 6f 66 20 66 69 6c 65 |LE - end| of file|
|00004830| 0a 58 20 2a 2f 0a 58 0a | 73 74 61 74 69 63 20 69 |.X */.X.|static i|
|00004840| 6e 74 20 79 79 5f 67 65 | 74 5f 6e 65 78 74 5f 62 |nt yy_ge|t_next_b|
|00004850| 75 66 66 65 72 28 29 0a | 58 0a 58 20 20 20 20 7b |uffer().|X.X {|
|00004860| 0a 58 20 20 20 20 69 66 | 20 28 20 79 79 5f 63 5f |.X if| ( yy_c_|
|00004870| 62 75 66 5f 70 20 21 3d | 20 26 79 79 5f 63 68 5f |buf_p !=| &yy_ch_|
|00004880| 62 75 66 5b 79 79 5f 6e | 5f 63 68 61 72 73 20 2b |buf[yy_n|_chars +|
|00004890| 20 31 5d 20 29 0a 58 09 | 7b 0a 58 09 59 59 5f 46 | 1] ).X.|{.X.YY_F|
|000048a0| 41 54 41 4c 5f 45 52 52 | 4f 52 28 20 22 4e 55 4c |ATAL_ERR|OR( "NUL|
|000048b0| 4c 20 69 6e 20 69 6e 70 | 75 74 22 20 29 3b 0a 58 |L in inp|ut" );.X|
|000048c0| 09 2f 2a 4e 4f 54 52 45 | 41 43 48 45 44 2a 2f 0a |./*NOTRE|ACHED*/.|
|000048d0| 58 09 7d 0a 58 0a 58 20 | 20 20 20 65 6c 73 65 0a |X.}.X.X | else.|
|000048e0| 58 09 7b 20 2f 2a 20 74 | 72 79 20 74 6f 20 72 65 |X.{ /* t|ry to re|
|000048f0| 61 64 20 6d 6f 72 65 20 | 64 61 74 61 20 2a 2f 0a |ad more |data */.|
|00004900| 58 09 72 65 67 69 73 74 | 65 72 20 63 68 61 72 20 |X.regist|er char |
|00004910| 2a 64 65 73 74 20 3d 20 | 79 79 5f 63 68 5f 62 75 |*dest = |yy_ch_bu|
|00004920| 66 3b 0a 58 09 72 65 67 | 69 73 74 65 72 20 63 68 |f;.X.reg|ister ch|
|00004930| 61 72 20 2a 73 6f 75 72 | 63 65 20 3d 20 79 79 5f |ar *sour|ce = yy_|
|00004940| 62 5f 62 75 66 5f 70 20 | 2d 20 31 3b 20 2f 2a 20 |b_buf_p |- 1; /* |
|00004950| 63 6f 70 79 20 70 72 65 | 76 2e 20 63 68 61 72 2c |copy pre|v. char,|
|00004960| 20 74 6f 6f 20 2a 2f 0a | 58 09 72 65 67 69 73 74 | too */.|X.regist|
|00004970| 65 72 20 69 6e 74 20 6e | 75 6d 62 65 72 5f 74 6f |er int n|umber_to|
|00004980| 5f 6d 6f 76 65 2c 20 69 | 3b 0a 58 09 69 6e 74 20 |_move, i|;.X.int |
|00004990| 72 65 74 5f 76 61 6c 3b | 0a 58 09 0a 58 09 2f 2a |ret_val;|.X..X./*|
|000049a0| 20 66 69 72 73 74 20 6d | 6f 76 65 20 6c 61 73 74 | first m|ove last|
|000049b0| 20 63 68 61 72 73 20 74 | 6f 20 73 74 61 72 74 20 | chars t|o start |
|000049c0| 6f 66 20 62 75 66 66 65 | 72 20 2a 2f 0a 58 09 6e |of buffe|r */.X.n|
|000049d0| 75 6d 62 65 72 5f 74 6f | 5f 6d 6f 76 65 20 3d 20 |umber_to|_move = |
|000049e0| 79 79 5f 63 5f 62 75 66 | 5f 70 20 2d 20 79 79 5f |yy_c_buf|_p - yy_|
|000049f0| 62 5f 62 75 66 5f 70 3b | 0a 58 0a 58 09 66 6f 72 |b_buf_p;|.X.X.for|
|00004a00| 20 28 20 69 20 3d 20 30 | 3b 20 69 20 3c 20 6e 75 | ( i = 0|; i < nu|
|00004a10| 6d 62 65 72 5f 74 6f 5f | 6d 6f 76 65 3b 20 2b 2b |mber_to_|move; ++|
|00004a20| 69 20 29 0a 58 09 20 20 | 20 20 2a 28 64 65 73 74 |i ).X. | *(dest|
|00004a30| 2b 2b 29 20 3d 20 2a 28 | 73 6f 75 72 63 65 2b 2b |++) = *(|source++|
|00004a40| 29 3b 0a 58 0a 58 09 69 | 66 20 28 20 79 79 5f 65 |);.X.X.i|f ( yy_e|
|00004a50| 6f 66 5f 68 61 73 5f 62 | 65 65 6e 5f 73 65 65 6e |of_has_b|een_seen|
|00004a60| 20 29 0a 58 09 20 20 20 | 20 2f 2a 20 64 6f 6e 27 | ).X. | /* don'|
|00004a70| 74 20 64 6f 20 74 68 65 | 20 72 65 61 64 2c 20 69 |t do the| read, i|
|00004a80| 74 27 73 20 6e 6f 74 20 | 67 75 61 72 61 6e 74 65 |t's not |guarante|
|00004a90| 65 64 20 74 6f 20 72 65 | 74 75 72 6e 20 61 6e 20 |ed to re|turn an |
|00004aa0| 45 4f 46 2c 0a 58 09 20 | 20 20 20 20 2a 20 6a 75 |EOF,.X. | * ju|
|00004ab0| 73 74 20 66 6f 72 63 65 | 20 61 6e 20 45 4f 46 0a |st force| an EOF.|
|00004ac0| 58 09 20 20 20 20 20 2a | 2f 0a 58 09 20 20 20 20 |X. *|/.X. |
|00004ad0| 79 79 5f 6e 5f 63 68 61 | 72 73 20 3d 20 30 3b 0a |yy_n_cha|rs = 0;.|
|00004ae0| 58 0a 58 09 65 6c 73 65 | 0a 58 09 20 20 20 20 2f |X.X.else|.X. /|
|00004af0| 2a 20 72 65 61 64 20 69 | 6e 20 6d 6f 72 65 20 64 |* read i|n more d|
|00004b00| 61 74 61 20 2a 2f 0a 58 | 09 20 20 20 20 59 59 5f |ata */.X|. YY_|
|00004b10| 49 4e 50 55 54 28 20 28 | 26 79 79 5f 63 68 5f 62 |INPUT( (|&yy_ch_b|
|00004b20| 75 66 5b 6e 75 6d 62 65 | 72 5f 74 6f 5f 6d 6f 76 |uf[numbe|r_to_mov|
|00004b30| 65 5d 29 2c 20 79 79 5f | 6e 5f 63 68 61 72 73 2c |e]), yy_|n_chars,|
|00004b40| 0a 58 09 09 20 20 20 20 | 20 20 59 59 5f 42 55 46 |.X.. | YY_BUF|
|00004b50| 5f 53 49 5a 45 20 2d 20 | 6e 75 6d 62 65 72 5f 74 |_SIZE - |number_t|
|00004b60| 6f 5f 6d 6f 76 65 20 2d | 20 31 20 29 3b 0a 58 0a |o_move -| 1 );.X.|
|00004b70| 58 09 69 66 20 28 20 79 | 79 5f 6e 5f 63 68 61 72 |X.if ( y|y_n_char|
|00004b80| 73 20 3d 3d 20 30 20 29 | 0a 58 09 20 20 20 20 7b |s == 0 )|.X. {|
|00004b90| 0a 58 09 20 20 20 20 69 | 66 20 28 20 6e 75 6d 62 |.X. i|f ( numb|
|00004ba0| 65 72 5f 74 6f 5f 6d 6f | 76 65 20 3d 3d 20 31 20 |er_to_mo|ve == 1 |
|00004bb0| 29 0a 58 09 09 72 65 74 | 5f 76 61 6c 20 3d 20 45 |).X..ret|_val = E|
|00004bc0| 4f 42 5f 41 43 54 5f 45 | 4e 44 5f 4f 46 5f 46 49 |OB_ACT_E|ND_OF_FI|
|00004bd0| 4c 45 3b 0a 58 09 20 20 | 20 20 65 6c 73 65 0a 58 |LE;.X. | else.X|
|00004be0| 09 09 72 65 74 5f 76 61 | 6c 20 3d 20 45 4f 42 5f |..ret_va|l = EOB_|
|00004bf0| 41 43 54 5f 4c 41 53 54 | 5f 4d 41 54 43 48 3b 0a |ACT_LAST|_MATCH;.|
|00004c00| 58 0a 58 09 20 20 20 20 | 79 79 5f 65 6f 66 5f 68 |X.X. |yy_eof_h|
|00004c10| 61 73 5f 62 65 65 6e 5f | 73 65 65 6e 20 3d 20 31 |as_been_|seen = 1|
|00004c20| 3b 0a 58 09 20 20 20 20 | 7d 0a 58 0a 58 09 65 6c |;.X. |}.X.X.el|
|00004c30| 73 65 0a 58 09 20 20 20 | 20 72 65 74 5f 76 61 6c |se.X. | ret_val|
|00004c40| 20 3d 20 45 4f 42 5f 41 | 43 54 5f 52 45 53 54 41 | = EOB_A|CT_RESTA|
|00004c50| 52 54 5f 53 43 41 4e 3b | 0a 58 0a 58 09 79 79 5f |RT_SCAN;|.X.X.yy_|
|00004c60| 6e 5f 63 68 61 72 73 20 | 2b 3d 20 6e 75 6d 62 65 |n_chars |+= numbe|
|00004c70| 72 5f 74 6f 5f 6d 6f 76 | 65 3b 0a 58 09 79 79 5f |r_to_mov|e;.X.yy_|
|00004c80| 63 68 5f 62 75 66 5b 79 | 79 5f 6e 5f 63 68 61 72 |ch_buf[y|y_n_char|
|00004c90| 73 5d 20 3d 20 59 59 5f | 45 4e 44 5f 4f 46 5f 42 |s] = YY_|END_OF_B|
|00004ca0| 55 46 46 45 52 5f 43 48 | 41 52 3b 0a 58 09 79 79 |UFFER_CH|AR;.X.yy|
|00004cb0| 5f 63 68 5f 62 75 66 5b | 79 79 5f 6e 5f 63 68 61 |_ch_buf[|yy_n_cha|
|00004cc0| 72 73 20 2b 20 31 5d 20 | 3d 20 59 59 5f 45 4e 44 |rs + 1] |= YY_END|
|00004cd0| 5f 4f 46 5f 42 55 46 46 | 45 52 5f 43 48 41 52 3b |_OF_BUFF|ER_CHAR;|
|00004ce0| 0a 58 0a 58 09 2f 2a 20 | 79 79 5f 62 5f 62 75 66 |.X.X./* |yy_b_buf|
|00004cf0| 5f 70 20 62 65 67 69 6e | 73 20 61 74 20 74 68 65 |_p begin|s at the|
|00004d00| 20 73 65 63 6f 6e 64 20 | 63 68 61 72 61 63 74 65 | second |characte|
|00004d10| 72 20 69 6e 0a 58 09 20 | 2a 20 79 79 5f 63 68 5f |r in.X. |* yy_ch_|
|00004d20| 62 75 66 3b 20 74 68 65 | 20 66 69 72 73 74 20 63 |buf; the| first c|
|00004d30| 68 61 72 61 63 74 65 72 | 20 69 73 20 74 68 65 20 |haracter| is the |
|00004d40| 6f 6e 65 20 77 68 69 63 | 68 0a 58 09 20 2a 20 70 |one whic|h.X. * p|
|00004d50| 72 65 63 65 64 65 64 20 | 69 74 20 62 65 66 6f 72 |receded |it befor|
|00004d60| 65 20 72 65 61 64 69 6e | 67 20 69 6e 20 74 68 65 |e readin|g in the|
|00004d70| 20 6c 61 74 65 73 74 20 | 62 75 66 66 65 72 3b 0a | latest |buffer;.|
|00004d80| 58 09 20 2a 20 69 74 20 | 6e 65 65 64 73 20 74 6f |X. * it |needs to|
|00004d90| 20 62 65 20 6b 65 70 74 | 20 61 72 6f 75 6e 64 20 | be kept| around |
|00004da0| 69 6e 20 63 61 73 65 20 | 69 74 27 73 20 61 0a 58 |in case |it's a.X|
|00004db0| 09 20 2a 20 6e 65 77 6c | 69 6e 65 2c 20 73 6f 20 |. * newl|ine, so |
|00004dc0| 79 79 5f 67 65 74 5f 70 | 72 65 76 69 6f 75 73 5f |yy_get_p|revious_|
|00004dd0| 73 74 61 74 65 28 29 20 | 77 69 6c 6c 20 68 61 76 |state() |will hav|
|00004de0| 65 0a 58 09 20 2a 20 77 | 69 74 68 20 27 5e 27 20 |e.X. * w|ith '^' |
|00004df0| 72 75 6c 65 73 20 61 63 | 74 69 76 65 0a 58 09 20 |rules ac|tive.X. |
|00004e00| 2a 2f 0a 58 0a 58 09 79 | 79 5f 62 5f 62 75 66 5f |*/.X.X.y|y_b_buf_|
|00004e10| 70 20 3d 20 26 79 79 5f | 63 68 5f 62 75 66 5b 31 |p = &yy_|ch_buf[1|
|00004e20| 5d 3b 0a 58 0a 58 09 72 | 65 74 75 72 6e 20 28 20 |];.X.X.r|eturn ( |
|00004e30| 72 65 74 5f 76 61 6c 20 | 29 3b 0a 58 09 7d 0a 58 |ret_val |);.X.}.X|
|00004e40| 20 20 20 20 7d 0a 58 0a | 58 0a 58 2f 2a 20 79 79 | }.X.|X.X/* yy|
|00004e50| 5f 67 65 74 5f 70 72 65 | 76 69 6f 75 73 5f 73 74 |_get_pre|vious_st|
|00004e60| 61 74 65 20 2d 20 67 65 | 74 20 74 68 65 20 73 74 |ate - ge|t the st|
|00004e70| 61 74 65 20 6a 75 73 74 | 20 62 65 66 6f 72 65 20 |ate just| before |
|00004e80| 74 68 65 20 65 6f 62 20 | 63 68 61 72 20 77 61 73 |the eob |char was|
|00004e90| 20 72 65 61 63 68 65 64 | 0a 58 20 2a 0a 58 20 2a | reached|.X *.X *|
|00004ea0| 20 73 79 6e 6f 70 73 69 | 73 0a 58 20 2a 20 20 20 | synopsi|s.X * |
|00004eb0| 20 20 59 59 5f 43 53 5f | 54 59 50 45 20 79 79 5f | YY_CS_|TYPE yy_|
|00004ec0| 67 65 74 5f 70 72 65 76 | 69 6f 75 73 5f 73 74 61 |get_prev|ious_sta|
|00004ed0| 74 65 28 29 3b 0a 58 20 | 2a 2f 0a 58 0a 73 74 61 |te();.X |*/.X.sta|
|00004ee0| 74 69 63 20 59 59 5f 43 | 53 5f 54 59 50 45 20 79 |tic YY_C|S_TYPE y|
|00004ef0| 79 5f 67 65 74 5f 70 72 | 65 76 69 6f 75 73 5f 73 |y_get_pr|evious_s|
|00004f00| 74 61 74 65 28 29 0a 58 | 0a 58 20 20 20 20 7b 0a |tate().X|.X {.|
|00004f10| 58 20 20 20 20 72 65 67 | 69 73 74 65 72 20 59 59 |X reg|ister YY|
|00004f20| 5f 43 53 5f 54 59 50 45 | 20 79 79 5f 63 75 72 5f |_CS_TYPE| yy_cur_|
|00004f30| 73 74 61 74 65 3b 0a 58 | 20 20 20 20 72 65 67 69 |state;.X| regi|
|00004f40| 73 74 65 72 20 63 68 61 | 72 20 2a 79 79 5f 74 65 |ster cha|r *yy_te|
|00004f50| 6d 70 5f 63 68 61 72 5f | 70 74 72 3b 0a 58 0a 58 |mp_char_|ptr;.X.X|
|00004f60| 20 20 20 20 59 59 5f 46 | 49 4e 44 5f 53 54 41 52 | YY_F|IND_STAR|
|00004f70| 54 5f 53 54 41 54 45 28 | 20 79 79 5f 63 75 72 5f |T_STATE(| yy_cur_|
|00004f80| 73 74 61 74 65 20 29 3b | 0a 58 0a 58 20 20 20 20 |state );|.X.X |
|00004f90| 66 6f 72 20 28 20 79 79 | 5f 74 65 6d 70 5f 63 68 |for ( yy|_temp_ch|
|00004fa0| 61 72 5f 70 74 72 20 3d | 20 79 79 5f 62 5f 62 75 |ar_ptr =| yy_b_bu|
|00004fb0| 66 5f 70 3b 20 79 79 5f | 74 65 6d 70 5f 63 68 61 |f_p; yy_|temp_cha|
|00004fc0| 72 5f 70 74 72 20 3c 20 | 79 79 5f 63 5f 62 75 66 |r_ptr < |yy_c_buf|
|00004fd0| 5f 70 3b 20 29 0a 58 09 | 59 59 5f 47 45 54 5f 4e |_p; ).X.|YY_GET_N|
|00004fe0| 45 58 54 5f 53 54 41 54 | 45 3b 0a 58 0a 58 20 20 |EXT_STAT|E;.X.X |
|00004ff0| 20 20 72 65 74 75 72 6e | 20 28 20 79 79 5f 63 75 | return| ( yy_cu|
|00005000| 72 5f 73 74 61 74 65 20 | 29 3b 0a 58 20 20 20 20 |r_state |);.X |
|00005010| 7d 0a 58 0a 58 0a 73 74 | 61 74 69 63 20 75 6e 70 |}.X.X.st|atic unp|
|00005020| 75 74 28 20 63 20 29 0a | 69 6e 74 20 63 3b 0a 58 |ut( c ).|int c;.X|
|00005030| 0a 58 20 20 20 20 7b 0a | 58 20 20 20 20 59 59 5f |.X {.|X YY_|
|00005040| 44 4f 5f 42 45 46 4f 52 | 45 5f 53 43 41 4e 3b 20 |DO_BEFOR|E_SCAN; |
|00005050| 2f 2a 20 75 6e 64 6f 20 | 65 66 66 65 63 74 73 20 |/* undo |effects |
|00005060| 6f 66 20 73 65 74 74 69 | 6e 67 20 75 70 20 79 79 |of setti|ng up yy|
|00005070| 74 65 78 74 20 2a 2f 0a | 58 0a 58 20 20 20 20 69 |text */.|X.X i|
|00005080| 66 20 28 20 79 79 5f 63 | 5f 62 75 66 5f 70 20 3c |f ( yy_c|_buf_p <|
|00005090| 20 79 79 5f 63 68 5f 62 | 75 66 20 2b 20 32 20 29 | yy_ch_b|uf + 2 )|
|000050a0| 0a 58 09 7b 20 2f 2a 20 | 6e 65 65 64 20 74 6f 20 |.X.{ /* |need to |
|000050b0| 73 68 69 66 74 20 74 68 | 69 6e 67 73 20 75 70 20 |shift th|ings up |
|000050c0| 74 6f 20 6d 61 6b 65 20 | 72 6f 6f 6d 20 2a 2f 0a |to make |room */.|
|000050d0| 58 09 72 65 67 69 73 74 | 65 72 20 69 6e 74 20 6e |X.regist|er int n|
|000050e0| 75 6d 62 65 72 5f 74 6f | 5f 6d 6f 76 65 20 3d 20 |umber_to|_move = |
|000050f0| 79 79 5f 6e 5f 63 68 61 | 72 73 20 2b 20 32 3b 20 |yy_n_cha|rs + 2; |
|00005100| 2f 2a 20 2b 32 20 66 6f | 72 20 45 4f 42 20 63 68 |/* +2 fo|r EOB ch|
|00005110| 61 72 73 20 2a 2f 0a 58 | 09 72 65 67 69 73 74 65 |ars */.X|.registe|
|00005120| 72 20 63 68 61 72 20 2a | 64 65 73 74 20 3d 20 26 |r char *|dest = &|
|00005130| 79 79 5f 63 68 5f 62 75 | 66 5b 59 59 5f 42 55 46 |yy_ch_bu|f[YY_BUF|
|00005140| 5f 53 49 5a 45 20 2b 20 | 32 5d 3b 0a 58 09 72 65 |_SIZE + |2];.X.re|
|00005150| 67 69 73 74 65 72 20 63 | 68 61 72 20 2a 73 6f 75 |gister c|har *sou|
|00005160| 72 63 65 20 3d 20 26 79 | 79 5f 63 68 5f 62 75 66 |rce = &y|y_ch_buf|
|00005170| 5b 6e 75 6d 62 65 72 5f | 74 6f 5f 6d 6f 76 65 5d |[number_|to_move]|
|00005180| 3b 0a 58 0a 58 09 77 68 | 69 6c 65 20 28 20 73 6f |;.X.X.wh|ile ( so|
|00005190| 75 72 63 65 20 3e 20 79 | 79 5f 63 68 5f 62 75 66 |urce > y|y_ch_buf|
|000051a0| 20 29 0a 58 09 20 20 20 | 20 2a 2d 2d 64 65 73 74 | ).X. | *--dest|
|000051b0| 20 3d 20 2a 2d 2d 73 6f | 75 72 63 65 3b 0a 58 0a | = *--so|urce;.X.|
|000051c0| 58 09 79 79 5f 63 5f 62 | 75 66 5f 70 20 2b 3d 20 |X.yy_c_b|uf_p += |
|000051d0| 64 65 73 74 20 2d 20 73 | 6f 75 72 63 65 3b 0a 58 |dest - s|ource;.X|
|000051e0| 09 79 79 5f 62 5f 62 75 | 66 5f 70 20 2b 3d 20 64 |.yy_b_bu|f_p += d|
|000051f0| 65 73 74 20 2d 20 73 6f | 75 72 63 65 3b 0a 58 0a |est - so|urce;.X.|
|00005200| 58 09 69 66 20 28 20 79 | 79 5f 63 5f 62 75 66 5f |X.if ( y|y_c_buf_|
|00005210| 70 20 3c 20 79 79 5f 63 | 68 5f 62 75 66 20 2b 20 |p < yy_c|h_buf + |
|00005220| 32 20 29 0a 58 09 20 20 | 20 20 59 59 5f 46 41 54 |2 ).X. | YY_FAT|
|00005230| 41 4c 5f 45 52 52 4f 52 | 28 20 22 66 6c 65 78 20 |AL_ERROR|( "flex |
|00005240| 73 63 61 6e 6e 65 72 20 | 70 75 73 68 2d 62 61 63 |scanner |push-bac|
|00005250| 6b 20 6f 76 65 72 66 6c | 6f 77 22 20 29 3b 0a 58 |k overfl|ow" );.X|
|00005260| 09 7d 0a 58 0a 58 20 20 | 20 20 69 66 20 28 20 79 |.}.X.X | if ( y|
|00005270| 79 5f 63 5f 62 75 66 5f | 70 20 3e 20 79 79 5f 62 |y_c_buf_|p > yy_b|
|00005280| 5f 62 75 66 5f 70 20 26 | 26 20 79 79 5f 63 5f 62 |_buf_p &|& yy_c_b|
|00005290| 75 66 5f 70 5b 2d 31 5d | 20 3d 3d 20 27 5c 6e 27 |uf_p[-1]| == '\n'|
|000052a0| 20 29 0a 58 09 79 79 5f | 63 5f 62 75 66 5f 70 5b | ).X.yy_|c_buf_p[|
|000052b0| 2d 32 5d 20 3d 20 27 5c | 6e 27 3b 0a 58 0a 58 20 |-2] = '\|n';.X.X |
|000052c0| 20 20 20 2a 2d 2d 79 79 | 5f 63 5f 62 75 66 5f 70 | *--yy|_c_buf_p|
|000052d0| 20 3d 20 63 3b 0a 58 0a | 58 20 20 20 20 59 59 5f | = c;.X.|X YY_|
|000052e0| 44 4f 5f 42 45 46 4f 52 | 45 5f 41 43 54 49 4f 4e |DO_BEFOR|E_ACTION|
|000052f0| 3b 20 2f 2a 20 73 65 74 | 20 75 70 20 79 79 74 65 |; /* set| up yyte|
|00005300| 78 74 20 61 67 61 69 6e | 20 2a 2f 0a 58 20 20 20 |xt again| */.X |
|00005310| 20 7d 0a 58 0a 58 0a 73 | 74 61 74 69 63 20 69 6e | }.X.X.s|tatic in|
|00005320| 74 20 69 6e 70 75 74 28 | 29 0a 58 0a 58 20 20 20 |t input(|).X.X |
|00005330| 20 7b 0a 58 20 20 20 20 | 69 6e 74 20 63 3b 0a 58 | {.X |int c;.X|
|00005340| 0a 58 20 20 20 20 59 59 | 5f 44 4f 5f 42 45 46 4f |.X YY|_DO_BEFO|
|00005350| 52 45 5f 53 43 41 4e 3b | 0a 58 0a 58 20 20 20 20 |RE_SCAN;|.X.X |
|00005360| 69 66 20 28 20 2a 79 79 | 5f 63 5f 62 75 66 5f 70 |if ( *yy|_c_buf_p|
|00005370| 20 3d 3d 20 59 59 5f 45 | 4e 44 5f 4f 46 5f 42 55 | == YY_E|ND_OF_BU|
|00005380| 46 46 45 52 5f 43 48 41 | 52 20 29 0a 58 09 7b 20 |FFER_CHA|R ).X.{ |
|00005390| 2f 2a 20 6e 65 65 64 20 | 6d 6f 72 65 20 69 6e 70 |/* need |more inp|
|000053a0| 75 74 20 2a 2f 0a 58 09 | 79 79 5f 62 5f 62 75 66 |ut */.X.|yy_b_buf|
|000053b0| 5f 70 20 3d 20 79 79 5f | 63 5f 62 75 66 5f 70 3b |_p = yy_|c_buf_p;|
|000053c0| 0a 58 09 2b 2b 79 79 5f | 63 5f 62 75 66 5f 70 3b |.X.++yy_|c_buf_p;|
|000053d0| 0a 58 0a 58 09 73 77 69 | 74 63 68 20 28 20 79 79 |.X.X.swi|tch ( yy|
|000053e0| 5f 67 65 74 5f 6e 65 78 | 74 5f 62 75 66 66 65 72 |_get_nex|t_buffer|
|000053f0| 28 29 20 29 0a 58 09 20 | 20 20 20 7b 0a 58 09 20 |() ).X. | {.X. |
|00005400| 20 20 20 2f 2a 20 74 68 | 69 73 20 63 6f 64 65 2c | /* th|is code,|
|00005410| 20 75 6e 66 6f 72 74 75 | 6e 61 74 65 6c 79 2c 20 | unfortu|nately, |
|00005420| 69 73 20 73 6f 6d 65 77 | 68 61 74 20 72 65 64 75 |is somew|hat redu|
|00005430| 6e 64 61 6e 74 20 77 69 | 74 68 0a 58 09 20 20 20 |ndant wi|th.X. |
|00005440| 20 20 2a 20 74 68 61 74 | 20 61 62 6f 76 65 0a 58 | * that| above.X|
|00005450| 09 20 20 20 20 20 2a 2f | 0a 58 09 20 20 20 20 63 |. */|.X. c|
|00005460| 61 73 65 20 45 4f 42 5f | 41 43 54 5f 45 4e 44 5f |ase EOB_|ACT_END_|
|00005470| 4f 46 5f 46 49 4c 45 3a | 0a 58 09 09 7b 0a 58 09 |OF_FILE:|.X..{.X.|
|00005480| 09 69 66 20 28 20 79 79 | 77 72 61 70 28 29 20 29 |.if ( yy|wrap() )|
|00005490| 0a 58 09 09 20 20 20 20 | 7b 0a 58 09 09 20 20 20 |.X.. |{.X.. |
|000054a0| 20 79 79 5f 63 5f 62 75 | 66 5f 70 20 3d 20 79 79 | yy_c_bu|f_p = yy|
|000054b0| 5f 62 5f 62 75 66 5f 70 | 3b 0a 58 09 09 20 20 20 |_b_buf_p|;.X.. |
|000054c0| 20 72 65 74 75 72 6e 20 | 28 20 45 4f 46 20 29 3b | return |( EOF );|
|000054d0| 0a 58 09 09 20 20 20 20 | 7d 0a 58 0a 58 09 09 79 |.X.. |}.X.X..y|
|000054e0| 79 5f 63 68 5f 62 75 66 | 5b 30 5d 20 3d 20 27 5c |y_ch_buf|[0] = '\|
|000054f0| 6e 27 3b 0a 58 09 09 79 | 79 5f 6e 5f 63 68 61 72 |n';.X..y|y_n_char|
|00005500| 73 20 3d 20 31 3b 0a 58 | 09 09 79 79 5f 63 68 5f |s = 1;.X|..yy_ch_|
|00005510| 62 75 66 5b 79 79 5f 6e | 5f 63 68 61 72 73 5d 20 |buf[yy_n|_chars] |
|00005520| 3d 20 59 59 5f 45 4e 44 | 5f 4f 46 5f 42 55 46 46 |= YY_END|_OF_BUFF|
|00005530| 45 52 5f 43 48 41 52 3b | 0a 58 09 09 79 79 5f 63 |ER_CHAR;|.X..yy_c|
|00005540| 68 5f 62 75 66 5b 79 79 | 5f 6e 5f 63 68 61 72 73 |h_buf[yy|_n_chars|
|00005550| 20 2b 20 31 5d 20 3d 20 | 59 59 5f 45 4e 44 5f 4f | + 1] = |YY_END_O|
|00005560| 46 5f 42 55 46 46 45 52 | 5f 43 48 41 52 3b 0a 58 |F_BUFFER|_CHAR;.X|
|00005570| 09 09 79 79 5f 65 6f 66 | 5f 68 61 73 5f 62 65 65 |..yy_eof|_has_bee|
|00005580| 6e 5f 73 65 65 6e 20 3d | 20 30 3b 0a 58 0a 58 09 |n_seen =| 0;.X.X.|
|00005590| 09 59 59 5f 46 41 53 54 | 5f 49 4e 49 54 3b 0a 58 |.YY_FAST|_INIT;.X|
|000055a0| 0a 58 09 09 72 65 74 75 | 72 6e 20 28 20 69 6e 70 |.X..retu|rn ( inp|
|000055b0| 75 74 28 29 20 29 3b 0a | 58 09 09 7d 0a 58 09 09 |ut() );.|X..}.X..|
|000055c0| 62 72 65 61 6b 3b 0a 58 | 0a 58 09 20 20 20 20 63 |break;.X|.X. c|
|000055d0| 61 73 65 20 45 4f 42 5f | 41 43 54 5f 52 45 53 54 |ase EOB_|ACT_REST|
|000055e0| 41 52 54 5f 53 43 41 4e | 3a 0a 58 09 09 79 79 5f |ART_SCAN|:.X..yy_|
|000055f0| 63 5f 62 75 66 5f 70 20 | 3d 20 79 79 5f 62 5f 62 |c_buf_p |= yy_b_b|
|00005600| 75 66 5f 70 3b 0a 58 09 | 09 62 72 65 61 6b 3b 0a |uf_p;.X.|.break;.|
|00005610| 58 0a 58 09 20 20 20 20 | 63 61 73 65 20 45 4f 42 |X.X. |case EOB|
|00005620| 5f 41 43 54 5f 4c 41 53 | 54 5f 4d 41 54 43 48 3a |_ACT_LAS|T_MATCH:|
|00005630| 0a 58 09 09 59 59 5f 46 | 41 54 41 4c 5f 45 52 52 |.X..YY_F|ATAL_ERR|
|00005640| 4f 52 28 20 22 75 6e 65 | 78 70 65 63 74 65 64 20 |OR( "une|xpected |
|00005650| 6c 61 73 74 20 6d 61 74 | 63 68 20 69 6e 20 69 6e |last mat|ch in in|
|00005660| 70 75 74 28 29 22 20 29 | 3b 0a 58 09 20 20 20 20 |put()" )|;.X. |
|00005670| 7d 0a 58 09 7d 0a 58 0a | 58 20 20 20 20 63 20 3d |}.X.}.X.|X c =|
|00005680| 20 2a 79 79 5f 63 5f 62 | 75 66 5f 70 2b 2b 3b 0a | *yy_c_b|uf_p++;.|
|00005690| 58 0a 58 20 20 20 20 59 | 59 5f 44 4f 5f 42 45 46 |X.X Y|Y_DO_BEF|
|000056a0| 4f 52 45 5f 52 45 53 54 | 41 52 54 3b 0a 58 0a 58 |ORE_REST|ART;.X.X|
|000056b0| 20 20 20 20 72 65 74 75 | 72 6e 20 28 20 63 20 29 | retu|rn ( c )|
|000056c0| 3b 0a 58 20 20 20 20 7d | 0a 45 4e 44 5f 4f 46 5f |;.X }|.END_OF_|
|000056d0| 46 49 4c 45 0a 69 66 20 | 74 65 73 74 20 39 33 30 |FILE.if |test 930|
|000056e0| 34 20 2d 6e 65 20 60 77 | 63 20 2d 63 20 3c 27 66 |4 -ne `w|c -c <'f|
|000056f0| 6c 65 78 2e 66 61 73 74 | 73 6b 65 6c 27 60 3b 20 |lex.fast|skel'`; |
|00005700| 74 68 65 6e 0a 20 20 20 | 20 65 63 68 6f 20 73 68 |then. | echo sh|
|00005710| 61 72 3a 20 5c 22 27 66 | 6c 65 78 2e 66 61 73 74 |ar: \"'f|lex.fast|
|00005720| 73 6b 65 6c 27 5c 22 20 | 75 6e 70 61 63 6b 65 64 |skel'\" |unpacked|
|00005730| 20 77 69 74 68 20 77 72 | 6f 6e 67 20 73 69 7a 65 | with wr|ong size|
|00005740| 21 0a 66 69 0a 23 20 65 | 6e 64 20 6f 66 20 27 66 |!.fi.# e|nd of 'f|
|00005750| 6c 65 78 2e 66 61 73 74 | 73 6b 65 6c 27 0a 66 69 |lex.fast|skel'.fi|
|00005760| 0a 69 66 20 74 65 73 74 | 20 2d 66 20 27 6d 61 69 |.if test| -f 'mai|
|00005770| 6e 2e 63 27 20 2d 61 20 | 22 24 7b 31 7d 22 20 21 |n.c' -a |"${1}" !|
|00005780| 3d 20 22 2d 63 22 20 3b | 20 74 68 65 6e 20 0a 20 |= "-c" ;| then . |
|00005790| 20 65 63 68 6f 20 73 68 | 61 72 3a 20 57 69 6c 6c | echo sh|ar: Will|
|000057a0| 20 6e 6f 74 20 63 6c 6f | 62 62 65 72 20 65 78 69 | not clo|bber exi|
|000057b0| 73 74 69 6e 67 20 66 69 | 6c 65 20 5c 22 27 6d 61 |sting fi|le \"'ma|
|000057c0| 69 6e 2e 63 27 5c 22 0a | 65 6c 73 65 0a 65 63 68 |in.c'\".|else.ech|
|000057d0| 6f 20 73 68 61 72 3a 20 | 45 78 74 72 61 63 74 69 |o shar: |Extracti|
|000057e0| 6e 67 20 5c 22 27 6d 61 | 69 6e 2e 63 27 5c 22 20 |ng \"'ma|in.c'\" |
|000057f0| 5c 28 31 32 38 38 35 20 | 63 68 61 72 61 63 74 65 |\(12885 |characte|
|00005800| 72 73 5c 29 0a 73 65 64 | 20 22 73 2f 5e 58 2f 2f |rs\).sed| "s/^X//|
|00005810| 22 20 3e 27 6d 61 69 6e | 2e 63 27 20 3c 3c 27 45 |" >'main|.c' <<'E|
|00005820| 4e 44 5f 4f 46 5f 46 49 | 4c 45 27 0a 58 2f 2a 20 |ND_OF_FI|LE'.X/* |
|00005830| 66 6c 65 78 20 2d 20 74 | 6f 6f 6c 20 74 6f 20 67 |flex - t|ool to g|
|00005840| 65 6e 65 72 61 74 65 20 | 66 61 73 74 20 6c 65 78 |enerate |fast lex|
|00005850| 69 63 61 6c 20 61 6e 61 | 6c 79 7a 65 72 73 0a 58 |ical ana|lyzers.X|
|00005860| 20 2a 0a 58 20 2a 0a 58 | 20 2a 20 43 6f 70 79 72 | *.X *.X| * Copyr|
|00005870| 69 67 68 74 20 28 63 29 | 20 31 39 38 37 2c 20 74 |ight (c)| 1987, t|
|00005880| 68 65 20 55 6e 69 76 65 | 72 73 69 74 79 20 6f 66 |he Unive|rsity of|
|00005890| 20 43 61 6c 69 66 6f 72 | 6e 69 61 0a 58 20 2a 20 | Califor|nia.X * |
|000058a0| 0a 58 20 2a 20 54 68 65 | 20 55 6e 69 74 65 64 20 |.X * The| United |
|000058b0| 53 74 61 74 65 73 20 47 | 6f 76 65 72 6e 6d 65 6e |States G|overnmen|
|000058c0| 74 20 68 61 73 20 72 69 | 67 68 74 73 20 69 6e 20 |t has ri|ghts in |
|000058d0| 74 68 69 73 20 77 6f 72 | 6b 20 70 75 72 73 75 61 |this wor|k pursua|
|000058e0| 6e 74 20 74 6f 0a 58 20 | 2a 20 63 6f 6e 74 72 61 |nt to.X |* contra|
|000058f0| 63 74 20 6e 6f 2e 20 44 | 45 2d 41 43 30 33 2d 37 |ct no. D|E-AC03-7|
|00005900| 36 53 46 30 30 30 39 38 | 20 62 65 74 77 65 65 6e |6SF00098| between|
|00005910| 20 74 68 65 20 55 6e 69 | 74 65 64 20 53 74 61 74 | the Uni|ted Stat|
|00005920| 65 73 20 44 65 70 61 72 | 74 6d 65 6e 74 20 6f 66 |es Depar|tment of|
|00005930| 0a 58 20 2a 20 45 6e 65 | 72 67 79 20 61 6e 64 20 |.X * Ene|rgy and |
|00005940| 74 68 65 20 55 6e 69 76 | 65 72 73 69 74 79 20 6f |the Univ|ersity o|
|00005950| 66 20 43 61 6c 69 66 6f | 72 6e 69 61 2e 0a 58 20 |f Califo|rnia..X |
|00005960| 2a 20 0a 58 20 2a 20 54 | 68 69 73 20 70 72 6f 67 |* .X * T|his prog|
|00005970| 72 61 6d 20 6d 61 79 20 | 62 65 20 72 65 64 69 73 |ram may |be redis|
|00005980| 74 72 69 62 75 74 65 64 | 2e 20 20 45 6e 68 61 6e |tributed|. Enhan|
|00005990| 63 65 6d 65 6e 74 73 20 | 61 6e 64 20 64 65 72 69 |cements |and deri|
|000059a0| 76 61 74 69 76 65 20 77 | 6f 72 6b 73 0a 58 20 2a |vative w|orks.X *|
|000059b0| 20 6d 61 79 20 62 65 20 | 63 72 65 61 74 65 64 20 | may be |created |
|000059c0| 70 72 6f 76 69 64 65 64 | 20 74 68 65 20 6e 65 77 |provided| the new|
|000059d0| 20 77 6f 72 6b 73 2c 20 | 69 66 20 6d 61 64 65 20 | works, |if made |
|000059e0| 61 76 61 69 6c 61 62 6c | 65 20 74 6f 20 74 68 65 |availabl|e to the|
|000059f0| 20 67 65 6e 65 72 61 6c | 0a 58 20 2a 20 70 75 62 | general|.X * pub|
|00005a00| 6c 69 63 2c 20 61 72 65 | 20 6d 61 64 65 20 61 76 |lic, are| made av|
|00005a10| 61 69 6c 61 62 6c 65 20 | 66 6f 72 20 75 73 65 20 |ailable |for use |
|00005a20| 62 79 20 61 6e 79 6f 6e | 65 2e 0a 58 20 2a 0a 58 |by anyon|e..X *.X|
|00005a30| 20 2a 0a 58 20 2a 20 76 | 65 72 20 20 20 64 61 74 | *.X * v|er dat|
|00005a40| 65 20 20 77 68 6f 20 20 | 20 20 72 65 6d 61 72 6b |e who | remark|
|00005a50| 73 0a 58 20 2a 20 2d 2d | 2d 20 20 20 2d 2d 2d 2d |s.X * --|- ----|
|00005a60| 20 20 2d 2d 2d 2d 2d 2d | 20 2d 2d 2d 2d 2d 2d 2d | ------| -------|
|00005a70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005a80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005a90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005aa0| 0a 58 20 2a 20 30 34 62 | 20 33 30 73 65 70 38 37 |.X * 04b| 30sep87|
|00005ab0| 20 6b 67 2c 20 76 70 20 | 2e 69 6d 70 6c 65 6d 65 | kg, vp |.impleme|
|00005ac0| 6e 74 65 64 20 28 70 61 | 72 74 20 6f 66 29 20 56 |nted (pa|rt of) V|
|00005ad0| 61 6e 20 4a 61 63 6f 62 | 73 6f 6e 27 73 20 66 61 |an Jacob|son's fa|
|00005ae0| 73 74 20 73 63 61 6e 6e | 65 72 20 64 65 73 69 67 |st scann|er desig|
|00005af0| 6e 0a 58 20 2a 20 30 34 | 61 20 32 37 6a 75 6e 38 |n.X * 04|a 27jun8|
|00005b00| 36 20 76 70 20 20 20 20 | 20 2e 74 72 61 6e 73 6c |6 vp | .transl|
|00005b10| 61 74 65 64 20 66 72 6f | 6d 20 52 61 74 66 6f 72 |ated fro|m Ratfor|
|00005b20| 20 69 6e 74 6f 20 43 0a | 58 20 2a 20 30 31 61 20 | into C.|X * 01a |
|00005b30| 32 32 61 75 67 38 33 20 | 76 70 20 20 20 20 20 2e |22aug83 |vp .|
|00005b40| 77 72 69 74 74 65 6e 2e | 20 20 4f 72 69 67 69 6e |written.| Origin|
|00005b50| 61 6c 20 76 65 72 73 69 | 6f 6e 20 62 79 20 4a 65 |al versi|on by Je|
|00005b60| 66 20 50 6f 73 6b 61 6e | 7a 65 72 2e 0a 58 20 2a |f Poskan|zer..X *|
|00005b70| 2f 0a 58 0a 58 23 69 6e | 63 6c 75 64 65 20 22 66 |/.X.X#in|clude "f|
|00005b80| 6c 65 78 64 65 66 2e 68 | 22 0a 58 0a 58 0a 58 2f |lexdef.h|".X.X.X/|
|00005b90| 2a 20 74 68 65 73 65 20 | 67 6c 6f 62 61 6c 73 20 |* these |globals |
|00005ba0| 61 72 65 20 61 6c 6c 20 | 64 65 66 69 6e 65 64 20 |are all |defined |
|00005bb0| 61 6e 64 20 63 6f 6d 6d | 65 6e 74 65 64 20 69 6e |and comm|ented in|
|00005bc0| 20 66 6c 65 78 64 65 66 | 2e 68 20 2a 2f 0a 69 6e | flexdef|.h */.in|
|00005bd0| 74 20 70 72 69 6e 74 73 | 74 61 74 73 2c 20 73 79 |t prints|tats, sy|
|00005be0| 6e 74 61 78 65 72 72 6f | 72 2c 20 65 6f 66 73 65 |ntaxerro|r, eofse|
|00005bf0| 65 6e 2c 20 64 64 65 62 | 75 67 2c 20 74 72 61 63 |en, ddeb|ug, trac|
|00005c00| 65 2c 20 73 70 70 72 64 | 66 6c 74 3b 0a 69 6e 74 |e, spprd|flt;.int|
|00005c10| 20 69 6e 74 65 72 61 63 | 74 69 76 65 2c 20 63 61 | interac|tive, ca|
|00005c20| 73 65 69 6e 73 2c 20 75 | 73 65 65 63 73 2c 20 66 |seins, u|seecs, f|
|00005c30| 75 6c 6c 74 62 6c 2c 20 | 75 73 65 6d 65 63 73 2c |ulltbl, |usemecs,|
|00005c40| 20 72 65 6a 65 63 74 3b | 0a 69 6e 74 20 66 75 6c | reject;|.int ful|
|00005c50| 6c 73 70 64 2c 20 67 65 | 6e 5f 6c 69 6e 65 5f 64 |lspd, ge|n_line_d|
|00005c60| 69 72 73 3b 0a 69 6e 74 | 20 64 61 74 61 70 6f 73 |irs;.int| datapos|
|00005c70| 2c 20 64 61 74 61 6c 69 | 6e 65 2c 20 6c 69 6e 65 |, datali|ne, line|
|00005c80| 6e 75 6d 3b 0a 58 46 49 | 4c 45 20 2a 73 6b 65 6c |num;.XFI|LE *skel|
|00005c90| 66 69 6c 65 20 3d 20 4e | 55 4c 4c 3b 0a 63 68 61 |file = N|ULL;.cha|
|00005ca0| 72 20 2a 69 6e 66 69 6c | 65 6e 61 6d 65 20 3d 20 |r *infil|ename = |
|00005cb0| 4e 55 4c 4c 3b 0a 69 6e | 74 20 6f 6e 65 73 74 61 |NULL;.in|t onesta|
|00005cc0| 74 65 5b 4f 4e 45 5f 53 | 54 41 43 4b 5f 53 49 5a |te[ONE_S|TACK_SIZ|
|00005cd0| 45 5d 2c 20 6f 6e 65 73 | 79 6d 5b 4f 4e 45 5f 53 |E], ones|ym[ONE_S|
|00005ce0| 54 41 43 4b 5f 53 49 5a | 45 5d 3b 0a 69 6e 74 20 |TACK_SIZ|E];.int |
|00005cf0| 6f 6e 65 6e 65 78 74 5b | 4f 4e 45 5f 53 54 41 43 |onenext[|ONE_STAC|
|00005d00| 4b 5f 53 49 5a 45 5d 2c | 20 6f 6e 65 64 65 66 5b |K_SIZE],| onedef[|
|00005d10| 4f 4e 45 5f 53 54 41 43 | 4b 5f 53 49 5a 45 5d 2c |ONE_STAC|K_SIZE],|
|00005d20| 20 6f 6e 65 73 70 3b 0a | 69 6e 74 20 63 75 72 72 | onesp;.|int curr|
|00005d30| 65 6e 74 5f 6d 6e 73 3b | 0a 69 6e 74 20 61 63 63 |ent_mns;|.int acc|
|00005d40| 6e 75 6d 2c 20 2a 66 69 | 72 73 74 73 74 2c 20 2a |num, *fi|rstst, *|
|00005d50| 6c 61 73 74 73 74 2c 20 | 2a 66 69 6e 61 6c 73 74 |lastst, |*finalst|
|00005d60| 2c 20 2a 74 72 61 6e 73 | 63 68 61 72 3b 0a 69 6e |, *trans|char;.in|
|00005d70| 74 20 2a 74 72 61 6e 73 | 31 2c 20 2a 74 72 61 6e |t *trans|1, *tran|
|00005d80| 73 32 2c 20 2a 61 63 63 | 70 74 6e 75 6d 2c 20 6c |s2, *acc|ptnum, l|
|00005d90| 61 73 74 6e 66 61 3b 0a | 69 6e 74 20 6e 75 6d 74 |astnfa;.|int numt|
|00005da0| 65 6d 70 73 2c 20 6e 75 | 6d 70 72 6f 74 73 2c 20 |emps, nu|mprots, |
|00005db0| 70 72 6f 74 70 72 65 76 | 5b 4d 53 50 5d 2c 20 70 |protprev|[MSP], p|
|00005dc0| 72 6f 74 6e 65 78 74 5b | 4d 53 50 5d 2c 20 70 72 |rotnext[|MSP], pr|
|00005dd0| 6f 74 74 62 6c 5b 4d 53 | 50 5d 3b 0a 69 6e 74 20 |ottbl[MS|P];.int |
|00005de0| 70 72 6f 74 63 6f 6d 73 | 74 5b 4d 53 50 5d 2c 20 |protcoms|t[MSP], |
|00005df0| 66 69 72 73 74 70 72 6f | 74 2c 20 6c 61 73 74 70 |firstpro|t, lastp|
|00005e00| 72 6f 74 2c 20 70 72 6f | 74 73 61 76 65 5b 50 52 |rot, pro|tsave[PR|
|00005e10| 4f 54 5f 53 41 56 45 5f | 53 49 5a 45 5d 3b 0a 69 |OT_SAVE_|SIZE];.i|
|00005e20| 6e 74 20 6e 75 6d 65 63 | 73 2c 20 6e 65 78 74 65 |nt numec|s, nexte|
|00005e30| 63 6d 5b 43 53 49 5a 45 | 20 2b 20 31 5d 2c 20 65 |cm[CSIZE| + 1], e|
|00005e40| 63 67 72 6f 75 70 5b 43 | 53 49 5a 45 20 2b 20 31 |cgroup[C|SIZE + 1|
|00005e50| 5d 2c 20 6e 75 6d 6d 65 | 63 73 2c 20 74 65 63 66 |], numme|cs, tecf|
|00005e60| 77 64 5b 43 53 49 5a 45 | 20 2b 20 31 5d 3b 0a 69 |wd[CSIZE| + 1];.i|
|00005e70| 6e 74 20 74 65 63 62 63 | 6b 5b 43 53 49 5a 45 20 |nt tecbc|k[CSIZE |
|00005e80| 2b 20 31 5d 3b 0a 69 6e | 74 20 6c 61 73 74 73 63 |+ 1];.in|t lastsc|
|00005e90| 2c 20 63 75 72 72 65 6e | 74 5f 6d 61 78 5f 73 63 |, curren|t_max_sc|
|00005ea0| 73 2c 20 2a 73 63 73 65 | 74 2c 20 2a 73 63 62 6f |s, *scse|t, *scbo|
|00005eb0| 6c 2c 20 2a 73 63 78 63 | 6c 75 2c 20 2a 61 63 74 |l, *scxc|lu, *act|
|00005ec0| 76 73 63 3b 0a 69 6e 74 | 20 63 75 72 72 65 6e 74 |vsc;.int| current|
|00005ed0| 5f 6d 61 78 5f 64 66 61 | 5f 73 69 7a 65 2c 20 63 |_max_dfa|_size, c|
|00005ee0| 75 72 72 65 6e 74 5f 6d | 61 78 5f 78 70 61 69 72 |urrent_m|ax_xpair|
|00005ef0| 73 3b 0a 69 6e 74 20 63 | 75 72 72 65 6e 74 5f 6d |s;.int c|urrent_m|
|00005f00| 61 78 5f 74 65 6d 70 6c | 61 74 65 5f 78 70 61 69 |ax_templ|ate_xpai|
|00005f10| 72 73 2c 20 63 75 72 72 | 65 6e 74 5f 6d 61 78 5f |rs, curr|ent_max_|
|00005f20| 64 66 61 73 3b 0a 69 6e | 74 20 6c 61 73 74 64 66 |dfas;.in|t lastdf|
|00005f30| 61 2c 20 2a 6e 78 74 2c | 20 2a 63 68 6b 2c 20 2a |a, *nxt,| *chk, *|
|00005f40| 74 6e 78 74 3b 0a 69 6e | 74 20 2a 62 61 73 65 2c |tnxt;.in|t *base,|
|00005f50| 20 2a 64 65 66 2c 20 74 | 62 6c 65 6e 64 2c 20 66 | *def, t|blend, f|
|00005f60| 69 72 73 74 66 72 65 65 | 2c 20 6e 75 6d 74 65 6d |irstfree|, numtem|
|00005f70| 70 73 2c 20 2a 2a 64 73 | 73 2c 20 2a 64 66 61 73 |ps, **ds|s, *dfas|
|00005f80| 69 7a 3b 0a 75 6e 69 6f | 6e 20 64 66 61 61 63 63 |iz;.unio|n dfaacc|
|00005f90| 5f 75 6e 69 6f 6e 20 2a | 64 66 61 61 63 63 3b 0a |_union *|dfaacc;.|
|00005fa0| 69 6e 74 20 2a 61 63 63 | 73 69 7a 2c 20 2a 64 68 |int *acc|siz, *dh|
|00005fb0| 61 73 68 2c 20 2a 74 6f | 64 6f 2c 20 74 6f 64 6f |ash, *to|do, todo|
|00005fc0| 5f 68 65 61 64 2c 20 74 | 6f 64 6f 5f 6e 65 78 74 |_head, t|odo_next|
|00005fd0| 2c 20 6e 75 6d 61 73 3b | 0a 69 6e 74 20 6e 75 6d |, numas;|.int num|
|00005fe0| 73 6e 70 61 69 72 73 2c | 20 6a 61 6d 62 61 73 65 |snpairs,| jambase|
|00005ff0| 2c 20 6a 61 6d 73 74 61 | 74 65 3b 0a 69 6e 74 20 |, jamsta|te;.int |
|00006000| 6c 61 73 74 63 63 6c 2c | 20 63 75 72 72 65 6e 74 |lastccl,| current|
|00006010| 5f 6d 61 78 63 63 6c 73 | 2c 20 2a 63 63 6c 6d 61 |_maxccls|, *cclma|
|00006020| 70 2c 20 2a 63 63 6c 6c | 65 6e 2c 20 2a 63 63 6c |p, *ccll|en, *ccl|
|00006030| 6e 67 2c 20 63 63 6c 72 | 65 75 73 65 3b 0a 69 6e |ng, cclr|euse;.in|
|00006040| 74 20 63 75 72 72 65 6e | 74 5f 6d 61 78 5f 63 63 |t curren|t_max_cc|
|00006050| 6c 5f 74 62 6c 5f 73 69 | 7a 65 3b 0a 63 68 61 72 |l_tbl_si|ze;.char|
|00006060| 20 2a 63 63 6c 74 62 6c | 3b 0a 63 68 61 72 20 2a | *ccltbl|;.char *|
|00006070| 73 74 61 72 74 74 69 6d | 65 2c 20 2a 65 6e 64 74 |starttim|e, *endt|
|00006080| 69 6d 65 2c 20 6e 6d 73 | 74 72 5b 4d 41 58 4c 49 |ime, nms|tr[MAXLI|
|00006090| 4e 45 5d 3b 0a 69 6e 74 | 20 73 65 63 74 6e 75 6d |NE];.int| sectnum|
|000060a0| 2c 20 6e 75 6d 6d 74 2c | 20 68 73 68 63 6f 6c 2c |, nummt,| hshcol,|
|000060b0| 20 64 66 61 65 71 6c 2c | 20 6e 75 6d 65 70 73 2c | dfaeql,| numeps,|
|000060c0| 20 65 70 73 32 2c 20 6e | 75 6d 5f 72 65 61 6c 6c | eps2, n|um_reall|
|000060d0| 6f 63 73 3b 0a 69 6e 74 | 20 74 6d 70 75 73 65 73 |ocs;.int| tmpuses|
|000060e0| 2c 20 74 6f 74 6e 73 74 | 2c 20 70 65 61 6b 70 61 |, totnst|, peakpa|
|000060f0| 69 72 73 2c 20 6e 75 6d | 75 6e 69 71 2c 20 6e 75 |irs, num|uniq, nu|
|00006100| 6d 64 75 70 2c 20 68 73 | 68 73 61 76 65 3b 0a 58 |mdup, hs|hsave;.X|
|00006110| 46 49 4c 45 20 2a 74 65 | 6d 70 5f 61 63 74 69 6f |FILE *te|mp_actio|
|00006120| 6e 5f 66 69 6c 65 3b 0a | 69 6e 74 20 65 6e 64 5f |n_file;.|int end_|
|00006130| 6f 66 5f 62 75 66 66 65 | 72 5f 73 74 61 74 65 3b |of_buffe|r_state;|
|00006140| 0a 63 68 61 72 20 2a 61 | 63 74 69 6f 6e 5f 66 69 |.char *a|ction_fi|
|00006150| 6c 65 5f 6e 61 6d 65 20 | 3d 20 22 2f 74 6d 70 2f |le_name |= "/tmp/|
|00006160| 66 6c 65 78 58 58 58 58 | 58 58 22 3b 0a 58 0a 58 |flexXXXX|XX";.X.X|
|00006170| 0a 58 2f 2a 20 66 6c 65 | 78 20 2d 20 6d 61 69 6e |.X/* fle|x - main|
|00006180| 20 70 72 6f 67 72 61 6d | 0a 58 20 2a 0a 58 20 2a | program|.X *.X *|
|00006190| 20 73 79 6e 6f 70 73 69 | 73 20 28 66 72 6f 6d 20 | synopsi|s (from |
|000061a0| 74 68 65 20 73 68 65 6c | 6c 29 0a 58 20 2a 20 20 |the shel|l).X * |
|000061b0| 20 20 66 6c 65 78 20 5b | 2d 76 5d 20 5b 66 69 6c | flex [|-v] [fil|
|000061c0| 65 20 2e 2e 2e 5d 0a 58 | 20 2a 2f 0a 58 0a 6d 61 |e ...].X| */.X.ma|
|000061d0| 69 6e 28 20 61 72 67 63 | 2c 20 61 72 67 76 20 29 |in( argc|, argv )|
|000061e0| 0a 69 6e 74 20 61 72 67 | 63 3b 0a 63 68 61 72 20 |.int arg|c;.char |
|000061f0| 2a 2a 61 72 67 76 3b 0a | 58 0a 58 20 20 20 20 7b |**argv;.|X.X {|
|00006200| 0a 58 20 20 20 20 66 6c | 65 78 69 6e 69 74 28 20 |.X fl|exinit( |
|00006210| 61 72 67 63 2c 20 61 72 | 67 76 20 29 3b 0a 58 0a |argc, ar|gv );.X.|
|00006220| 58 20 20 20 20 72 65 61 | 64 69 6e 28 29 3b 0a 58 |X rea|din();.X|
|00006230| 0a 58 20 20 20 20 69 66 | 20 28 20 21 20 73 79 6e |.X if| ( ! syn|
|00006240| 74 61 78 65 72 72 6f 72 | 20 29 0a 58 09 7b 0a 58 |taxerror| ).X.{.X|
|00006250| 09 2f 2a 20 63 6f 6e 76 | 65 72 74 20 74 68 65 20 |./* conv|ert the |
|00006260| 6e 64 66 61 20 74 6f 20 | 61 20 64 66 61 20 2a 2f |ndfa to |a dfa */|
|00006270| 0a 58 09 6e 74 6f 64 28 | 29 3b 0a 58 0a 58 09 2f |.X.ntod(|);.X.X./|
|00006280| 2a 20 67 65 6e 65 72 61 | 74 65 20 74 68 65 20 43 |* genera|te the C|
|00006290| 20 73 74 61 74 65 20 74 | 72 61 6e 73 69 74 69 6f | state t|ransitio|
|000062a0| 6e 20 74 61 62 6c 65 73 | 20 66 72 6f 6d 20 74 68 |n tables| from th|
|000062b0| 65 20 44 46 41 20 2a 2f | 0a 58 09 6d 61 6b 65 5f |e DFA */|.X.make_|
|000062c0| 74 61 62 6c 65 73 28 29 | 3b 0a 58 09 7d 0a 58 0a |tables()|;.X.}.X.|
|000062d0| 58 20 20 20 20 2f 2a 20 | 6e 6f 74 65 2c 20 66 6c |X /* |note, fl|
|000062e0| 65 78 65 6e 64 20 64 6f | 65 73 20 6e 6f 74 20 72 |exend do|es not r|
|000062f0| 65 74 75 72 6e 2e 20 20 | 49 74 20 65 78 69 74 73 |eturn. |It exits|
|00006300| 20 77 69 74 68 20 69 74 | 73 20 61 72 67 75 6d 65 | with it|s argume|
|00006310| 6e 74 20 61 73 20 73 74 | 61 74 75 73 2e 20 2a 2f |nt as st|atus. */|
|00006320| 0a 58 0a 58 20 20 20 20 | 66 6c 65 78 65 6e 64 28 |.X.X |flexend(|
|00006330| 20 30 20 29 3b 0a 58 20 | 20 20 20 7d 0a 58 0a 58 | 0 );.X | }.X.X|
|00006340| 0a 58 2f 2a 20 66 6c 65 | 78 65 6e 64 20 2d 20 74 |.X/* fle|xend - t|
|00006350| 65 72 6d 69 6e 61 74 65 | 20 66 6c 65 78 0a 58 20 |erminate| flex.X |
|00006360| 2a 0a 58 20 2a 20 73 79 | 6e 6f 70 73 69 73 0a 58 |*.X * sy|nopsis.X|
|00006370| 20 2a 20 20 20 20 69 6e | 74 20 73 74 61 74 75 73 | * in|t status|
|00006380| 3b 0a 58 20 2a 20 20 20 | 20 66 6c 65 78 65 6e 64 |;.X * | flexend|
|00006390| 28 20 73 74 61 74 75 73 | 20 29 3b 0a 58 20 2a 0a |( status| );.X *.|
|000063a0| 58 20 2a 20 20 20 20 73 | 74 61 74 75 73 20 69 73 |X * s|tatus is|
|000063b0| 20 65 78 69 74 20 73 74 | 61 74 75 73 2e 0a 58 20 | exit st|atus..X |
|000063c0| 2a 0a 58 20 2a 20 6e 6f | 74 65 0a 58 20 2a 20 20 |*.X * no|te.X * |
|000063d0| 20 20 54 68 69 73 20 72 | 6f 75 74 69 6e 65 20 64 | This r|outine d|
|000063e0| 6f 65 73 20 6e 6f 74 20 | 72 65 74 75 72 6e 2e 0a |oes not |return..|
|000063f0| 58 20 2a 2f 0a 58 0a 66 | 6c 65 78 65 6e 64 28 20 |X */.X.f|lexend( |
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.