home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: ArcFS Archive
(archive/arcFS).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| ArcFS Archive (archive/arcFS)
| magic
| Supported |
100%
| file
| RISC OS archive (ArcFS format)
| default
| |
99%
| file
| data
| default
| |
100%
| TrID
| Acorn ArcFS Archive
| default
| |
100%
| gt2
| Kopftext: 'Archive'
| default (weak)
| |
100%
| detectItEasy
| Archive: ArcFS
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 41 72 63 68 69 76 65 00 | 8c 01 00 00 54 03 00 00 |Archive.|....T...|
|00000010| 28 00 00 00 64 00 00 00 | 00 00 00 00 00 00 00 00 |(...d...|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000060| 82 63 00 6b 65 46 69 6c | 65 00 00 00 ff ff ff ff |.c.keFil|e.......|
|00000070| 44 fd ff ff f9 a0 54 86 | 30 00 00 00 ff ff ff ff |D.....T.|0.......|
|00000080| 6c 00 00 80 82 4d 4b 50 | 52 4f 54 4f 00 00 00 00 |l....MKP|ROTO....|
|00000090| 43 4a 00 00 42 ff ff ff | d1 48 e9 92 03 00 4d 04 |CJ..B...|.H....M.|
|000000a0| 43 4a 00 00 7d 25 00 00 | 00 6d 6b 70 72 6f 74 6f |CJ..}%..|.mkproto|
|000000b0| 00 00 00 00 9f 13 00 00 | 42 f8 ff ff ea 8e e9 92 |........|B.......|
|000000c0| 03 00 af cd b8 11 00 00 | 24 00 00 00 82 68 00 6b |........|$....h.k|
|000000d0| 65 46 69 6c 65 00 00 00 | ff ff ff ff 44 fd ff ff |eFile...|....D...|
|000000e0| 0a a2 54 86 30 00 00 00 | ff ff ff ff d8 00 00 80 |..T.0...|........|
|000000f0| 82 4d 4b 50 52 4f 54 4f | 00 00 00 00 c6 02 00 00 |.MKPROTO|........|
|00000100| 42 ff ff ff a9 33 e9 92 | 03 00 43 0e c6 02 00 00 |B....3..|..C.....|
|00000110| e4 6f 00 00 00 6d 6b 70 | 72 6f 74 6f 00 00 00 00 |.o...mkp|roto....|
|00000120| 9f 13 00 00 42 f8 ff ff | ea 8e e9 92 03 00 af cd |....B...|........|
|00000130| b8 11 00 00 24 00 00 00 | 82 4d 61 6b 65 46 69 6c |....$...|.MakeFil|
|00000140| 65 00 00 00 52 00 00 00 | 42 ff ff ff a8 4b e9 92 |e...R...|B....K..|
|00000150| 03 00 a5 3e 52 00 00 00 | e7 13 00 00 82 6d 6b 70 |...>R...|.....mkp|
|00000160| 72 6f 74 6f 00 00 00 00 | 9f 13 00 00 42 f8 ff ff |roto....|....B...|
|00000170| ea 8e e9 92 03 00 af cd | 9f 13 00 00 24 00 00 00 |........|....$...|
|00000180| 82 4d 4b 50 52 4f 54 4f | 64 6f 63 00 81 09 00 00 |.MKPROTO|doc.....|
|00000190| 42 ff ff ff ca 16 e9 92 | 03 00 fc 99 81 09 00 00 |B.......|........|
|000001a0| 5d 14 00 00 82 52 45 41 | 44 4d 45 00 00 00 00 00 |]....REA|DME.....|
|000001b0| 57 07 00 00 42 ff ff ff | f0 1c e9 92 03 00 6c e3 |W...B...|......l.|
|000001c0| 57 07 00 00 02 1e 00 00 | 00 00 00 00 00 00 00 00 |W.......|........|
|000001d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000200| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000210| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000280| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000290| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000300| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000320| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000340| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000350| 00 00 00 00 46 69 6c 65 | 44 61 74 61 82 6d 6b 70 |....File|Data.mkp|
|00000360| 72 6f 74 6f 00 00 00 00 | 9f 13 00 00 42 f8 ff ff |roto....|....B...|
|00000370| ea 8e e9 92 03 00 af cd | 4c 04 00 eb 00 00 00 fb |........|L.......|
|00000380| 00 00 00 fb b4 04 00 eb | 11 00 00 ef 18 18 00 00 |........|........|
|00000390| d4 0e 00 00 00 00 00 00 | 00 00 00 00 02 00 00 00 |........|........|
|000003a0| 00 80 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003b0| 00 00 00 00 00 00 00 00 | ff b3 ce e3 08 b0 8b e2 |........|........|
|000003c0| 0f 00 9b e8 00 00 53 e3 | 0e f0 b0 d1 14 b0 4b e2 |......S.|......K.|
|000003d0| 00 b0 8b e0 01 b0 8b e0 | 00 00 a0 e3 00 10 a0 e3 |........|........|
|000003e0| 00 20 a0 e3 00 40 a0 e3 | 17 00 ab e8 10 30 53 e2 |. ...@..|.....0S.|
|000003f0| fc ff ff ca 0e f0 b0 e1 | 2f 04 00 ea cc 7a 9b 15 |........|/....z..|
|00000400| e4 99 60 f0 ab 6a 56 ab | 33 3f aa 41 50 aa 7a b0 |..`..jV.|3?.AP.z.|
|00000410| ab 54 b1 ab 48 79 aa d2 | ae ab 42 00 ab cc 61 9b |.T..Hy..|..B...a.|
|00000420| 0a d4 99 60 f0 ab 6a 54 | ab 32 3f aa c7 50 aa 41 |...`..jT|.2?..P.A|
|00000430| 4c a9 af 18 bb 9e c7 9a | 04 60 ab e8 09 d8 f0 ab |L.......|.`......|
|00000440| 53 b1 9a c6 37 ab 10 73 | b9 9d b1 9a 61 40 aa f0 |S...7..s|....a@..|
|00000450| cc 99 f0 33 b9 5a 60 ba | 3f 6a aa 54 31 aa 9a 51 |...3.Z`.|?j.T1..Q|
|00000460| aa 58 e3 ab c9 5c aa 84 | 54 a9 01 e1 bb 1a 58 ba |.X...\..|T.....X.|
|00000470| 9c c9 9a 54 c7 9a de 81 | ba 58 01 ab c7 18 ab 44 |...T....|.X.....D|
|00000480| 9c a9 63 0b 3a eb 99 60 | ef ab 6a 58 ab 30 3f aa |..c.:..`|..jX.0?.|
|00000490| 13 50 ba 51 b1 9a 13 14 | bb 9f b1 9a 57 c7 9a dd |.P.Q....|....W...|
|000004a0| 7d aa 81 4a aa b1 ad ab | 4d 3e 99 c7 18 ab d2 9b |}..J....|M>......|
|000004b0| a9 08 62 ab ef 34 b9 55 | 60 ba 3f 6a aa 50 2f aa |..b..4.U|`.?j.P/.|
|000004c0| b1 17 ab 18 51 b9 b1 17 | ab 40 9f a9 ff d8 ab d3 |....Q...|.@......|
|000004d0| 60 9b 05 0a 60 f0 ab 6a | 59 ab 2e 3f aa 71 50 aa |`...`..j|Y..?.qP.|
|000004e0| 54 d7 ab 33 58 ba 2d 6f | 9b b1 3a ab b1 54 a9 47 |T..3X.-o|..:..T.G|
|000004f0| 3a ba 82 64 9a 88 be 9a | d5 81 ba 54 00 ab c7 18 |:..d....|...T....|
|00000500| ab 17 50 b9 96 b1 9a 63 | 43 ba d8 d3 99 f0 38 b9 |..P....c|C.....8.|
|00000510| 57 60 ba 3f 6a aa 50 2d | aa c7 df aa 3a 4d b9 5c |W`.?j.P-|....:M.\|
|00000520| b1 9a a8 81 aa ab 54 ba | 52 b1 9a a6 42 aa b1 aa |......T.|R...B...|
|00000530| ab 17 8b b9 b2 d6 ab ca | 0f aa 85 56 a9 a9 a3 ba |........|...V....|
|00000540| 85 b1 9a 01 17 bb ab 41 | ba 81 52 aa a8 a1 ba c7 |.......A|..R.....|
|00000550| 18 ab 62 95 b9 f4 09 0c | f8 99 c8 dd 99 3b 90 09 |..b.....|.....;..|
|00000560| 01 9a 60 ef ab 6a 52 ab | 2c 3f aa 15 7b ba fd 66 |..`..jR.|,?..{..f|
|00000570| aa 1d c6 aa 7f 12 ab 38 | fc ba ac 68 bb 80 b3 9a |.......8|...h....|
|00000580| 16 2f bb fe 80 aa 28 5f | 9b 37 09 9a 60 ef ab 6a |./....(_|.7..`..j|
|00000590| 59 ab 2b 3f aa 41 50 aa | bd e9 ab 41 86 a9 41 e8 |Y.+?.AP.|...A..A.|
|000005a0| ab bd e7 ab bb 70 a9 f3 | 81 a9 c4 19 ab 41 81 a9 |.....p..|.....A..|
|000005b0| b9 e6 ab dd 8b a9 e0 d5 | aa 41 58 aa cc e5 ab bb |........|.AX.....|
|000005c0| 84 a9 56 82 a9 b1 69 ab | c9 19 aa 41 99 a9 82 4f |..V...i.|...A...O|
|000005d0| bb 4a b3 9a 47 3f 99 a7 | 48 ba 63 d6 ba 17 06 9a |.J..G?..|H.c.....|
|000005e0| 60 ef ab 6a 59 ab 2a 3f | aa f4 50 aa 41 e0 aa 1e |`..jY.*?|..P.A...|
|000005f0| e2 bb 56 c4 9a 87 b5 9a | e0 41 ba 1c b1 aa 9d b3 |..V.....|.A......|
|00000600| 9a 19 b1 aa 72 b3 9a 03 | 44 b9 4f b6 9a 81 b4 9a |....r...|D.O.....|
|00000610| de 01 ab 1d 6b bb 48 3c | 9a 4e 3e 99 dc 41 ba 14 |....k.H<|.N>..A..|
|00000620| b1 aa fd 63 9b ef 18 b9 | 5b 60 ba 3f 6a aa 54 29 |...c....|[`.?j.T)|
|00000630| aa f5 51 aa f9 df aa 69 | 23 bb e4 41 ba 37 b1 aa |..Q....i|#..A.7..|
|00000640| 63 48 ab b1 9c a9 1a 16 | aa 8b c2 9a 41 e3 aa b1 |cH......|....A...|
|00000650| df ab 1a 17 aa 82 c2 9a | 69 88 ba 40 c3 9a 99 ce |........|i..@....|
|00000660| 9a a0 42 aa 6d a6 bb b1 | 1c a9 48 38 ba 89 64 9a |..B.m...|..H8..d.|
|00000670| 56 be 9a ee 62 aa 41 35 | ab 6e db bb ee 62 aa da |V...b.A5|.n...b..|
|00000680| 41 ba 38 b1 aa 64 48 ab | be 9b a9 35 6f b9 43 09 |A.8..dH.|...5o.C.|
|00000690| ab ee 64 9b ef 1b b9 58 | 60 ba 3f 6a aa 50 28 aa |..d....X|`.?j.P(.|
|000006a0| df 55 aa 41 49 aa b1 dd | ab 39 18 ba 4f bc 9a 9a |.U.AI...|.9..O...|
|000006b0| c2 9a 62 43 ba e6 f1 99 | 05 0a 60 f1 ab 6a 5c ab |..bC....|..`..j\.|
|000006c0| 27 3f aa e5 6b aa df 6d | aa dc e2 aa e0 8b aa 82 |'?..k..m|........|
|000006d0| 40 ab 22 c8 aa c8 75 ba | 0e 54 ba 34 53 ba 41 ef |@."...u.|.T.4S.A.|
|000006e0| aa b1 d9 ab d2 0e aa 29 | 78 9b b8 3d ab 69 8c a9 |.......)|x..=.i..|
|000006f0| 10 ce aa b1 28 ab 41 51 | b9 c7 94 ba e2 87 aa c6 |....(.AQ|........|
|00000700| 93 ba 92 5c aa 54 c5 ab | 0b d2 ba 0a d2 ba 70 0b |...\.T..|......p.|
|00000710| 82 bc 9a 77 e7 ba ba 0f | ab ce 87 a9 41 86 b9 c3 |...w....|....A...|
|00000720| 6f ba 87 54 aa 48 81 ab | cf 42 ba b7 3d ab 88 94 |o..T.H..|.B..=...|
|00000730| a9 ef 80 ab d3 46 ba 1e | b1 aa ba 3d ab ce 91 a9 |.....F..|...=....|
|00000740| 28 8f b9 6b b1 9a 3e dc | aa 8b 11 aa b1 43 ab f1 |(..k..>.|.....C..|
|00000750| 8b a9 44 0d bb c9 42 ba | 58 b1 9a 8b d9 aa 2b 3f |..D...B.|X.....+?|
|00000760| bb c1 46 bb 44 49 aa 42 | c4 bb 6a d0 bb 3e 82 aa |..F.DI.B|..j..>..|
|00000770| 29 21 ba 85 b1 9a cc 42 | ba d3 5c aa 42 0b ab 72 |)!.....B|..\.B..r|
|00000780| bf ab bc 73 ab 28 90 b9 | 6a b1 9a 3e dc aa 8b 11 |...s.(..|j..>....|
|00000790| aa b1 43 ab f2 8b a9 44 | 0c bb c4 42 ba 58 b1 9a |..C....D|...B.X..|
|000007a0| 8b d9 aa 2a 3f bb bd 46 | bb 44 49 aa 42 c0 bb 6a |...*?..F|.DI.B..j|
|000007b0| cd bb 3e 82 aa d2 21 aa | 44 0b ab 42 bc ab 73 bb |..>...!.|D..B..s.|
|000007c0| ab 5c ba ab b9 74 ba 7c | 54 ba 77 46 aa b1 a5 ab |.\...t.||T.wF....|
|000007d0| 46 5b a9 a4 a2 ba 68 b1 | 9a 0a d3 ba 42 4d aa 3d |F[....h.|....BM.=|
|000007e0| c2 bb 41 b7 9a 93 b8 9a | 7b 69 ba f7 db 99 ca a0 |..A.....|{i......|
|000007f0| 91 85 a9 72 b8 bb ca 09 | b7 6e ba 54 5c aa 3e dc |...r....|.n.T\.>.|
|00000800| aa f8 12 aa 10 45 bb 55 | b1 9a c4 11 ab 79 87 a9 |.....E.U|.....y..|
|00000810| a3 76 ba 50 b1 9a a4 44 | aa 20 be bb 51 b1 9a 20 |.v.P...D|. ..Q.. |
|00000820| 24 bb 9f b1 9a 06 45 bb | 3d 68 aa 35 34 aa 82 36 |$.....E.|=h.54..6|
|00000830| aa 20 3e aa 65 42 ba 12 | 3b 99 02 0a 60 ef ab 6a |. >.eB..|;...`..j|
|00000840| 5e ab 26 3f aa 55 50 aa | f6 47 aa e2 fa aa b1 21 |^.&?.UP.|.G.....!|
|00000850| ab a3 7b 99 c7 59 aa 3c | 53 b9 75 b1 9a ca 1f ab |..{..Y.<|S.u.....|
|00000860| cf 9d a9 26 15 aa c7 59 | aa 86 59 a9 a2 9f ba b1 |...&...Y|..Y.....|
|00000870| 3c ab 49 39 ba 82 64 9a | 82 be 9a a1 9e ba ca 1f |<.I9..d.|........|
|00000880| ab 22 98 b9 43 b1 9a a0 | 7a b9 c9 5a aa 86 59 a9 |."..C...|z..Z..Y.|
|00000890| 9f 9b ba b1 3c ab 49 39 | ba 82 64 9a 82 be 9a 9e |....<.I9|..d.....|
|000008a0| 97 ba ca 1f ab 22 98 b9 | 42 b1 9a 62 4b 99 7f 78 |....."..|B..bK..x|
|000008b0| 99 b4 92 99 13 b0 99 ad | 09 03 1a 99 31 11 99 64 |........|....1..d|
|000008c0| 2f 99 cd 90 ef 39 b9 5c | 60 ba 3f 6a aa 50 25 aa |/....9.\|`.?j.P%.|
|000008d0| df 6c aa b6 43 ba b4 70 | ba e0 58 aa 57 e3 aa 42 |.l..C..p|..X.W..B|
|000008e0| 48 aa b1 ca ab 42 1b aa | 9d b0 ba 61 b1 9a af 42 |H....B..|...a...B|
|000008f0| aa b1 9c ab 42 60 a9 9b | ae ba 5f b1 9a ad 42 aa |....B`..|.._...B.|
|00000900| b1 9a ab 42 5e a9 99 ac | ba 5d b1 9a 25 fb ba 85 |...B^...|.]..%...|
|00000910| b1 9a aa 42 aa b1 98 ab | 42 46 a9 97 a9 ba 82 b1 |...B....|BF......|
|00000920| 9a 6d cd 9a a7 42 aa b1 | 96 ab 42 6c a9 95 a5 ba |.m...B..|..Bl....|
|00000930| 8e b1 9a cd 26 ab 41 52 | a9 5c ce ab 8a b1 9a 42 |....&.AR|.\.....B|
|00000940| 48 aa 7f cb bb 1c 05 99 | d3 07 99 d5 36 99 ff 19 |H.......|....6...|
|00000950| 99 dc 14 99 06 16 99 d1 | 04 a9 ce 69 a9 4f 51 a9 |........|...i.OQ.|
|00000960| 43 4b aa 44 d2 ab 7d b3 | bb 43 49 aa e1 b5 ab e9 |CK.D..}.|.CI.....|
|00000970| 7e 9b ef b0 5d 60 ba 3f | 6a aa 54 24 aa 83 51 aa |~...]`.?|j.T$..Q.|
|00000980| d7 67 aa 5d 94 ab 70 f7 | ba 58 83 aa 3e 67 ba 5a |.g.]..p.|.X..>g.Z|
|00000990| b1 9a 3b e4 ba 83 c1 9a | 07 d3 ba bf 6c ab d3 83 |..;.....|....l...|
|000009a0| a9 6a 08 bb a0 c0 9a 3e | 49 b9 97 b1 9a b1 17 ab |.j.....>|I.......|
|000009b0| 36 50 b9 6e c5 9a 1c 5b | ba 56 b1 9a 8f 94 ba 8e |6P.n...[|.V......|
|000009c0| 96 ba 8d 98 ba 8c 98 ba | 8b 9a ba 8d c9 9a d4 2d |........|.......-|
|000009d0| bb c9 74 9b b8 be 99 65 | 09 d2 ce 99 66 f9 99 fb |..t....e|....f...|
|000009e0| 90 ce 0f 99 fa d2 99 02 | af 99 63 cb 99 2c 90 71 |........|..c..,.q|
|000009f0| e1 ba 92 ab ba b1 5e aa | 17 84 b9 44 93 ab ce 90 |......^.|...D....|
|00000a00| ab 4c 52 a9 db 45 aa 91 | da ba b1 1b ab 79 7c 99 |.LR..E..|.....y|.|
|00000a10| 05 a2 b9 d5 04 ab 45 02 | ab 67 d1 ab 45 83 aa c9 |......E.|.g..E...|
|00000a20| 8b ab 17 37 ba 95 b1 9a | b1 1c ab a1 77 99 87 d2 |...7....|....w...|
|00000a30| ba 65 d2 ba a4 0b 99 0d | b1 99 a8 ea 99 d7 0e 99 |.e......|........|
|00000a40| ef 0a b9 53 60 ba 3f 6a | aa f0 23 aa 95 7c aa 8a |...S`.?j|..#..|..|
|00000a50| 51 ba 99 48 aa 89 51 ba | 9c 48 aa 88 51 ba 9d 48 |Q..H..Q.|.H..Q..H|
|00000a60| aa d3 86 ab 79 4e bb e5 | d7 99 ba ec 99 bd bb 99 |....yN..|........|
|00000a70| d0 bc 99 30 b3 99 ed b2 | 99 a7 e2 99 ac c3 99 c0 |...0....|........|
|00000a80| c7 99 ab de 99 d1 c4 99 | 67 09 da b2 99 c6 07 9a |........|g.......|
|00000a90| de c0 99 a9 ab 99 d6 ff | 99 fc 00 9a b2 02 99 fe |........|........|
|00000aa0| c5 99 cf e1 99 e3 f5 99 | bf f2 99 e7 a6 99 a5 b5 |........|........|
|00000ab0| 99 f6 ef 99 08 10 99 51 | 6f bb 30 8a ba 85 67 bb |.......Q|o.0...g.|
|00000ac0| b1 2c ab 4c 76 b9 84 51 | bb 2e 4b bb 27 76 9b eb |.,.Lv..Q|..K.'v..|
|00000ad0| 1e b9 31 4e ba dc e8 aa | 90 e9 aa ed df ba cb df |..1N....|........|
|00000ae0| a9 0c 0b aa 13 0d aa ec | 8d aa 78 65 aa b6 b9 99 |........|..xe....|
|00000af0| 3c ea 9b b7 f3 99 0a c2 | a9 c1 03 9a 3d 32 99 b7 |<.......|....=2..|
|00000b00| f3 99 0a c2 a9 ae aa 99 | 35 c7 99 5e 51 ab dc b2 |........|5..^Q...|
|00000b10| ab d0 e9 aa 7d 45 99 71 | 7e 99 d4 74 a9 d9 ec 9b |....}E.q|~..t....|
|00000b20| ea eb aa ed 5f aa 27 89 | ba 32 3b ba df 8e aa e0 |...._.'.|.2;.....|
|00000b30| ee 9b 1f cb aa 4a 7e ba | 50 66 ab 75 8f ba e9 51 |.....J~.|Pf.u...Q|
|00000b40| bb 83 50 bb 8c 4d ab 00 | 74 9b 23 22 99 2b 2a 99 |..P..M..|t.#".+*.|
|00000b50| 23 01 99 2b 27 99 f2 2e | b9 27 1d 99 2e 28 99 2e |#..+'...|.'...(..|
|00000b60| 28 99 e6 e6 aa e6 e6 aa | e6 e6 aa e6 e6 aa e6 e6 |(.......|........|
|00000b70| aa e6 e6 aa e6 e6 aa e6 | e6 aa e6 e6 aa e6 e6 aa |........|........|
|00000b80| e6 e6 aa e6 e6 aa e6 e6 | aa e6 e6 aa e6 e6 aa e6 |........|........|
|00000b90| e6 aa e6 e6 aa e6 e6 aa | e6 e6 aa e6 e6 aa e6 e6 |........|........|
|00000ba0| aa e6 e6 aa e6 e6 aa e6 | e6 aa e6 e6 aa e6 e6 aa |........|........|
|00000bb0| e6 e6 aa e6 e6 aa e6 e6 | aa e6 e6 aa e6 e6 aa e6 |........|........|
|00000bc0| e6 aa e6 e6 aa e6 e6 aa | e6 e6 aa e6 e6 aa e6 e6 |........|........|
|00000bd0| aa e6 e6 aa e6 e6 aa e6 | e6 aa e6 e6 aa e6 e6 aa |........|........|
|00000be0| e6 e6 aa e6 e6 aa e6 e6 | aa e6 e6 aa e6 e6 aa e6 |........|........|
|00000bf0| e6 aa e6 e6 aa e6 e6 aa | e6 e6 aa e6 e6 aa e6 e6 |........|........|
|00000c00| aa e6 e6 aa e6 e6 aa e6 | e6 aa e6 e6 aa e6 e6 aa |........|........|
|00000c10| e6 e6 aa e6 e6 aa e6 e6 | aa e6 e6 aa e6 e6 aa e6 |........|........|
|00000c20| e6 aa e6 e6 aa e6 e6 aa | e6 e6 aa e6 e6 aa e6 e6 |........|........|
|00000c30| aa e6 e6 aa e6 e6 aa e6 | e6 aa e6 e6 aa e6 e6 aa |........|........|
|00000c40| e6 e6 aa e6 e6 aa e6 e6 | aa e6 e6 aa e6 e6 aa e6 |........|........|
|00000c50| e6 aa e6 e6 aa e6 e6 aa | e6 e6 aa e6 e6 aa e6 e6 |........|........|
|00000c60| aa e6 e6 aa e6 e6 aa e6 | e6 aa e6 e6 aa e6 e6 aa |........|........|
|00000c70| e6 e6 aa e6 e6 aa e6 e6 | aa e6 e6 aa e6 e6 aa e6 |........|........|
|00000c80| e6 aa e6 e6 aa e6 e6 aa | e6 e6 aa e6 e6 aa e6 e6 |........|........|
|00000c90| aa e6 e6 aa e6 e6 aa e6 | e6 aa e6 e6 aa e6 e6 aa |........|........|
|00000ca0| e6 e6 aa e6 e6 aa e6 e6 | aa e6 e6 aa e6 e6 aa e6 |........|........|
|00000cb0| e6 aa e6 e6 aa 1d 04 99 | 1f 21 99 20 09 24 23 99 |........|.!. .$#.|
|00000cc0| 26 25 99 00 90 00 09 00 | 90 03 00 99 00 00 00 00 |&%......|........|
|00000cd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ce0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000cf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000da0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000db0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000dc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000dd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000de0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000df0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ea0| 00 00 00 0c 01 12 20 12 | 0e 19 0c 10 2a 0c 17 0c |...... .|....*...|
|00000eb0| 65 bb 2b 1f 18 71 b5 0e | 0d 9f 3a 10 5d ff 5e f5 |e.+..q..|..:.].^.|
|00000ec0| 61 16 5c f9 60 b3 5d 44 | 65 12 5f 05 6a b8 5f 64 |a.\.`.]D|e._.j._d|
|00000ed0| 12 4a 5d 84 5c b4 0e 0e | 0e 5e c8 32 2a 5a 5f 1c |.J].\...|.^.2*Z_.|
|00000ee0| 0e 5e 8c 64 b8 b7 3d 94 | 7e 05 cb 22 cb ea 14 3d |.^.d..=.|~.."...=|
|00000ef0| 65 01 60 0a af f2 01 ae | 03 f1 af 10 fe b0 ed ff |e.`.....|........|
|00000f00| af 04 00 b0 ff 05 b4 05 | 05 b9 27 a0 01 00 74 f1 |........|..'...t.|
|00000f10| 1f 01 00 fc 0f a1 00 b5 | 00 70 ee 00 00 b4 0c 8f |........|.p......|
|00000f20| 20 00 de 00 11 01 7c 0b | ab f4 00 08 90 e4 01 af | .....|.|........|
|00000f30| f8 5f af 18 20 bb f0 7f | 00 e8 5b 86 03 ee 20 3c |._.. ...|..[... <|
|00000f40| 5c 60 5c 80 00 11 57 a4 | 00 06 0c 02 0e 0c 0c 14 |\`\...W.|........|
|00000f50| 0e 0f 0f 0f 0f 5d e3 b8 | 51 64 de c0 c2 d2 1a 36 |.....]..|Qd.....6|
|00000f60| c1 e6 c0 ae 45 54 00 22 | 8b 8c 00 1e 15 19 10 17 |....ET."|........|
|00000f70| 1a 1d 0f 00 0b 30 45 05 | 00 03 e0 5a 01 00 fa ff |.....0E.|...Z....|
|00000f80| e0 00 b0 0b 20 b3 f5 4f | b4 ff 7f 6b 08 0d 17 15 |.... ..O|...k....|
|00000f90| 26 00 c1 00 05 03 b9 bc | 30 6b f8 00 3c 1b 7c 03 |&.......|0k..<.|.|
|00000fa0| ee 10 3c 5c f0 00 11 57 | a4 00 04 0c 0c 0c 0f 0c |..<\...W|........|
|00000fb0| 0e 01 16 12 02 5d e8 00 | 71 fd ff 00 4c 1d 1a 0d |.....]..|q...L...|
|00000fc0| 01 0d 0d 01 0c 03 5c 6e | 5c ab 1d 5d 2d 00 b6 2c |......\n|\..]-..,|
|00000fd0| 2a 05 cd 44 24 ca 14 19 | 5e 07 ae fb f6 ba 02 0a |*..D$...|^.......|
|00000fe0| ae ba f9 61 4f 5f f6 ae | 04 fc 63 06 00 ba aa b3 |...aO_..|..c.....|
|00000ff0| 08 00 43 44 f8 00 6a b9 | 00 fb ac ff 02 00 53 00 |..CD..j.|......S.|
|00001000| 0e 01 00 bc 09 f7 09 00 | 40 44 08 09 00 91 91 61 |........|@D.....a|
|00001010| 01 00 65 64 91 00 00 fa | ee 33 01 00 20 bd 0c 0e |..ed....|.3.. ...|
|00001020| 00 f5 5e bf 08 ea b9 fe | 5e 00 5f 00 00 38 f3 c2 |..^.....|^._..8..|
|00001030| 03 00 00 fb 43 02 b6 00 | 02 b1 bb 08 00 00 00 fa |....C...|........|
|00001040| 00 b2 4e 09 00 f3 fd b2 | 00 00 0f c7 ff 00 86 f4 |..N.....|........|
|00001050| 5d 0b f3 f8 07 ae bc fa | b1 53 06 b2 ad f5 b2 54 |].......|.S.....T|
|00001060| 0a af f0 f5 00 bc ba ef | 00 b2 42 00 b2 01 49 af |........|..B...I.|
|00001070| 09 04 ae f7 fb b0 0e 10 | af eb ec b0 06 12 00 04 |........|........|
|00001080| eb ab 00 00 ec 0f 41 01 | 00 11 f6 16 01 f3 9a 16 |......A.|........|
|00001090| 00 73 ba 62 00 f5 ff 2a | b3 f7 08 b5 0c 00 ae fd |.s.b...*|........|
|000010a0| f2 00 93 9e 8b 00 00 c9 | ff ff 00 00 52 6d 61 00 |........|....Rma.|
|000010b0| 00 55 07 bf 00 f6 ab f1 | b0 3f fb 00 06 d9 b3 00 |.U......|.?......|
|000010c0| ef fc 37 00 01 07 bf 00 | f2 fd f2 b1 0e f5 b9 9d |..7.....|........|
|000010d0| c1 a8 5c 00 05 01 fd 00 | 00 03 ca ad 00 f7 05 31 |..\.....|.......1|
|000010e0| b2 f0 03 b0 fc f1 b2 08 | 04 00 fe 0d ac 01 ee ee |........|........|
|000010f0| f4 1a b1 fe fb 64 08 64 | 0a b7 00 f4 00 96 e7 b8 |.....d.d|........|
|00001100| 00 21 f2 03 15 b0 46 0a | b3 fe f5 00 08 09 b3 00 |.!....F.|........|
|00001110| e8 04 06 af 02 fa af f9 | f8 b2 f7 05 b4 bb 00 b1 |........|........|
|00001120| 2c fb 2a b2 02 fc 00 00 | fe f3 00 00 f3 00 f8 01 |,.*.....|........|
|00001130| 00 05 0a 01 01 00 0c f3 | 0c 01 00 8e de 2d 28 00 |........|.....-(.|
|00001140| 4d cf ee 00 00 b3 20 11 | 01 00 02 d0 5f 06 16 0f |M..... .|...._...|
|00001150| 10 11 3b 00 a5 ff ff 00 | 00 40 0f 8f 07 00 ca f0 |..;.....|.@......|
|00001160| 50 01 00 1c 00 a7 01 00 | 54 a8 d4 03 5c 80 5d 00 |P.......|T...\.].|
|00001170| 5e 00 00 11 54 a4 00 0d | 00 c2 ff ff 00 0f 1e 10 |^...T...|........|
|00001180| 20 5c f0 5c 8c 5c 74 5c | 5d 5d 04 23 54 39 42 26 | \.\.\t\|]].#T9B&|
|00001190| 43 31 1f 29 2d 2b 20 00 | e7 fa 9f 06 00 ff 1e ef |C1.)-+ .|........|
|000011a0| 00 00 a4 de 70 09 00 58 | 02 00 0e 0c 0c 12 00 f3 |....p..X|........|
|000011b0| 1f 82 06 00 00 e0 cd 00 | 0d b2 02 00 b7 04 00 f0 |........|........|
|000011c0| f7 ff 0d 03 0c 0e 6b f5 | 0c 04 0f 6b f4 12 7b f7 |......k.|...k..{.|
|000011d0| 01 0f 11 6b f3 01 10 10 | 6b f3 0e 01 0c 6b f9 6c |...k....|k....k.l|
|000011e0| 00 6c 00 16 8c 01 be 01 | 30 fd f1 10 bf 02 0f 41 |.l......|0......A|
|000011f0| de 02 0d af c7 02 b1 00 | 30 ae 00 b0 b0 00 80 b2 |........|0.......|
|00001200| 03 30 af 04 20 52 5c 58 | af 5b 3e 14 14 33 18 34 |.0.. R\X|.[>..3.4|
|00001210| 0d 5c 83 6b 16 5c dd af | 11 f5 dc 02 eb 0f 6b fb |.\.k.\..|......k.|
|00001220| 56 af b4 4f 7c 10 ae ed | 8f 6c 00 af 03 e0 9b fd |V..O|...|.l......|
|00001230| 0d ae 00 c0 af 00 00 6c | 00 ab fd b0 00 20 b1 0b |.......l|..... ..|
|00001240| 90 ae f8 ef 5c 54 af d4 | ff 12 1a 0e 69 ca 5c ef |....\T..|....i.\.|
|00001250| 0f 0d 0e 0c 02 0c 0c 01 | 0e 0f 13 01 13 6b cf 14 |........|.....k..|
|00001260| 0d 0e 01 11 01 0d 01 0e | 0d 0e 0d 0d 0e 0e 0e 00 |........|........|
|00001270| c4 e0 c0 00 0c 12 22 01 | 0e 03 0c 0d 16 2b 0d 19 |......".|.....+..|
|00001280| 0c 0d 12 0c ae 83 ff 37 | ae d3 ff b0 00 00 1e ae |.......7|........|
|00001290| ec ff af 00 00 0d 31 ae | d6 ff af 00 00 0c ae fe |......1.|........|
|000012a0| ff cc 01 00 d6 ff ff 01 | 0f 24 19 65 d6 61 fb 01 |........|.$.e.a..|
|000012b0| 78 00 6a 04 61 fb 6c 01 | 39 6b d0 6c 00 01 6b ff |x.j.a.l.|9k.l..k.|
|000012c0| 01 6b ff 01 ae ff 5f ed | 00 10 8c 00 7c 00 00 00 |.k...._.|....|...|
|000012d0| e0 a1 00 b7 00 f0 b1 00 | f0 ba 00 b0 d6 01 40 00 |........|......@.|
|000012e0| 27 10 56 00 b1 d8 f0 2a | 5c b8 aa 88 6c b0 6c c0 |'.V....*|\...l.l.|
|000012f0| 61 a0 5f 54 64 3c 5c 88 | 71 9c 5c 58 00 84 76 60 |a._Td<\.|q.\X..v`|
|00001300| 00 af 00 10 12 b0 f8 df | af 00 00 af 00 00 26 6b |........|......&k|
|00001310| e8 ae 00 60 0e ae f8 8f | 16 0e 16 b4 34 00 0e 5c |...`....|....4..\|
|00001320| 54 0e ae a4 6f 7c 00 b0 | b0 6f 6c 00 6c 00 ae 00 |T...o|..|.ol.l...|
|00001330| e0 6c 00 6c 00 12 b0 f8 | df 9c 00 ae 00 d0 9c 00 |.l.l....|........|
|00001340| ae 14 b0 0e 6b e8 0e ab | fc ae 00 a0 1a 12 0e ae |....k...|........|
|00001350| e4 6f af 0c 90 ae fc 8f | b0 f8 8f ae 50 e0 0e ae |.o......|....P...|
|00001360| 54 90 0e af 74 6f 3e 6b | b0 12 26 5d 40 7b 20 9b |T...to>k|..&]@{ .|
|00001370| 78 22 d3 e8 ef b8 00 b0 | 6c 04 af fc df b0 00 00 |x"......|l.......|
|00001380| 0e af fc ff 0e b4 fc ff | c7 01 00 00 03 11 8a 01 |........|........|
|00001390| ae 00 60 b4 02 e0 af fe | af b5 00 00 6c 00 b5 00 |..`.....|....l...|
|000013a0| f0 af 00 00 ec fc 0e af | 00 00 af 00 00 00 80 f1 |........|........|
|000013b0| be 00 d3 80 3e ee 00 40 | 01 cb 0f e8 5c e0 bf 10 |....>..@|....\...|
|000013c0| 99 9a 00 ae 01 98 19 01 | 0c 28 4a 0c 5c 7e 0c 5d |........|.(J.\~.]|
|000013d0| 00 5d fe 0c 0e db 09 cc | 1a 2a 4a 5c 80 5d 00 5e |.]......|.*J\.].^|
|000013e0| 00 de 90 55 b2 86 fe 00 | fa ff 6e 00 02 0c 0d 0d |...U....|..n.....|
|000013f0| 01 0e 12 11 16 01 19 0d | 5c 64 29 29 47 5f 6a 00 |........|\d))G_j.|
|00001400| fe fa ff 00 20 01 0d 1f | 1d 12 0e 5c 82 22 4a 5c |.... ...|...\."J\|
|00001410| 93 01 0c 0e 0e 18 0c 0c | 0c 0c 01 15 15 2a 24 2c |........|.....*$,|
|00001420| 0f 11 0f 13 0f 0f 0f 0f | 29 14 10 12 14 5b 34 0f |........|)....[4.|
|00001430| 5c ed 5c a6 1f 19 15 0f | 0c 5c 55 5c 5b 12 19 13 |\.\.....|.\U\[...|
|00001440| 00 c1 d5 ff 00 7d 59 53 | 20 0c 5c 7e 0f 29 0d 22 |.....}YS| .\~.)."|
|00001450| 0c 17 20 0f 0d 1a 1a 10 | 12 15 0d 0e 22 0e 16 14 |.. .....|...."...|
|00001460| 12 0c 1f 12 1b 5c b0 29 | 1a 0e 15 01 1a 18 15 1c |.....\.)|........|
|00001470| 0f 0f 16 10 0f 01 0d 0e | 0c 0d 01 12 14 0c 0e 00 |........|........|
|00001480| 50 00 00 03 af e5 ff 18 | b6 63 06 01 00 86 f9 f5 |P.......|.c......|
|00001490| 0f 0e 0e 00 ef ff ff 00 | 70 26 00 00 a7 0a 00 00 |........|p&......|
|000014a0| f5 05 00 00 f3 02 00 00 | 00 00 00 00 a3 00 00 00 |........|........|
|000014b0| fb 04 a0 e3 3f 13 ce e3 | 04 00 01 e5 2c 00 4f e2 |....?...|....,.O.|
|000014c0| 00 3f 90 e8 0a a0 40 e0 | 09 90 4a e0 08 80 89 e0 |.?....@.|..J.....|
|000014d0| 8b 6f 8f e2 08 00 56 e1 | 08 60 a0 b1 0c 10 8b e0 |.o....V.|.`......|
|000014e0| 01 71 86 e0 0a 50 a0 e1 | 00 40 a0 e3 06 20 a0 e1 |.q...P..|.@... ..|
|000014f0| 00 30 e0 e3 01 b0 5b e2 | 29 00 00 ba 01 10 d5 e4 |.0....[.|).......|
|00001500| 0a 00 51 e2 13 00 00 aa | 00 00 51 e3 0a 00 00 1a |..Q.....|..Q.....|
|00001510| 01 00 d5 e4 01 10 d5 e4 | 01 04 80 e1 01 10 d5 e4 |........|........|
|00001520| 01 08 80 e1 00 00 54 e3 | 01 10 d5 04 01 0c 80 01 |......T.|........|
|00001530| 00 30 83 e0 04 30 86 e4 | ed ff ff ea 01 b0 4b e0 |.0...0..|......K.|
|00001540| 01 b0 8b e2 01 30 83 e2 | 04 30 86 e4 01 10 51 e2 |.....0..|.0....Q.|
|00001550| fb ff ff ca e6 ff ff ea | 5c 00 51 e3 00 30 83 b0 |........|\.Q..0..|
|00001560| 04 30 86 b4 e2 ff ff ba | ae 00 51 e2 06 00 00 ba |.0......|..Q.....|
|00001570| 01 10 d5 e4 00 08 81 e1 | 01 10 d5 e4 01 04 80 e1 |........|........|
|00001580| 00 30 83 e0 04 30 86 e4 | d9 ff ff ea 5c 00 51 e2 |.0...0..|....\.Q.|
|00001590| 01 10 d5 e4 00 04 81 e1 | 00 30 83 e0 04 30 86 e4 |........|.0...0..|
|000015a0| d3 ff ff ea 00 00 54 e3 | 04 00 00 1a 0c b0 a0 e1 |......T.|........|
|000015b0| 02 c0 a0 e1 06 20 a0 e1 | 01 40 a0 e3 ca ff ff ea |..... ..|.@......|
|000015c0| 02 b0 a0 e1 18 50 8f e2 | 4f 6f 8f e2 07 40 a0 e1 |.....P..|Oo...@..|
|000015d0| 0f 00 b5 e8 0f 00 a7 e8 | 06 00 55 e1 fb ff ff ba |........|..U.....|
|000015e0| 04 f0 a0 e1 0d 90 89 e0 | 04 80 48 e2 09 00 5a e1 |........|..H...Z.|
|000015f0| 37 00 00 da 01 60 7a e5 | 0f 30 06 e2 09 00 53 e2 |7....`z.|.0....S.|
|00001600| 03 00 00 ba 01 10 7a e5 | 00 04 81 e1 00 41 9c e7 |......z.|.....A..|
|00001610| 11 00 00 ea 02 00 53 e2 | 05 00 00 ba 01 10 7a e5 |......S.|......z.|
|00001620| 00 04 81 e1 00 01 9b e7 | 01 10 7a e5 00 44 81 e1 |........|..z..D..|
|00001630| 09 00 00 ea 00 00 53 e3 | 03 40 a0 01 06 00 00 0a |......S.|.@......|
|00001640| 01 00 7a e5 01 10 7a e5 | 01 04 80 e1 01 10 7a e5 |..z...z.|......z.|
|00001650| 01 08 80 e1 01 10 7a e5 | 01 4c 80 e1 26 32 a0 e1 |......z.|.L..&2..|
|00001660| 09 00 53 e2 04 00 00 ba | 01 10 7a e5 00 04 81 e1 |..S.....|..z.....|
|00001670| 00 51 9c e7 30 00 28 e9 | db ff ff ea 02 00 53 e2 |.Q..0.(.|......S.|
|00001680| 06 00 00 ba 01 10 7a e5 | 00 04 81 e1 00 01 9b e7 |......z.|........|
|00001690| 01 10 7a e5 00 54 81 e1 | 30 00 28 e9 d2 ff ff ea |..z..T..|0.(.....|
|000016a0| 00 00 53 e3 03 50 a0 01 | 30 00 28 09 ce ff ff 0a |..S..P..|0.(.....|
|000016b0| 01 00 7a e5 01 10 7a e5 | 01 04 80 e1 01 10 7a e5 |..z...z.|......z.|
|000016c0| 01 08 80 e1 01 10 7a e5 | 01 5c 80 e1 30 00 28 e9 |......z.|.\..0.(.|
|000016d0| c5 ff ff ea 00 00 5d e3 | 07 00 00 da 0d 60 49 e0 |......].|.....`I.|
|000016e0| 07 90 a0 e1 0d a0 89 e0 | 0f 00 b6 e8 0f 00 a7 e8 |........|........|
|000016f0| 10 d0 5d e2 fb ff ff ca | bb ff ff ea 7c 80 48 e2 |..].....|....|.H.|
|00001700| 08 f0 a0 e1 72 63 63 20 | 33 2e 30 30 0a 20 20 20 |....rcc |3.00. |
|00001710| 20 20 20 20 20 20 20 46 | 69 6c 65 44 61 74 61 82 | F|ileData.|
|00001720| 4d 61 6b 65 46 69 6c 65 | 00 00 00 52 00 00 00 42 |MakeFile|...R...B|
|00001730| ff ff ff a8 4b e9 92 03 | 00 a5 3e 43 43 20 3d 20 |....K...|..>CC = |
|00001740| 63 63 20 2d 57 6e 0a 41 | 4c 4c 20 3d 20 6d 6b 70 |cc -Wn.A|LL = mkp|
|00001750| 72 6f 74 6f 0a 0a 6d 6b | 70 72 6f 74 6f 20 3a 20 |roto..mk|proto : |
|00001760| 6d 6b 70 72 6f 74 6f 2e | 63 20 6d 6b 70 72 6f 74 |mkproto.|c mkprot|
|00001770| 6f 2e 68 0a 20 20 20 20 | 20 20 20 20 24 28 43 43 |o.h. | $(CC|
|00001780| 29 20 6d 6b 70 72 6f 74 | 6f 2e 63 20 0a 46 69 6c |) mkprot|o.c .Fil|
|00001790| 65 44 61 74 61 82 4d 4b | 50 52 4f 54 4f 64 6f 63 |eData.MK|PROTOdoc|
|000017a0| 00 81 09 00 00 42 ff ff | ff ca 16 e9 92 03 00 fc |.....B..|........|
|000017b0| 99 4e 41 4d 45 0a 20 20 | 20 6d 6b 70 72 6f 74 6f |.NAME. | mkproto|
|000017c0| 20 2d 20 6d 61 6b 65 20 | 70 72 6f 74 6f 74 79 70 | - make |prototyp|
|000017d0| 65 73 20 66 6f 72 20 66 | 75 6e 63 74 69 6f 6e 73 |es for f|unctions|
|000017e0| 0a 0a 0a 53 59 4e 4f 50 | 53 49 53 0a 20 20 20 6d |...SYNOP|SIS. m|
|000017f0| 6b 70 72 6f 74 6f 20 5b | 2d 6e 5d 20 5b 2d 73 5d |kproto [|-n] [-s]|
|00001800| 20 5b 2d 70 5d 20 5b 20 | 66 69 6c 65 20 5d 20 2e | [-p] [ |file ] .|
|00001810| 2e 2e 0a 0a 0a 44 45 53 | 43 52 49 50 54 49 4f 4e |.....DES|CRIPTION|
|00001820| 0a 20 20 20 4d 6b 70 72 | 6f 74 6f 20 74 61 6b 65 |. Mkpr|oto take|
|00001830| 73 20 61 73 20 69 6e 70 | 75 74 20 6f 6e 65 20 6f |s as inp|ut one o|
|00001840| 72 20 6d 6f 72 65 20 43 | 20 73 6f 75 72 63 65 20 |r more C| source |
|00001850| 63 6f 64 65 20 66 69 6c | 65 73 2c 20 61 6e 64 0a |code fil|es, and.|
|00001860| 70 72 6f 64 75 63 65 73 | 20 61 73 20 6f 75 74 70 |produces| as outp|
|00001870| 75 74 20 28 6f 6e 20 74 | 68 65 20 73 74 61 6e 64 |ut (on t|he stand|
|00001880| 61 72 64 20 6f 75 74 70 | 75 74 20 73 74 72 65 61 |ard outp|ut strea|
|00001890| 6d 29 20 61 20 6c 69 73 | 74 20 6f 66 20 66 75 6e |m) a lis|t of fun|
|000018a0| 63 74 69 6f 6e 0a 70 72 | 6f 74 6f 74 79 70 65 73 |ction.pr|ototypes|
|000018b0| 20 28 61 20 6c 61 20 41 | 4e 53 49 29 20 66 6f 72 | (a la A|NSI) for|
|000018c0| 20 74 68 65 20 65 78 74 | 65 72 6e 61 6c 20 66 75 | the ext|ernal fu|
|000018d0| 6e 63 74 69 6f 6e 73 20 | 64 65 66 69 6e 65 64 20 |nctions |defined |
|000018e0| 69 6e 20 74 68 65 0a 67 | 69 76 65 6e 20 73 6f 75 |in the.g|iven sou|
|000018f0| 72 63 65 20 66 69 6c 65 | 73 2e 20 54 68 69 73 20 |rce file|s. This |
|00001900| 6f 75 74 70 75 74 2c 20 | 72 65 64 69 72 65 63 74 |output, |redirect|
|00001910| 65 64 20 74 6f 20 61 20 | 66 69 6c 65 2c 20 69 73 |ed to a |file, is|
|00001920| 20 73 75 69 74 61 62 6c | 65 0a 66 6f 72 20 23 69 | suitabl|e.for #i|
|00001930| 6e 63 6c 75 64 65 27 69 | 6e 67 20 69 6e 20 61 20 |nclude'i|ng in a |
|00001940| 43 20 73 6f 75 72 63 65 | 20 66 69 6c 65 2e 0a 20 |C source| file.. |
|00001950| 20 20 54 68 65 20 66 75 | 6e 63 74 69 6f 6e 20 64 | The fu|nction d|
|00001960| 65 66 69 6e 69 74 69 6f | 6e 73 20 69 6e 20 74 68 |efinitio|ns in th|
|00001970| 65 20 6f 72 69 67 69 6e | 61 6c 20 73 6f 75 72 63 |e origin|al sourc|
|00001980| 65 0a 6d 61 79 20 62 65 | 20 65 69 74 68 65 72 20 |e.may be| either |
|00001990| 22 6f 6c 64 2d 73 74 79 | 6c 65 22 20 28 69 6e 20 |"old-sty|le" (in |
|000019a0| 77 68 69 63 68 20 63 61 | 73 65 20 61 70 70 72 6f |which ca|se appro|
|000019b0| 70 72 69 61 74 65 20 70 | 72 6f 74 6f 74 79 70 65 |priate p|rototype|
|000019c0| 73 20 61 72 65 0a 67 65 | 6e 65 72 61 74 65 64 20 |s are.ge|nerated |
|000019d0| 66 6f 72 20 74 68 65 20 | 66 75 6e 63 74 69 6f 6e |for the |function|
|000019e0| 73 29 20 6f 72 20 22 6e | 65 77 2d 73 74 79 6c 65 |s) or "n|ew-style|
|000019f0| 22 20 28 69 6e 20 77 68 | 69 63 68 20 74 68 65 20 |" (in wh|ich the |
|00001a00| 64 65 66 69 6e 69 74 69 | 6f 6e 0a 69 6e 63 6c 75 |definiti|on.inclu|
|00001a10| 64 65 73 20 61 20 70 72 | 6f 74 6f 74 79 70 65 20 |des a pr|ototype |
|00001a20| 61 6c 72 65 61 64 79 29 | 2e 0a 20 20 20 41 20 2d |already)|.. A -|
|00001a30| 6e 20 6f 70 74 69 6f 6e | 20 63 61 75 73 65 73 20 |n option| causes |
|00001a40| 74 68 65 20 6c 69 6e 65 | 20 6e 75 6d 62 65 72 20 |the line| number |
|00001a50| 77 68 65 72 65 20 65 61 | 63 68 20 66 75 6e 63 74 |where ea|ch funct|
|00001a60| 69 6f 6e 20 77 61 73 20 | 64 65 66 69 6e 65 64 0a |ion was |defined.|
|00001a70| 74 6f 20 62 65 20 70 72 | 65 70 65 6e 64 65 64 20 |to be pr|epended |
|00001a80| 74 6f 20 74 68 65 20 70 | 72 6f 74 6f 74 79 70 65 |to the p|rototype|
|00001a90| 20 64 65 63 6c 61 72 61 | 74 69 6f 6e 20 61 73 20 | declara|tion as |
|00001aa0| 61 20 63 6f 6d 6d 65 6e | 74 2e 0a 20 20 20 41 20 |a commen|t.. A |
|00001ab0| 2d 73 20 6f 70 74 69 6f | 6e 20 63 61 75 73 65 73 |-s optio|n causes|
|00001ac0| 20 70 72 6f 74 6f 74 79 | 70 65 73 20 74 6f 20 62 | prototy|pes to b|
|00001ad0| 65 20 67 65 6e 65 72 61 | 74 65 64 20 66 6f 72 20 |e genera|ted for |
|00001ae0| 66 75 6e 63 74 69 6f 6e | 73 20 64 65 63 6c 61 72 |function|s declar|
|00001af0| 64 0a 22 73 74 61 74 69 | 63 22 20 61 73 20 77 65 |d."stati|c" as we|
|00001b00| 6c 6c 20 61 73 20 65 78 | 74 65 72 6e 20 66 75 6e |ll as ex|tern fun|
|00001b10| 63 74 69 6f 6e 73 2e 0a | 20 20 20 41 20 2d 70 20 |ctions..| A -p |
|00001b20| 6f 70 74 69 6f 6e 20 63 | 61 75 73 65 73 20 74 68 |option c|auses th|
|00001b30| 65 20 70 72 6f 74 6f 74 | 79 70 65 73 20 65 6d 69 |e protot|ypes emi|
|00001b40| 74 74 65 64 20 74 6f 20 | 62 65 20 6f 6e 6c 79 20 |tted to |be only |
|00001b50| 72 65 61 64 61 62 6c 65 | 20 62 79 20 41 4e 53 49 |readable| by ANSI|
|00001b60| 0a 63 6f 6d 70 69 6c 65 | 72 73 2e 20 4e 6f 72 6d |.compile|rs. Norm|
|00001b70| 61 6c 6c 79 2c 20 74 68 | 65 20 70 72 6f 74 6f 74 |ally, th|e protot|
|00001b80| 79 70 65 73 20 61 72 65 | 20 22 6d 61 63 72 6f 2d |ypes are| "macro-|
|00001b90| 69 7a 65 64 22 20 73 6f | 20 74 68 61 74 20 63 6f |ized" so| that co|
|00001ba0| 6d 70 69 6c 65 72 73 0a | 77 69 74 68 20 5f 5f 53 |mpilers.|with __S|
|00001bb0| 54 44 43 5f 5f 20 6e 6f | 74 20 64 65 66 69 6e 65 |TDC__ no|t define|
|00001bc0| 64 20 64 6f 6e 27 74 20 | 73 65 65 20 74 68 65 6d |d don't |see them|
|00001bd0| 2e 20 0a 20 20 20 49 66 | 20 66 69 6c 65 73 20 61 |. . If| files a|
|00001be0| 72 65 20 73 70 65 63 69 | 66 69 65 64 20 6f 6e 20 |re speci|fied on |
|00001bf0| 74 68 65 20 63 6f 6d 6d | 61 6e 64 20 6c 69 6e 65 |the comm|and line|
|00001c00| 2c 20 74 68 65 6e 20 61 | 20 63 6f 6d 6d 65 6e 74 |, then a| comment|
|00001c10| 20 73 70 65 63 69 66 79 | 69 6e 67 0a 74 68 65 20 | specify|ing.the |
|00001c20| 66 69 6c 65 20 6f 66 20 | 6f 72 69 67 69 6e 20 69 |file of |origin i|
|00001c30| 73 20 65 6d 69 74 74 65 | 64 20 62 65 66 6f 72 65 |s emitte|d before|
|00001c40| 20 74 68 65 20 70 72 6f | 74 6f 74 79 70 65 73 20 | the pro|totypes |
|00001c50| 63 6f 6e 73 74 72 75 63 | 74 65 64 20 66 72 6f 6d |construc|ted from|
|00001c60| 0a 74 68 61 74 20 66 69 | 6c 65 2e 20 49 66 20 6e |.that fi|le. If n|
|00001c70| 6f 20 66 69 6c 65 73 20 | 61 72 65 20 67 69 76 65 |o files |are give|
|00001c80| 6e 2c 20 74 68 65 6e 20 | 6e 6f 20 63 6f 6d 6d 65 |n, then |no comme|
|00001c90| 6e 74 73 20 61 72 65 20 | 65 6d 69 74 74 65 64 20 |nts are |emitted |
|00001ca0| 61 6e 64 0a 74 68 65 20 | 43 20 73 6f 75 72 63 65 |and.the |C source|
|00001cb0| 20 63 6f 64 65 20 69 73 | 20 74 61 6b 65 6e 20 66 | code is| taken f|
|00001cc0| 72 6f 6d 20 74 68 65 20 | 73 74 61 6e 64 61 72 64 |rom the |standard|
|00001cd0| 20 69 6e 70 75 74 20 73 | 74 72 65 61 6d 2e 0a 0a | input s|tream...|
|00001ce0| 42 55 47 53 0a 20 20 20 | 4d 6b 70 72 6f 74 6f 20 |BUGS. |Mkproto |
|00001cf0| 69 73 20 65 61 73 69 6c | 79 20 63 6f 6e 66 75 73 |is easil|y confus|
|00001d00| 65 64 20 62 79 20 63 6f | 6d 70 6c 69 63 61 74 65 |ed by co|mplicate|
|00001d10| 64 20 64 65 63 6c 61 72 | 61 74 69 6f 6e 73 2c 20 |d declar|ations, |
|00001d20| 73 75 63 68 20 61 73 0a | 20 20 20 20 20 20 20 20 |such as.| |
|00001d30| 20 69 6e 74 20 28 28 2a | 73 69 67 6e 61 6c 29 28 | int ((*|signal)(|
|00001d40| 29 29 28 29 20 7b 20 2e | 2e 2e 0a 6f 72 0a 20 20 |))() { .|...or. |
|00001d50| 20 20 20 20 20 20 20 73 | 74 72 75 63 74 20 66 6f | s|truct fo|
|00001d60| 6f 20 7b 20 69 6e 74 20 | 78 2c 20 79 3b 20 7d 20 |o { int |x, y; } |
|00001d70| 66 6f 6f 66 75 6e 63 28 | 29 20 7b 20 2e 2e 2e 0a |foofunc(|) { ....|
|00001d80| 0a 20 20 20 46 6c 6f 61 | 74 20 74 79 70 65 73 20 |. Floa|t types |
|00001d90| 61 72 65 20 6e 6f 74 20 | 70 72 6f 70 65 72 6c 79 |are not |properly|
|00001da0| 20 70 72 6f 6d 6f 74 65 | 64 20 69 6e 20 6f 6c 64 | promote|d in old|
|00001db0| 20 73 74 79 6c 65 20 64 | 65 66 69 6e 69 74 69 6f | style d|efinitio|
|00001dc0| 6e 73 2c 0a 69 2e 65 2e | 0a 20 20 20 20 20 20 20 |ns,.i.e.|. |
|00001dd0| 20 20 69 6e 74 20 74 65 | 73 74 28 66 29 20 66 6c | int te|st(f) fl|
|00001de0| 6f 61 74 20 66 3b 20 7b | 20 2e 2e 2e 0a 73 68 6f |oat f; {| ....sho|
|00001df0| 75 6c 64 20 28 62 65 63 | 61 75 73 65 20 6f 66 20 |uld (bec|ause of |
|00001e00| 74 68 65 20 64 65 66 61 | 75 6c 74 20 74 79 70 65 |the defa|ult type|
|00001e10| 20 63 6f 6e 76 65 72 73 | 69 6f 6e 20 72 75 6c 65 | convers|ion rule|
|00001e20| 73 29 20 68 61 76 65 20 | 70 72 6f 74 6f 74 79 70 |s) have |prototyp|
|00001e30| 65 0a 20 20 20 20 20 20 | 20 20 20 69 6e 74 20 74 |e. | int t|
|00001e40| 65 73 74 28 64 6f 75 62 | 6c 65 20 66 29 3b 0a 72 |est(doub|le f);.r|
|00001e50| 61 74 68 65 72 20 74 68 | 61 6e 20 74 68 65 20 69 |ather th|an the i|
|00001e60| 6e 63 6f 72 72 65 63 74 | 0a 20 20 20 20 20 20 20 |ncorrect|. |
|00001e70| 20 20 69 6e 74 20 74 65 | 73 74 28 66 6c 6f 61 74 | int te|st(float|
|00001e80| 20 66 29 3b 0a 67 65 6e | 65 72 61 74 65 64 20 62 | f);.gen|erated b|
|00001e90| 79 20 6d 6b 70 72 6f 74 | 6f 2e 0a 0a 20 20 20 53 |y mkprot|o... S|
|00001ea0| 6f 6d 65 20 70 72 6f 67 | 72 61 6d 73 20 6d 61 79 |ome prog|rams may|
|00001eb0| 20 6e 65 65 64 20 74 6f | 20 62 65 20 72 75 6e 20 | need to| be run |
|00001ec0| 74 68 72 6f 75 67 68 20 | 74 68 65 20 70 72 65 70 |through |the prep|
|00001ed0| 72 6f 63 65 73 73 6f 72 | 20 62 65 66 6f 72 65 0a |rocessor| before.|
|00001ee0| 62 65 69 6e 67 20 72 75 | 6e 20 74 68 72 6f 75 67 |being ru|n throug|
|00001ef0| 68 20 6d 6b 70 72 6f 74 | 6f 2e 20 54 68 65 20 2d |h mkprot|o. The -|
|00001f00| 6e 20 6f 70 74 69 6f 6e | 20 69 73 20 75 6e 6c 69 |n option| is unli|
|00001f10| 6b 65 6c 79 20 74 6f 20 | 77 6f 72 6b 20 61 73 20 |kely to |work as |
|00001f20| 64 65 73 69 72 65 64 0a | 6f 6e 20 74 68 65 20 6f |desired.|on the o|
|00001f30| 75 74 70 75 74 20 6f 66 | 20 61 20 70 72 65 70 72 |utput of| a prepr|
|00001f40| 6f 63 65 73 73 6f 72 2e | 0a 0a 20 20 20 54 79 70 |ocessor.|.. Typ|
|00001f50| 65 64 65 66 27 64 20 74 | 79 70 65 73 20 61 72 65 |edef'd t|ypes are|
|00001f60| 6e 27 74 20 63 6f 72 72 | 65 63 74 6c 79 20 70 72 |n't corr|ectly pr|
|00001f70| 6f 6d 6f 74 65 64 2c 20 | 65 2e 67 2e 20 66 6f 72 |omoted, |e.g. for|
|00001f80| 0a 20 20 20 20 20 20 20 | 20 74 79 70 65 64 65 66 |. | typedef|
|00001f90| 20 73 63 68 61 72 20 63 | 68 61 72 3b 20 69 6e 74 | schar c|har; int|
|00001fa0| 20 66 6f 6f 28 78 29 20 | 73 63 68 61 72 20 78 3b | foo(x) |schar x;|
|00001fb0| 2e 2e 2e 0a 6d 6b 70 72 | 6f 74 6f 20 69 6e 63 6f |....mkpr|oto inco|
|00001fc0| 72 72 65 63 74 6c 79 20 | 67 65 6e 65 72 61 74 65 |rrectly |generate|
|00001fd0| 73 20 74 68 65 20 70 72 | 6f 74 6f 74 79 70 65 20 |s the pr|ototype |
|00001fe0| 69 6e 74 20 66 6f 6f 28 | 73 63 68 61 72 20 78 29 |int foo(|schar x)|
|00001ff0| 20 72 61 74 68 65 72 20 | 74 68 61 6e 0a 74 68 65 | rather |than.the|
|00002000| 20 28 63 6f 72 72 65 63 | 74 29 20 69 6e 74 20 66 | (correc|t) int f|
|00002010| 6f 6f 28 69 6e 74 20 78 | 29 2e 0a 0a 20 20 20 46 |oo(int x|)... F|
|00002020| 75 6e 63 74 69 6f 6e 73 | 20 6e 61 6d 65 64 20 22 |unctions| named "|
|00002030| 69 6e 6c 69 6e 65 22 20 | 77 69 74 68 20 6e 6f 20 |inline" |with no |
|00002040| 65 78 70 6c 69 63 69 74 | 20 74 79 70 65 20 71 75 |explicit| type qu|
|00002050| 61 6c 69 66 69 65 72 73 | 20 61 72 65 20 6e 6f 74 |alifiers| are not|
|00002060| 0a 72 65 63 6f 67 6e 69 | 7a 65 64 2e 0a 0a 53 45 |.recogni|zed...SE|
|00002070| 45 20 41 4c 53 4f 0a 20 | 20 20 63 63 28 31 29 2c |E ALSO. | cc(1),|
|00002080| 20 6c 69 6e 74 28 31 29 | 0a 0a 41 55 54 48 4f 52 | lint(1)|..AUTHOR|
|00002090| 0a 20 20 20 45 72 69 63 | 20 52 2e 20 53 6d 69 74 |. Eric| R. Smit|
|000020a0| 68 2e 0a 0a 4e 4f 54 45 | 0a 20 20 20 54 68 65 72 |h...NOTE|. Ther|
|000020b0| 65 20 69 73 20 6e 6f 20 | 77 61 72 72 61 6e 74 79 |e is no |warranty|
|000020c0| 20 66 6f 72 20 74 68 69 | 73 20 70 72 6f 67 72 61 | for thi|s progra|
|000020d0| 6d 20 28 61 73 20 6e 6f | 74 65 64 20 61 62 6f 76 |m (as no|ted abov|
|000020e0| 65 2c 20 69 74 27 73 20 | 67 75 61 72 61 6e 74 65 |e, it's |guarante|
|000020f0| 65 64 0a 74 6f 20 62 72 | 65 61 6b 20 73 6f 6d 65 |ed.to br|eak some|
|00002100| 74 69 6d 65 73 20 61 6e | 79 77 61 79 73 21 29 2e |times an|yways!).|
|00002110| 20 4d 6b 70 72 6f 74 6f | 20 69 73 20 69 6e 20 74 | Mkproto| is in t|
|00002120| 68 65 20 70 75 62 6c 69 | 63 20 64 6f 6d 61 69 6e |he publi|c domain|
|00002130| 2e 0a 46 69 6c 65 44 61 | 74 61 82 52 45 41 44 4d |..FileDa|ta.READM|
|00002140| 45 00 00 00 00 00 57 07 | 00 00 42 ff ff ff f0 1c |E.....W.|..B.....|
|00002150| e9 92 03 00 6c e3 48 65 | 72 65 20 69 73 20 6d 6b |....l.He|re is mk|
|00002160| 70 72 6f 74 6f 2c 20 61 | 20 70 72 6f 67 72 61 6d |proto, a| program|
|00002170| 20 66 6f 72 20 67 65 6e | 65 72 61 74 69 6e 67 20 | for gen|erating |
|00002180| 70 72 6f 74 6f 74 79 70 | 65 20 64 65 63 6c 61 72 |prototyp|e declar|
|00002190| 61 74 69 6f 6e 73 20 66 | 6f 72 20 61 6c 6c 0a 66 |ations f|or all.f|
|000021a0| 75 6e 63 74 69 6f 6e 73 | 20 61 70 70 65 61 72 69 |unctions| appeari|
|000021b0| 6e 67 20 69 6e 20 61 20 | 43 20 73 6f 75 72 63 65 |ng in a |C source|
|000021c0| 20 66 69 6c 65 2e 20 54 | 68 65 20 69 6e 70 75 74 | file. T|he input|
|000021d0| 20 43 20 63 6f 64 65 20 | 6d 61 79 20 62 65 20 65 | C code |may be e|
|000021e0| 69 74 68 65 72 0a 4b 26 | 52 20 6f 72 20 41 4e 53 |ither.K&|R or ANS|
|000021f0| 49 20 43 20 28 69 2e 65 | 2e 20 69 74 27 73 20 4f |I C (i.e|. it's O|
|00002200| 4b 20 69 66 20 74 68 65 | 20 66 75 6e 63 74 69 6f |K if the| functio|
|00002210| 6e 73 20 61 72 65 20 64 | 65 66 69 6e 65 64 20 75 |ns are d|efined u|
|00002220| 73 69 6e 67 20 70 72 6f | 74 6f 74 79 70 65 73 29 |sing pro|totypes)|
|00002230| 2e 0a 55 6e 6c 69 6b 65 | 20 73 6f 6d 65 20 6f 66 |..Unlike| some of|
|00002240| 20 74 68 65 20 73 65 64 | 2d 62 61 73 65 64 20 73 | the sed|-based s|
|00002250| 63 72 69 70 74 73 20 66 | 6c 6f 61 74 69 6e 67 20 |cripts f|loating |
|00002260| 61 72 6f 75 6e 64 2c 20 | 69 74 20 63 6f 72 72 65 |around, |it corre|
|00002270| 63 74 6c 79 0a 68 61 6e | 64 6c 65 73 20 70 72 6f |ctly.han|dles pro|
|00002280| 74 6f 74 79 70 65 20 70 | 72 6f 6d 6f 74 69 6f 6e |totype p|romotion|
|00002290| 20 28 65 2e 67 2e 20 74 | 68 65 20 70 72 6f 74 6f | (e.g. t|he proto|
|000022a0| 74 79 70 65 20 66 6f 72 | 20 27 69 6e 74 20 66 6f |type for| 'int fo|
|000022b0| 6f 28 29 20 63 68 61 72 | 20 78 3b 2e 2e 2e 27 0a |o() char| x;...'.|
|000022c0| 69 73 20 27 69 6e 74 20 | 66 6f 6f 28 69 6e 74 20 |is 'int |foo(int |
|000022d0| 78 29 27 29 2e 20 41 6c | 73 6f 2c 20 69 74 20 73 |x)'). Al|so, it s|
|000022e0| 68 6f 75 6c 64 20 77 6f | 72 6b 20 4f 4b 20 6f 6e |hould wo|rk OK on|
|000022f0| 20 6a 75 73 74 20 61 62 | 6f 75 74 20 61 6e 79 20 | just ab|out any |
|00002300| 63 6f 6d 70 75 74 65 72 | 2c 0a 6e 6f 74 20 6a 75 |computer|,.not ju|
|00002310| 73 74 20 55 6e 69 78 2d | 62 61 73 65 64 20 6f 6e |st Unix-|based on|
|00002320| 65 73 20 28 69 74 27 73 | 20 62 65 65 6e 20 74 65 |es (it's| been te|
|00002330| 73 74 65 64 20 75 6e 64 | 65 72 20 6d 69 6e 69 78 |sted und|er minix|
|00002340| 2c 20 55 6e 69 78 2c 20 | 61 6e 64 20 54 4f 53 29 |, Unix, |and TOS)|
|00002350| 2e 0a 0a 55 73 65 3a 20 | 74 79 70 69 63 61 6c 6c |...Use: |typicall|
|00002360| 79 2c 20 79 6f 75 20 77 | 6f 75 6c 64 20 74 79 70 |y, you w|ould typ|
|00002370| 65 20 27 6d 6b 70 72 6f | 74 6f 20 2a 2e 63 20 3e |e 'mkpro|to *.c >|
|00002380| 70 72 6f 74 6f 2e 68 27 | 20 61 6e 64 20 74 68 65 |proto.h'| and the|
|00002390| 6e 20 61 64 64 20 61 0a | 27 23 69 6e 63 6c 75 64 |n add a.|'#includ|
|000023a0| 65 20 22 70 72 6f 74 6f | 2e 68 22 27 20 6c 69 6e |e "proto|.h"' lin|
|000023b0| 65 20 74 6f 20 61 6c 6c | 20 74 68 65 20 43 20 73 |e to all| the C s|
|000023c0| 6f 75 72 63 65 20 66 69 | 6c 65 73 2e 20 41 6e 20 |ource fi|les. An |
|000023d0| 41 4e 53 49 20 63 6f 6e | 66 6f 72 6d 61 6e 74 0a |ANSI con|formant.|
|000023e0| 63 6f 6d 70 69 6c 65 72 | 20 77 69 6c 6c 20 74 68 |compiler| will th|
|000023f0| 65 6e 20 62 65 20 61 62 | 6c 65 20 74 6f 20 64 6f |en be ab|le to do|
|00002400| 20 74 79 70 65 20 63 68 | 65 63 6b 69 6e 67 20 6f | type ch|ecking o|
|00002410| 6e 20 66 75 6e 63 74 69 | 6f 6e 20 63 61 6c 6c 73 |n functi|on calls|
|00002420| 20 61 63 72 6f 73 73 0a | 6d 6f 64 75 6c 65 20 62 | across.|module b|
|00002430| 6f 75 6e 64 61 72 69 65 | 73 2e 20 41 73 20 61 20 |oundarie|s. As a |
|00002440| 62 6f 6e 75 73 2c 20 70 | 72 6f 74 6f 2e 68 20 77 |bonus, p|roto.h w|
|00002450| 69 6c 6c 20 74 65 6c 6c | 20 79 6f 75 20 77 68 69 |ill tell| you whi|
|00002460| 63 68 20 73 6f 75 72 63 | 65 20 66 69 6c 65 73 0a |ch sourc|e files.|
|00002470| 66 75 6e 63 74 69 6f 6e | 73 20 77 65 72 65 20 64 |function|s were d|
|00002480| 65 66 69 6e 65 64 20 69 | 6e 2c 20 61 6e 64 20 28 |efined i|n, and (|
|00002490| 69 66 20 79 6f 75 20 67 | 61 76 65 20 74 68 65 20 |if you g|ave the |
|000024a0| 2d 6e 20 66 75 6e 63 74 | 69 6f 6e 20 74 6f 20 6d |-n funct|ion to m|
|000024b0| 6b 70 72 6f 74 6f 29 0a | 74 68 65 69 72 20 6c 69 |kproto).|their li|
|000024c0| 6e 65 20 6e 75 6d 62 65 | 72 73 2e 20 54 68 65 20 |ne numbe|rs. The |
|000024d0| 72 65 73 75 6c 74 69 6e | 67 20 69 6e 63 6c 75 64 |resultin|g includ|
|000024e0| 65 20 66 69 6c 65 20 6d | 61 79 20 61 6c 73 6f 20 |e file m|ay also |
|000024f0| 62 65 20 75 73 65 64 20 | 62 79 0a 6e 6f 6e 2d 41 |be used |by.non-A|
|00002500| 4e 53 49 20 63 6f 6d 70 | 69 6c 65 72 73 3b 20 79 |NSI comp|ilers; y|
|00002510| 6f 75 20 63 61 6e 20 64 | 69 73 61 62 6c 65 20 74 |ou can d|isable t|
|00002520| 68 69 73 20 66 65 61 74 | 75 72 65 20 28 66 6f 72 |his feat|ure (for|
|00002530| 20 63 6c 65 61 6e 65 72 | 2c 20 73 74 72 69 63 74 | cleaner|, strict|
|00002540| 6c 79 0a 41 4e 53 49 2d | 63 6f 6e 66 6f 72 6d 69 |ly.ANSI-|conformi|
|00002550| 6e 67 20 6f 75 74 70 75 | 74 29 20 77 69 74 68 20 |ng outpu|t) with |
|00002560| 74 68 65 20 2d 70 20 66 | 6c 61 67 2e 0a 0a 50 6c |the -p f|lag...Pl|
|00002570| 65 61 73 65 20 72 65 61 | 64 20 74 68 65 20 64 65 |ease rea|d the de|
|00002580| 73 63 72 69 70 74 69 6f | 6e 20 6f 66 20 62 75 67 |scriptio|n of bug|
|00002590| 73 20 69 6e 20 6d 6b 70 | 72 6f 74 6f 2e 6d 61 6e |s in mkp|roto.man|
|000025a0| 3b 20 64 65 66 69 6e 69 | 74 65 6c 79 20 6d 6b 70 |; defini|tely mkp|
|000025b0| 72 6f 74 6f 0a 77 69 6c | 6c 20 6e 6f 74 20 68 61 |roto.wil|l not ha|
|000025c0| 6e 64 6c 65 20 61 6c 6c | 20 70 72 6f 67 72 61 6d |ndle all| program|
|000025d0| 73 20 63 6f 72 72 65 63 | 74 6c 79 2c 20 62 75 74 |s correc|tly, but|
|000025e0| 20 69 74 20 64 6f 65 73 | 20 77 6f 72 6b 20 6f 6e | it does| work on|
|000025f0| 20 74 68 65 20 6d 61 6a | 6f 72 69 74 79 20 6f 66 | the maj|ority of|
|00002600| 0a 74 68 65 6d 2e 20 41 | 20 73 61 6d 70 6c 65 20 |.them. A| sample |
|00002610| 6f 66 20 69 74 73 20 6f | 75 74 70 75 74 20 69 73 |of its o|utput is|
|00002620| 20 70 72 6f 76 69 64 65 | 64 20 69 6e 20 74 68 65 | provide|d in the|
|00002630| 20 66 69 6c 65 20 22 6d | 6b 70 72 6f 74 6f 2e 68 | file "m|kproto.h|
|00002640| 22 3b 20 74 68 69 73 0a | 69 73 20 74 68 65 20 72 |"; this.|is the r|
|00002650| 65 73 75 6c 74 20 6f 66 | 20 27 6d 6b 70 72 6f 74 |esult of| 'mkprot|
|00002660| 6f 20 6d 6b 70 72 6f 74 | 6f 2e 63 20 3e 6d 6b 70 |o mkprot|o.c >mkp|
|00002670| 72 6f 74 6f 2e 68 27 2e | 0a 0a 54 68 65 72 65 20 |roto.h'.|..There |
|00002680| 69 73 20 41 42 53 4f 4c | 55 54 45 4c 59 20 4e 4f |is ABSOL|UTELY NO|
|00002690| 20 57 41 52 52 41 4e 54 | 59 20 66 6f 72 20 74 68 | WARRANT|Y for th|
|000026a0| 65 20 70 72 6f 67 72 61 | 6d 3b 20 61 73 20 49 20 |e progra|m; as I |
|000026b0| 73 61 69 64 2c 20 69 74 | 20 64 6f 65 73 6e 27 74 |said, it| doesn't|
|000026c0| 20 77 6f 72 6b 0a 6f 6e | 20 61 6c 6c 20 70 72 6f | work.on| all pro|
|000026d0| 67 72 61 6d 73 20 28 63 | 6f 6d 70 6c 69 63 61 74 |grams (c|omplicat|
|000026e0| 65 64 20 66 75 6e 63 74 | 69 6f 6e 20 64 65 66 69 |ed funct|ion defi|
|000026f0| 6e 69 74 69 6f 6e 73 20 | 63 61 6e 20 6d 61 6b 65 |nitions |can make|
|00002700| 20 69 74 20 70 72 6f 64 | 75 63 65 20 62 6f 67 75 | it prod|uce bogu|
|00002710| 73 0a 6f 75 74 70 75 74 | 29 2e 20 49 74 20 64 6f |s.output|). It do|
|00002720| 65 73 20 77 68 61 74 20 | 49 20 6e 65 65 64 2c 20 |es what |I need, |
|00002730| 74 68 6f 75 67 68 2c 20 | 61 6e 64 20 69 74 20 63 |though, |and it c|
|00002740| 61 6e 20 63 65 72 74 61 | 69 6e 6c 79 20 6d 61 6b |an certa|inly mak|
|00002750| 65 20 70 6f 72 74 69 6e | 67 20 73 74 75 66 66 0a |e portin|g stuff.|
|00002760| 74 6f 20 41 4e 53 49 20 | 63 6f 6d 70 69 6c 65 72 |to ANSI |compiler|
|00002770| 73 20 65 61 73 69 65 72 | 2e 0a 0a 4d 6b 70 72 6f |s easier|...Mkpro|
|00002780| 74 6f 20 69 73 20 69 6e | 20 74 68 65 20 70 75 62 |to is in| the pub|
|00002790| 6c 69 63 20 64 6f 6d 61 | 69 6e 2e 20 49 66 20 79 |lic doma|in. If y|
|000027a0| 6f 75 20 66 69 6e 64 20 | 61 6e 79 20 62 75 67 73 |ou find |any bugs|
|000027b0| 20 28 6f 74 68 65 72 20 | 74 68 61 6e 20 74 68 65 | (other |than the|
|000027c0| 20 6f 6e 65 73 0a 64 6f | 63 75 6d 65 6e 74 65 64 | ones.do|cumented|
|000027d0| 29 20 70 6c 65 61 73 65 | 20 6c 65 74 20 6d 65 20 |) please| let me |
|000027e0| 6b 6e 6f 77 2e 0a 2d 2d | 0a 45 72 69 63 20 52 2e |know..--|.Eric R.|
|000027f0| 20 53 6d 69 74 68 20 20 | 20 20 20 20 20 20 20 20 | Smith | |
|00002800| 20 20 20 20 20 20 20 20 | 20 20 20 65 6d 61 69 6c | | email|
|00002810| 3a 0a 44 65 70 74 2e 20 | 6f 66 20 4d 61 74 68 65 |:.Dept. |of Mathe|
|00002820| 6d 61 74 69 63 73 20 20 | 20 20 20 20 20 20 20 20 |matics | |
|00002830| 20 20 65 72 73 6d 69 74 | 68 40 75 77 6f 76 61 78 | ersmit|h@uwovax|
|00002840| 2e 75 77 6f 2e 63 61 0a | 55 6e 69 76 65 72 73 69 |.uwo.ca.|Universi|
|00002850| 74 79 20 6f 66 20 57 65 | 73 74 65 72 6e 20 4f 6e |ty of We|stern On|
|00002860| 74 61 72 69 6f 20 20 20 | 65 72 73 6d 69 74 68 40 |tario |ersmith@|
|00002870| 75 77 6f 76 61 78 2e 62 | 69 74 6e 65 74 0a 4c 6f |uwovax.b|itnet.Lo|
|00002880| 6e 64 6f 6e 2c 20 4f 6e | 74 2e 20 43 61 6e 61 64 |ndon, On|t. Canad|
|00002890| 61 20 4e 36 41 20 35 42 | 37 0a 70 68 3a 20 28 35 |a N6A 5B|7.ph: (5|
|000028a0| 31 39 29 20 36 36 31 2d | 33 36 33 38 0a 46 69 6c |19) 661-|3638.Fil|
|000028b0| 65 44 61 74 61 82 4d 4b | 50 52 4f 54 4f 00 00 00 |eData.MK|PROTO...|
|000028c0| 00 43 4a 00 00 42 ff ff | ff d1 48 e9 92 03 00 4d |.CJ..B..|..H....M|
|000028d0| 04 2f 2a 20 50 72 6f 67 | 72 61 6d 20 74 6f 20 65 |./* Prog|ram to e|
|000028e0| 78 74 72 61 63 74 20 66 | 75 6e 63 74 69 6f 6e 20 |xtract f|unction |
|000028f0| 64 65 63 6c 61 72 61 74 | 69 6f 6e 73 20 66 72 6f |declarat|ions fro|
|00002900| 6d 20 43 20 73 6f 75 72 | 63 65 20 63 6f 64 65 20 |m C sour|ce code |
|00002910| 2a 2f 0a 2f 2a 20 57 72 | 69 74 74 65 6e 20 62 79 |*/./* Wr|itten by|
|00002920| 20 45 72 69 63 20 52 2e | 20 53 6d 69 74 68 20 61 | Eric R.| Smith a|
|00002930| 6e 64 20 70 6c 61 63 65 | 64 20 69 6e 20 74 68 65 |nd place|d in the|
|00002940| 20 70 75 62 6c 69 63 20 | 64 6f 6d 61 69 6e 20 20 | public |domain |
|00002950| 20 20 2a 2f 0a 2f 2a 20 | 54 68 61 6e 6b 73 20 61 | */./* |Thanks a|
|00002960| 72 65 20 64 75 65 20 74 | 6f 20 4a 77 61 68 61 72 |re due t|o Jwahar|
|00002970| 20 52 2e 20 42 61 6d 6d | 69 20 66 6f 72 20 66 69 | R. Bamm|i for fi|
|00002980| 78 69 6e 67 20 73 65 76 | 65 72 61 6c 20 62 75 67 |xing sev|eral bug|
|00002990| 73 20 20 20 2a 2f 0a 2f | 2a 20 61 6e 64 20 70 72 |s */./|* and pr|
|000029a0| 6f 76 69 64 69 6e 67 20 | 74 68 65 20 55 6e 69 78 |oviding |the Unix|
|000029b0| 20 6d 61 6b 65 66 69 6c | 65 73 2e 20 20 20 20 20 | makefil|es. |
|000029c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000029d0| 20 20 20 20 20 20 2a 2f | 0a 0a 23 69 66 20 64 65 | */|..#if de|
|000029e0| 66 69 6e 65 64 28 5f 5f | 53 54 44 43 5f 5f 29 20 |fined(__|STDC__) |
|000029f0| 26 26 20 21 64 65 66 69 | 6e 65 64 28 6d 69 6e 69 |&& !defi|ned(mini|
|00002a00| 78 29 0a 23 69 6e 63 6c | 75 64 65 20 3c 73 74 64 |x).#incl|ude <std|
|00002a10| 64 65 66 2e 68 3e 0a 23 | 69 6e 63 6c 75 64 65 20 |def.h>.#|include |
|00002a20| 3c 73 74 64 6c 69 62 2e | 68 3e 0a 23 65 6c 73 65 |<stdlib.|h>.#else|
|00002a30| 0a 23 64 65 66 69 6e 65 | 20 45 58 49 54 5f 53 55 |.#define| EXIT_SU|
|00002a40| 43 43 45 53 53 20 20 30 | 0a 23 64 65 66 69 6e 65 |CCESS 0|.#define|
|00002a50| 20 45 58 49 54 5f 46 41 | 49 4c 55 52 45 20 20 31 | EXIT_FA|ILURE 1|
|00002a60| 0a 65 78 74 65 72 6e 20 | 63 68 61 72 20 2a 6d 61 |.extern |char *ma|
|00002a70| 6c 6c 6f 63 28 29 3b 0a | 23 65 6e 64 69 66 0a 0a |lloc();.|#endif..|
|00002a80| 23 69 6e 63 6c 75 64 65 | 20 3c 73 74 64 69 6f 2e |#include| <stdio.|
|00002a90| 68 3e 0a 23 69 6e 63 6c | 75 64 65 20 3c 63 74 79 |h>.#incl|ude <cty|
|00002aa0| 70 65 2e 68 3e 0a 23 69 | 6e 63 6c 75 64 65 20 3c |pe.h>.#i|nclude <|
|00002ab0| 73 74 72 69 6e 67 2e 68 | 3e 0a 0a 2f 2a 23 64 65 |string.h|>../*#de|
|00002ac0| 66 69 6e 65 20 44 45 42 | 55 47 28 73 29 20 28 66 |fine DEB|UG(s) (f|
|00002ad0| 70 75 74 73 28 73 2c 20 | 73 74 64 65 72 72 29 29 |puts(s, |stderr))|
|00002ae0| 20 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 44 45 42 | */.#de|fine DEB|
|00002af0| 55 47 28 73 29 20 2f 2a | 20 2a 2f 0a 0a 23 64 65 |UG(s) /*| */..#de|
|00002b00| 66 69 6e 65 20 49 53 43 | 53 59 4d 28 78 29 20 28 |fine ISC|SYM(x) (|
|00002b10| 28 78 29 20 3e 20 30 20 | 26 26 20 28 69 73 61 6c |(x) > 0 |&& (isal|
|00002b20| 6e 75 6d 28 78 29 20 7c | 7c 20 28 78 29 20 3d 3d |num(x) ||| (x) ==|
|00002b30| 20 27 5f 27 29 29 0a 23 | 64 65 66 69 6e 65 20 41 | '_')).#|define A|
|00002b40| 42 4f 52 54 45 44 20 28 | 20 28 57 6f 72 64 20 2a |BORTED (| (Word *|
|00002b50| 29 20 2d 31 20 29 0a 23 | 64 65 66 69 6e 65 20 4d |) -1 ).#|define M|
|00002b60| 41 58 50 41 52 41 4d 20 | 32 30 20 20 20 20 20 20 |AXPARAM |20 |
|00002b70| 20 20 20 20 20 20 20 2f | 2a 20 6d 61 78 2e 20 6e | /|* max. n|
|00002b80| 75 6d 62 65 72 20 6f 66 | 20 70 61 72 61 6d 65 74 |umber of| paramet|
|00002b90| 65 72 73 20 74 6f 20 61 | 20 66 75 6e 63 74 69 6f |ers to a| functio|
|00002ba0| 6e 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 4e 45 57 |n */.#de|fine NEW|
|00002bb0| 42 55 46 53 49 5a 20 28 | 32 30 34 38 30 2a 73 69 |BUFSIZ (|20480*si|
|00002bc0| 7a 65 6f 66 28 63 68 61 | 72 29 29 20 2f 2a 20 6e |zeof(cha|r)) /* n|
|00002bd0| 65 77 20 62 75 66 66 65 | 72 20 73 69 7a 65 20 2a |ew buffe|r size *|
|00002be0| 2f 0a 0a 69 6e 74 20 69 | 6e 71 75 6f 74 65 20 3d |/..int i|nquote =|
|00002bf0| 20 30 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0; | |
|00002c00| 20 20 20 2f 2a 20 69 6e | 20 61 20 71 75 6f 74 65 | /* in| a quote|
|00002c10| 3f 3f 20 2a 2f 0a 69 6e | 74 20 6e 65 77 6c 69 6e |?? */.in|t newlin|
|00002c20| 65 5f 73 65 65 6e 20 3d | 20 31 3b 20 20 20 20 20 |e_seen =| 1; |
|00002c30| 20 20 20 20 20 20 2f 2a | 20 61 72 65 20 77 65 20 | /*| are we |
|00002c40| 61 74 20 74 68 65 20 73 | 74 61 72 74 20 6f 66 20 |at the s|tart of |
|00002c50| 61 20 6c 69 6e 65 20 2a | 2f 0a 6c 6f 6e 67 20 6c |a line *|/.long l|
|00002c60| 69 6e 65 6e 75 6d 20 20 | 3d 20 31 4c 3b 20 20 20 |inenum |= 1L; |
|00002c70| 20 20 20 20 20 20 20 20 | 20 20 2f 2a 20 6c 69 6e | | /* lin|
|00002c80| 65 20 6e 75 6d 62 65 72 | 20 69 6e 20 63 75 72 72 |e number| in curr|
|00002c90| 65 6e 74 20 66 69 6c 65 | 20 2a 2f 0a 69 6e 74 20 |ent file| */.int |
|00002ca0| 64 6f 73 74 61 74 69 63 | 20 3d 20 30 3b 20 20 20 |dostatic| = 0; |
|00002cb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2f 2a 20 64 | | /* d|
|00002cc0| 6f 20 73 74 61 74 69 63 | 20 66 75 6e 63 74 69 6f |o static| functio|
|00002cd0| 6e 73 3f 20 2a 2f 0a 69 | 6e 74 20 64 6f 6e 75 6d |ns? */.i|nt donum|
|00002ce0| 20 20 20 20 3d 20 30 3b | 20 20 20 20 20 20 20 20 | = 0;| |
|00002cf0| 20 20 20 20 20 20 20 2f | 2a 20 70 72 69 6e 74 20 | /|* print |
|00002d00| 6c 69 6e 65 20 6e 75 6d | 62 65 72 73 3f 20 2a 2f |line num|bers? */|
|00002d10| 0a 69 6e 74 20 64 6f 68 | 65 61 64 20 20 20 3d 20 |.int doh|ead = |
|00002d20| 31 3b 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |1; | |
|00002d30| 20 2f 2a 20 64 6f 20 66 | 69 6c 65 20 68 65 61 64 | /* do f|ile head|
|00002d40| 65 72 73 3f 20 2a 2f 0a | 69 6e 74 20 64 6f 63 6f |ers? */.|int doco|
|00002d50| 6e 64 20 20 20 3d 20 31 | 3b 20 20 20 20 20 20 20 |nd = 1|; |
|00002d60| 20 20 20 20 20 20 20 20 | 2f 2a 20 63 6f 6e 64 69 | |/* condi|
|00002d70| 74 69 6f 6e 61 6c 69 7a | 65 20 66 6f 72 20 6e 6f |tionaliz|e for no|
|00002d80| 6e 2d 41 4e 53 49 20 63 | 6f 6d 70 69 6c 65 72 73 |n-ANSI c|ompilers|
|00002d90| 3f 20 2a 2f 0a 69 6e 74 | 20 67 6c 61 73 74 63 20 |? */.int| glastc |
|00002da0| 20 20 3d 20 27 20 27 3b | 20 20 20 20 20 20 20 20 | = ' ';| |
|00002db0| 20 20 20 20 20 2f 2a 20 | 6c 61 73 74 20 63 68 61 | /* |last cha|
|00002dc0| 72 2e 20 73 65 65 6e 20 | 62 79 20 67 65 74 73 79 |r. seen |by getsy|
|00002dd0| 6d 28 29 20 2a 2f 0a 0a | 74 79 70 65 64 65 66 20 |m() */..|typedef |
|00002de0| 73 74 72 75 63 74 20 77 | 6f 72 64 20 7b 0a 20 20 |struct w|ord {. |
|00002df0| 20 20 20 20 20 20 73 74 | 72 75 63 74 20 77 6f 72 | st|ruct wor|
|00002e00| 64 20 2a 6e 65 78 74 3b | 0a 20 20 20 20 20 20 20 |d *next;|. |
|00002e10| 20 63 68 61 72 20 20 20 | 73 74 72 69 6e 67 5b 31 | char |string[1|
|00002e20| 5d 3b 0a 7d 20 57 6f 72 | 64 3b 0a 0a 23 69 6e 63 |];.} Wor|d;..#inc|
|00002e30| 6c 75 64 65 20 22 6d 6b | 70 72 6f 74 6f 2e 68 22 |lude "mk|proto.h"|
|00002e40| 0a 0a 2f 2a 0a 20 2a 20 | 52 6f 75 74 69 6e 65 73 |../*. * |Routines|
|00002e50| 20 66 6f 72 20 6d 61 6e | 69 70 75 6c 61 74 69 6e | for man|ipulatin|
|00002e60| 67 20 6c 69 73 74 73 20 | 6f 66 20 77 6f 72 64 73 |g lists |of words|
|00002e70| 2e 0a 20 2a 2f 0a 0a 57 | 6f 72 64 20 2a 77 6f 72 |.. */..W|ord *wor|
|00002e80| 64 5f 61 6c 6c 6f 63 28 | 73 29 0a 20 20 20 20 20 |d_alloc(|s). |
|00002e90| 20 20 20 63 68 61 72 20 | 2a 73 3b 0a 7b 0a 20 20 | char |*s;.{. |
|00002ea0| 20 20 20 20 20 20 57 6f | 72 64 20 2a 77 3b 0a 0a | Wo|rd *w;..|
|00002eb0| 20 20 20 20 20 20 20 20 | 77 20 3d 20 28 57 6f 72 | |w = (Wor|
|00002ec0| 64 20 2a 29 20 6d 61 6c | 6c 6f 63 28 73 69 7a 65 |d *) mal|loc(size|
|00002ed0| 6f 66 28 57 6f 72 64 29 | 20 2b 20 73 74 72 6c 65 |of(Word)| + strle|
|00002ee0| 6e 28 73 29 20 2b 20 31 | 29 3b 20 2f 2a 20 2b 2b |n(s) + 1|); /* ++|
|00002ef0| 6a 72 62 20 2a 2f 0a 20 | 20 20 20 20 20 20 20 73 |jrb */. | s|
|00002f00| 74 72 63 70 79 28 77 2d | 3e 73 74 72 69 6e 67 2c |trcpy(w-|>string,|
|00002f10| 20 73 29 3b 0a 20 20 20 | 20 20 20 20 20 77 2d 3e | s);. | w->|
|00002f20| 6e 65 78 74 20 3d 20 4e | 55 4c 4c 3b 0a 20 20 20 |next = N|ULL;. |
|00002f30| 20 20 20 20 20 72 65 74 | 75 72 6e 20 77 3b 0a 7d | ret|urn w;.}|
|00002f40| 0a 0a 76 6f 69 64 20 77 | 6f 72 64 5f 66 72 65 65 |..void w|ord_free|
|00002f50| 28 77 29 0a 20 20 20 20 | 20 20 20 20 57 6f 72 64 |(w). | Word|
|00002f60| 20 2a 77 3b 0a 7b 0a 20 | 20 20 20 20 20 20 20 57 | *w;.{. | W|
|00002f70| 6f 72 64 20 2a 6f 6c 64 | 77 3b 0a 20 20 20 20 20 |ord *old|w;. |
|00002f80| 20 20 20 77 68 69 6c 65 | 20 28 77 29 20 7b 0a 20 | while| (w) {. |
|00002f90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 6f | | o|
|00002fa0| 6c 64 77 20 3d 20 77 3b | 0a 20 20 20 20 20 20 20 |ldw = w;|. |
|00002fb0| 20 20 20 20 20 20 20 20 | 20 77 20 3d 20 77 2d 3e | | w = w->|
|00002fc0| 6e 65 78 74 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |next;. | |
|00002fd0| 20 20 20 20 20 20 66 72 | 65 65 28 6f 6c 64 77 29 | fr|ee(oldw)|
|00002fe0| 3b 0a 20 20 20 20 20 20 | 20 20 7d 0a 7d 0a 0a 2f |;. | }.}../|
|00002ff0| 2a 20 72 65 74 75 72 6e | 20 74 68 65 20 6c 65 6e |* return| the len|
|00003000| 67 74 68 20 6f 66 20 61 | 20 6c 69 73 74 3b 20 65 |gth of a| list; e|
|00003010| 6d 70 74 79 20 77 6f 72 | 64 73 20 61 72 65 20 6e |mpty wor|ds are n|
|00003020| 6f 74 20 63 6f 75 6e 74 | 65 64 20 2a 2f 0a 69 6e |ot count|ed */.in|
|00003030| 74 0a 4c 69 73 74 5f 6c | 65 6e 28 77 29 0a 20 20 |t.List_l|en(w). |
|00003040| 20 20 20 20 20 20 57 6f | 72 64 20 2a 77 3b 0a 7b | Wo|rd *w;.{|
|00003050| 0a 20 20 20 20 20 20 20 | 20 69 6e 74 20 63 6f 75 |. | int cou|
|00003060| 6e 74 20 3d 20 30 3b 0a | 0a 20 20 20 20 20 20 20 |nt = 0;.|. |
|00003070| 20 77 68 69 6c 65 20 28 | 77 29 20 7b 0a 20 20 20 | while (|w) {. |
|00003080| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 69 66 20 | | if |
|00003090| 28 2a 77 2d 3e 73 74 72 | 69 6e 67 29 20 63 6f 75 |(*w->str|ing) cou|
|000030a0| 6e 74 2b 2b 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |nt++;. | |
|000030b0| 20 20 20 20 20 20 77 20 | 3d 20 77 2d 3e 6e 65 78 | w |= w->nex|
|000030c0| 74 3b 0a 20 20 20 20 20 | 20 20 20 7d 0a 20 20 20 |t;. | }. |
|000030d0| 20 20 20 20 20 72 65 74 | 75 72 6e 20 63 6f 75 6e | ret|urn coun|
|000030e0| 74 3b 0a 7d 0a 0a 2f 2a | 20 41 70 70 65 6e 64 20 |t;.}../*| Append |
|000030f0| 74 77 6f 20 6c 69 73 74 | 73 2c 20 61 6e 64 20 72 |two list|s, and r|
|00003100| 65 74 75 72 6e 20 74 68 | 65 20 72 65 73 75 6c 74 |eturn th|e result|
|00003110| 20 2a 2f 0a 0a 57 6f 72 | 64 20 2a 77 6f 72 64 5f | */..Wor|d *word_|
|00003120| 61 70 70 65 6e 64 28 77 | 31 2c 20 77 32 29 0a 20 |append(w|1, w2). |
|00003130| 20 20 20 20 20 20 20 57 | 6f 72 64 20 2a 77 31 2c | W|ord *w1,|
|00003140| 20 2a 77 32 3b 0a 7b 0a | 20 20 20 20 20 20 20 20 | *w2;.{.| |
|00003150| 57 6f 72 64 20 2a 72 2c | 20 2a 77 3b 0a 0a 20 20 |Word *r,| *w;.. |
|00003160| 20 20 20 20 20 20 72 20 | 3d 20 77 20 3d 20 77 6f | r |= w = wo|
|00003170| 72 64 5f 61 6c 6c 6f 63 | 28 22 22 29 3b 0a 0a 20 |rd_alloc|("");.. |
|00003180| 20 20 20 20 20 20 20 77 | 68 69 6c 65 20 28 77 31 | w|hile (w1|
|00003190| 29 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |) {. | |
|000031a0| 20 20 20 20 77 2d 3e 6e | 65 78 74 20 3d 20 77 6f | w->n|ext = wo|
|000031b0| 72 64 5f 61 6c 6c 6f 63 | 28 77 31 2d 3e 73 74 72 |rd_alloc|(w1->str|
|000031c0| 69 6e 67 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |ing);. | |
|000031d0| 20 20 20 20 20 20 77 20 | 3d 20 77 2d 3e 6e 65 78 | w |= w->nex|
|000031e0| 74 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |t;. | |
|000031f0| 20 20 20 77 31 20 3d 20 | 77 31 2d 3e 6e 65 78 74 | w1 = |w1->next|
|00003200| 3b 0a 20 20 20 20 20 20 | 20 20 7d 0a 20 20 20 20 |;. | }. |
|00003210| 20 20 20 20 77 68 69 6c | 65 20 28 77 32 29 20 7b | whil|e (w2) {|
|00003220| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00003230| 20 77 2d 3e 6e 65 78 74 | 20 3d 20 77 6f 72 64 5f | w->next| = word_|
|00003240| 61 6c 6c 6f 63 28 77 32 | 2d 3e 73 74 72 69 6e 67 |alloc(w2|->string|
|00003250| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |);. | |
|00003260| 20 20 20 77 20 3d 20 77 | 2d 3e 6e 65 78 74 3b 0a | w = w|->next;.|
|00003270| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003280| 77 32 20 3d 20 77 32 2d | 3e 6e 65 78 74 3b 0a 20 |w2 = w2-|>next;. |
|00003290| 20 20 20 20 20 20 20 7d | 0a 0a 20 20 20 20 20 20 | }|.. |
|000032a0| 20 20 72 65 74 75 72 6e | 20 72 3b 0a 7d 0a 20 20 | return| r;.}. |
|000032b0| 20 20 20 20 20 20 0a 2f | 2a 20 73 65 65 20 69 66 | ./|* see if|
|000032c0| 20 74 68 65 20 6c 61 73 | 74 20 65 6e 74 72 79 20 | the las|t entry |
|000032d0| 69 6e 20 77 32 20 69 73 | 20 69 6e 20 77 31 20 2a |in w2 is| in w1 *|
|000032e0| 2f 0a 0a 69 6e 74 0a 66 | 6f 75 6e 64 69 6e 28 77 |/..int.f|oundin(w|
|000032f0| 31 2c 20 77 32 29 0a 20 | 20 20 20 20 20 20 20 57 |1, w2). | W|
|00003300| 6f 72 64 20 2a 77 31 2c | 20 2a 77 32 3b 0a 7b 0a |ord *w1,| *w2;.{.|
|00003310| 20 20 20 20 20 20 20 20 | 77 68 69 6c 65 20 28 77 | |while (w|
|00003320| 32 2d 3e 6e 65 78 74 29 | 0a 20 20 20 20 20 20 20 |2->next)|. |
|00003330| 20 20 20 20 20 20 20 20 | 20 77 32 20 3d 20 77 32 | | w2 = w2|
|00003340| 2d 3e 6e 65 78 74 3b 0a | 0a 20 20 20 20 20 20 20 |->next;.|. |
|00003350| 20 77 68 69 6c 65 20 28 | 77 31 29 20 7b 0a 20 20 | while (|w1) {. |
|00003360| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 69 66 | | if|
|00003370| 20 28 21 73 74 72 63 6d | 70 28 77 31 2d 3e 73 74 | (!strcm|p(w1->st|
|00003380| 72 69 6e 67 2c 20 77 32 | 2d 3e 73 74 72 69 6e 67 |ring, w2|->string|
|00003390| 29 29 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |)). | |
|000033a0| 20 20 20 20 20 20 20 20 | 20 20 20 72 65 74 75 72 | | retur|
|000033b0| 6e 20 31 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |n 1;. | |
|000033c0| 20 20 20 20 20 77 31 20 | 3d 20 77 31 2d 3e 6e 65 | w1 |= w1->ne|
|000033d0| 78 74 3b 0a 20 20 20 20 | 20 20 20 20 7d 0a 20 20 |xt;. | }. |
|000033e0| 20 20 20 20 20 20 72 65 | 74 75 72 6e 20 30 3b 0a | re|turn 0;.|
|000033f0| 7d 0a 0a 2f 2a 20 61 64 | 64 20 74 68 65 20 73 74 |}../* ad|d the st|
|00003400| 72 69 6e 67 20 73 20 74 | 6f 20 74 68 65 20 67 69 |ring s t|o the gi|
|00003410| 76 65 6e 20 6c 69 73 74 | 20 6f 66 20 77 6f 72 64 |ven list| of word|
|00003420| 73 20 2a 2f 0a 0a 76 6f | 69 64 20 61 64 64 77 6f |s */..vo|id addwo|
|00003430| 72 64 28 77 2c 20 73 29 | 0a 20 20 20 20 20 20 20 |rd(w, s)|. |
|00003440| 20 57 6f 72 64 20 2a 77 | 3b 20 63 68 61 72 20 2a | Word *w|; char *|
|00003450| 73 3b 0a 7b 0a 20 20 20 | 20 20 20 20 20 77 68 69 |s;.{. | whi|
|00003460| 6c 65 20 28 77 2d 3e 6e | 65 78 74 29 20 77 20 3d |le (w->n|ext) w =|
|00003470| 20 77 2d 3e 6e 65 78 74 | 3b 0a 20 20 20 20 20 20 | w->next|;. |
|00003480| 20 20 77 2d 3e 6e 65 78 | 74 20 3d 20 77 6f 72 64 | w->nex|t = word|
|00003490| 5f 61 6c 6c 6f 63 28 73 | 29 3b 0a 7d 0a 0a 2f 2a |_alloc(s|);.}../*|
|000034a0| 20 67 69 76 65 6e 20 61 | 20 6c 69 73 74 20 72 65 | given a| list re|
|000034b0| 70 72 65 73 65 6e 74 69 | 6e 67 20 61 20 74 79 70 |presenti|ng a typ|
|000034c0| 65 20 61 6e 64 20 61 20 | 76 61 72 69 61 62 6c 65 |e and a |variable|
|000034d0| 20 6e 61 6d 65 2c 20 65 | 78 74 72 61 63 74 20 6a | name, e|xtract j|
|000034e0| 75 73 74 0a 20 2a 20 74 | 68 65 20 62 61 73 65 20 |ust. * t|he base |
|000034f0| 74 79 70 65 2c 20 65 2e | 67 2e 20 22 73 74 72 75 |type, e.|g. "stru|
|00003500| 63 74 20 77 6f 72 64 20 | 2a 78 22 20 77 6f 75 6c |ct word |*x" woul|
|00003510| 64 20 79 69 65 6c 64 20 | 22 73 74 72 75 63 74 20 |d yield |"struct |
|00003520| 77 6f 72 64 22 0a 20 2a | 2f 0a 0a 57 6f 72 64 20 |word". *|/..Word |
|00003530| 2a 74 79 70 65 6c 69 73 | 74 28 70 29 0a 20 20 20 |*typelis|t(p). |
|00003540| 20 20 20 20 20 57 6f 72 | 64 20 2a 70 3b 0a 7b 0a | Wor|d *p;.{.|
|00003550| 20 20 20 20 20 20 20 20 | 57 6f 72 64 20 2a 77 2c | |Word *w,|
|00003560| 20 2a 72 3b 0a 0a 20 20 | 20 20 20 20 20 20 72 20 | *r;.. | r |
|00003570| 3d 20 77 20 3d 20 77 6f | 72 64 5f 61 6c 6c 6f 63 |= w = wo|rd_alloc|
|00003580| 28 22 22 29 3b 0a 20 20 | 20 20 20 20 20 20 77 68 |("");. | wh|
|00003590| 69 6c 65 20 28 70 20 26 | 26 20 70 2d 3e 6e 65 78 |ile (p &|& p->nex|
|000035a0| 74 29 20 7b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |t) {. | |
|000035b0| 20 20 20 20 20 69 66 20 | 28 70 2d 3e 73 74 72 69 | if |(p->stri|
|000035c0| 6e 67 5b 30 5d 20 26 26 | 20 21 49 53 43 53 59 4d |ng[0] &&| !ISCSYM|
|000035d0| 28 70 2d 3e 73 74 72 69 | 6e 67 5b 30 5d 29 29 0a |(p->stri|ng[0])).|
|000035e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000035f0| 20 20 20 20 20 20 20 20 | 62 72 65 61 6b 3b 0a 20 | |break;. |
|00003600| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 77 | | w|
|00003610| 2d 3e 6e 65 78 74 20 3d | 20 77 6f 72 64 5f 61 6c |->next =| word_al|
|00003620| 6c 6f 63 28 70 2d 3e 73 | 74 72 69 6e 67 29 3b 0a |loc(p->s|tring);.|
|00003630| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003640| 77 20 3d 20 77 2d 3e 6e | 65 78 74 3b 0a 20 20 20 |w = w->n|ext;. |
|00003650| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 70 20 3d | | p =|
|00003660| 20 70 2d 3e 6e 65 78 74 | 3b 0a 20 20 20 20 20 20 | p->next|;. |
|00003670| 20 20 7d 0a 20 20 20 20 | 20 20 20 20 72 65 74 75 | }. | retu|
|00003680| 72 6e 20 72 3b 0a 7d 0a | 0a 2f 2a 20 74 79 70 65 |rn r;.}.|./* type|
|00003690| 66 69 78 68 61 63 6b 3a | 20 70 72 6f 6d 6f 74 65 |fixhack:| promote|
|000036a0| 20 66 6f 72 6d 61 6c 20 | 70 61 72 61 6d 65 74 65 | formal |paramete|
|000036b0| 72 73 20 6f 66 20 74 79 | 70 65 20 22 63 68 61 72 |rs of ty|pe "char|
|000036c0| 22 2c 20 22 75 6e 73 69 | 67 6e 65 64 20 63 68 61 |", "unsi|gned cha|
|000036d0| 72 22 2c 0a 20 20 20 22 | 73 68 6f 72 74 22 2c 20 |r",. "|short", |
|000036e0| 6f 72 20 22 75 6e 73 69 | 67 6e 65 64 20 73 68 6f |or "unsi|gned sho|
|000036f0| 72 74 22 20 74 6f 20 22 | 69 6e 74 22 2e 0a 2a 2f |rt" to "|int"..*/|
|00003700| 0a 0a 76 6f 69 64 20 74 | 79 70 65 66 69 78 68 61 |..void t|ypefixha|
|00003710| 63 6b 28 77 29 0a 20 20 | 20 20 20 20 20 20 57 6f |ck(w). | Wo|
|00003720| 72 64 20 2a 77 3b 0a 7b | 0a 20 20 20 20 20 20 20 |rd *w;.{|. |
|00003730| 20 57 6f 72 64 20 2a 6f | 6c 64 77 20 3d 20 30 3b | Word *o|ldw = 0;|
|00003740| 0a 0a 20 20 20 20 20 20 | 20 20 77 68 69 6c 65 20 |.. | while |
|00003750| 28 77 29 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 |(w) {. | |
|00003760| 20 20 20 20 20 20 69 66 | 20 28 2a 77 2d 3e 73 74 | if| (*w->st|
|00003770| 72 69 6e 67 29 20 7b 0a | 20 20 20 20 20 20 20 20 |ring) {.| |
|00003780| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003790| 69 66 20 28 20 28 21 73 | 74 72 63 6d 70 28 77 2d |if ( (!s|trcmp(w-|
|000037a0| 3e 73 74 72 69 6e 67 2c | 20 22 63 68 61 72 22 29 |>string,| "char")|
|000037b0| 20 7c 7c 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | ||. | |
|000037c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000037d0| 20 20 21 73 74 72 63 6d | 70 28 77 2d 3e 73 74 72 | !strcm|p(w->str|
|000037e0| 69 6e 67 2c 20 22 73 68 | 6f 72 74 22 29 20 29 0a |ing, "sh|ort") ).|
|000037f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003800| 20 20 20 20 20 20 20 20 | 20 20 20 20 26 26 20 28 | | && (|
|00003810| 4c 69 73 74 5f 6c 65 6e | 28 77 2d 3e 6e 65 78 74 |List_len|(w->next|
|00003820| 29 20 3c 20 32 29 20 29 | 0a 20 20 20 20 20 20 20 |) < 2) )|. |
|00003830| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003840| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00003850| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003860| 20 20 20 69 66 20 28 6f | 6c 64 77 20 26 26 20 21 | if (o|ldw && !|
|00003870| 73 74 72 63 6d 70 28 6f | 6c 64 77 2d 3e 73 74 72 |strcmp(o|ldw->str|
|00003880| 69 6e 67 2c 20 22 75 6e | 73 69 67 6e 65 64 22 29 |ing, "un|signed")|
|00003890| 29 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |) {. | |
|000038a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000038b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 6f 6c 64 77 | | oldw|
|000038c0| 2d 3e 6e 65 78 74 20 3d | 20 77 2d 3e 6e 65 78 74 |->next =| w->next|
|000038d0| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|000038e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000038f0| 20 20 20 20 20 20 20 20 | 20 20 66 72 65 65 28 77 | | free(w|
|00003900| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |);. | |
|00003910| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003920| 20 20 20 20 20 20 20 20 | 20 20 20 77 20 3d 20 6f | | w = o|
|00003930| 6c 64 77 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |ldw;. | |
|00003940| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003950| 20 20 20 20 20 7d 0a 20 | 20 20 20 20 20 20 20 20 | }. | |
|00003960| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003970| 20 20 20 20 20 20 20 73 | 74 72 63 70 79 28 77 2d | s|trcpy(w-|
|00003980| 3e 73 74 72 69 6e 67 2c | 20 22 69 6e 74 22 29 3b |>string,| "int");|
|00003990| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000039a0| 20 20 20 20 20 20 20 20 | 20 7d 0a 20 20 20 20 20 | | }. |
|000039b0| 20 20 20 20 20 20 20 20 | 20 20 20 7d 0a 20 20 20 | | }. |
|000039c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 77 20 3d | | w =|
|000039d0| 20 77 2d 3e 6e 65 78 74 | 3b 0a 20 20 20 20 20 20 | w->next|;. |
|000039e0| 20 20 7d 0a 7d 0a 0a 2f | 2a 20 72 65 61 64 20 61 | }.}../|* read a|
|000039f0| 20 63 68 61 72 61 63 74 | 65 72 3a 20 69 66 20 69 | charact|er: if i|
|00003a00| 74 27 73 20 61 20 6e 65 | 77 6c 69 6e 65 2c 20 69 |t's a ne|wline, i|
|00003a10| 6e 63 72 65 6d 65 6e 74 | 20 74 68 65 20 6c 69 6e |ncrement| the lin|
|00003a20| 65 20 63 6f 75 6e 74 20 | 2a 2f 0a 0a 23 69 66 64 |e count |*/..#ifd|
|00003a30| 65 66 20 5f 5f 47 4e 55 | 43 5f 5f 20 2f 2a 20 2b |ef __GNU|C__ /* +|
|00003a40| 2b 6a 72 62 20 2a 2f 0a | 69 6e 6c 69 6e 65 0a 23 |+jrb */.|inline.#|
|00003a50| 65 6e 64 69 66 0a 69 6e | 74 20 6e 67 65 74 63 28 |endif.in|t ngetc(|
|00003a60| 66 29 0a 20 20 20 20 20 | 20 20 20 46 49 4c 45 20 |f). | FILE |
|00003a70| 2a 66 3b 0a 7b 0a 20 20 | 20 20 20 20 20 20 69 6e |*f;.{. | in|
|00003a80| 74 20 63 3b 0a 0a 20 20 | 20 20 20 20 20 20 63 20 |t c;.. | c |
|00003a90| 3d 20 67 65 74 63 28 66 | 29 3b 0a 20 20 20 20 20 |= getc(f|);. |
|00003aa0| 20 20 20 69 66 20 28 63 | 20 3d 3d 20 27 5c 6e 27 | if (c| == '\n'|
|00003ab0| 29 20 6c 69 6e 65 6e 75 | 6d 2b 2b 3b 0a 0a 20 20 |) linenu|m++;.. |
|00003ac0| 20 20 20 20 20 20 72 65 | 74 75 72 6e 20 63 3b 0a | re|turn c;.|
|00003ad0| 7d 0a 0a 2f 2a 20 72 65 | 61 64 20 74 68 65 20 6e |}../* re|ad the n|
|00003ae0| 65 78 74 20 63 68 61 72 | 61 63 74 65 72 20 66 72 |ext char|acter fr|
|00003af0| 6f 6d 20 74 68 65 20 66 | 69 6c 65 2e 20 49 66 20 |om the f|ile. If |
|00003b00| 74 68 65 20 63 68 61 72 | 61 63 74 65 72 20 69 73 |the char|acter is|
|00003b10| 20 27 5c 27 20 74 68 65 | 6e 0a 20 2a 20 72 65 61 | '\' the|n. * rea|
|00003b20| 64 20 61 6e 64 20 73 6b | 69 70 20 74 68 65 20 6e |d and sk|ip the n|
|00003b30| 65 78 74 20 63 68 61 72 | 61 63 74 65 72 2e 20 41 |ext char|acter. A|
|00003b40| 6e 79 20 63 6f 6d 6d 65 | 6e 74 20 73 65 71 75 65 |ny comme|nt seque|
|00003b50| 6e 63 65 20 69 73 20 63 | 6f 6e 76 65 72 74 65 64 |nce is c|onverted|
|00003b60| 0a 20 2a 20 74 6f 20 61 | 20 62 6c 61 6e 6b 2e 0a |. * to a| blank..|
|00003b70| 20 2a 2f 0a 0a 69 6e 74 | 20 66 6e 65 78 74 63 68 | */..int| fnextch|
|00003b80| 28 66 29 0a 20 20 20 20 | 20 20 20 20 46 49 4c 45 |(f). | FILE|
|00003b90| 20 2a 66 3b 0a 7b 0a 20 | 20 20 20 20 20 20 20 69 | *f;.{. | i|
|00003ba0| 6e 74 20 63 2c 20 6c 61 | 73 74 63 2c 20 69 6e 63 |nt c, la|stc, inc|
|00003bb0| 6f 6d 6d 65 6e 74 3b 0a | 0a 20 20 20 20 20 20 20 |omment;.|. |
|00003bc0| 20 63 20 3d 20 6e 67 65 | 74 63 28 66 29 3b 0a 20 | c = nge|tc(f);. |
|00003bd0| 20 20 20 20 20 20 20 77 | 68 69 6c 65 20 28 63 20 | w|hile (c |
|00003be0| 3d 3d 20 27 5c 5c 27 29 | 20 7b 0a 44 45 42 55 47 |== '\\')| {.DEBUG|
|00003bf0| 28 22 66 6e 65 78 74 63 | 68 3a 20 69 6e 20 62 61 |("fnextc|h: in ba|
|00003c00| 63 6b 73 6c 61 73 68 20 | 6c 6f 6f 70 5c 6e 22 29 |ckslash |loop\n")|
|00003c10| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|00003c20| 20 20 63 20 3d 20 6e 67 | 65 74 63 28 66 29 3b 20 | c = ng|etc(f); |
|00003c30| 20 20 2f 2a 20 73 6b 69 | 70 20 61 20 63 68 61 72 | /* ski|p a char|
|00003c40| 61 63 74 65 72 20 2a 2f | 0a 20 20 20 20 20 20 20 |acter */|. |
|00003c50| 20 20 20 20 20 20 20 20 | 20 63 20 3d 20 6e 67 65 | | c = nge|
|00003c60| 74 63 28 66 29 3b 0a 20 | 20 20 20 20 20 20 20 7d |tc(f);. | }|
|00003c70| 0a 20 20 20 20 20 20 20 | 20 69 66 20 28 63 20 3d |. | if (c =|
|00003c80| 3d 20 27 2f 27 20 26 26 | 20 21 69 6e 71 75 6f 74 |= '/' &&| !inquot|
|00003c90| 65 29 20 7b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |e) {. | |
|00003ca0| 20 20 20 20 20 63 20 3d | 20 6e 67 65 74 63 28 66 | c =| ngetc(f|
|00003cb0| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |);. | |
|00003cc0| 20 20 20 69 66 20 28 63 | 20 3d 3d 20 27 2a 27 29 | if (c| == '*')|
|00003cd0| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00003ce0| 20 20 20 20 20 20 20 20 | 20 20 20 69 6e 63 6f 6d | | incom|
|00003cf0| 6d 65 6e 74 20 3d 20 31 | 3b 0a 20 20 20 20 20 20 |ment = 1|;. |
|00003d00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003d10| 20 20 63 20 3d 20 27 20 | 27 3b 0a 44 45 42 55 47 | c = ' |';.DEBUG|
|00003d20| 28 22 66 6e 65 78 74 63 | 68 3a 20 63 6f 6d 6d 65 |("fnextc|h: comme|
|00003d30| 6e 74 20 73 65 65 6e 5c | 6e 22 29 3b 0a 20 20 20 |nt seen\|n");. |
|00003d40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003d50| 20 20 20 20 20 77 68 69 | 6c 65 20 28 69 6e 63 6f | whi|le (inco|
|00003d60| 6d 6d 65 6e 74 29 20 7b | 0a 20 20 20 20 20 20 20 |mment) {|. |
|00003d70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003d80| 20 20 20 20 20 20 20 20 | 20 6c 61 73 74 63 20 3d | | lastc =|
|00003d90| 20 63 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | c;. | |
|00003da0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003db0| 20 20 20 20 63 20 3d 20 | 6e 67 65 74 63 28 66 29 | c = |ngetc(f)|
|00003dc0| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|00003dd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003de0| 20 20 69 66 20 28 6c 61 | 73 74 63 20 3d 3d 20 27 | if (la|stc == '|
|00003df0| 2a 27 20 26 26 20 63 20 | 3d 3d 20 27 2f 27 29 0a |*' && c |== '/').|
|00003e00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003e10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003e20| 20 20 20 20 20 20 20 20 | 69 6e 63 6f 6d 6d 65 6e | |incommen|
|00003e30| 74 20 3d 20 30 3b 0a 20 | 20 20 20 20 20 20 20 20 |t = 0;. | |
|00003e40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003e50| 20 20 20 20 20 20 20 65 | 6c 73 65 20 69 66 20 28 | e|lse if (|
|00003e60| 63 20 3c 20 30 29 0a 20 | 20 20 20 20 20 20 20 20 |c < 0). | |
|00003e70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003e80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 72 | | r|
|00003e90| 65 74 75 72 6e 20 63 3b | 0a 20 20 20 20 20 20 20 |eturn c;|. |
|00003ea0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003eb0| 20 7d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | }. | |
|00003ec0| 20 20 20 20 20 20 20 20 | 20 20 20 72 65 74 75 72 | | retur|
|00003ed0| 6e 20 66 6e 65 78 74 63 | 68 28 66 29 3b 0a 20 20 |n fnextc|h(f);. |
|00003ee0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 7d 0a | | }.|
|00003ef0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003f00| 65 6c 73 65 20 7b 0a 20 | 20 20 20 20 20 20 20 20 |else {. | |
|00003f10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 69 | | i|
|00003f20| 66 20 28 63 20 3d 3d 20 | 27 5c 6e 27 29 20 6c 69 |f (c == |'\n') li|
|00003f30| 6e 65 6e 75 6d 2d 2d 3b | 0a 20 20 20 20 20 20 20 |nenum--;|. |
|00003f40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003f50| 20 75 6e 67 65 74 63 28 | 63 2c 20 66 29 3b 0a 20 | ungetc(|c, f);. |
|00003f60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003f70| 20 20 20 20 20 20 20 72 | 65 74 75 72 6e 20 27 2f | r|eturn '/|
|00003f80| 27 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |';. | |
|00003f90| 20 20 20 7d 0a 20 20 20 | 20 20 20 20 20 7d 0a 20 | }. | }. |
|00003fa0| 20 20 20 20 20 20 20 72 | 65 74 75 72 6e 20 63 3b | r|eturn c;|
|00003fb0| 0a 7d 0a 0a 0a 2f 2a 20 | 47 65 74 20 74 68 65 20 |.}.../* |Get the |
|00003fc0| 6e 65 78 74 20 22 69 6e | 74 65 72 65 73 74 69 6e |next "in|terestin|
|00003fd0| 67 22 20 63 68 61 72 61 | 63 74 65 72 2e 20 43 6f |g" chara|cter. Co|
|00003fe0| 6d 6d 65 6e 74 73 20 61 | 72 65 20 73 6b 69 70 70 |mments a|re skipp|
|00003ff0| 65 64 2c 20 61 6e 64 20 | 73 74 72 69 6e 67 73 0a |ed, and |strings.|
|00004000| 20 2a 20 61 72 65 20 63 | 6f 6e 76 65 72 74 65 64 | * are c|onverted|
|00004010| 20 74 6f 20 22 30 22 2e | 20 41 6c 73 6f 2c 20 69 | to "0".| Also, i|
|00004020| 66 20 61 20 6c 69 6e 65 | 20 73 74 61 72 74 73 20 |f a line| starts |
|00004030| 77 69 74 68 20 22 23 22 | 20 69 74 20 69 73 20 73 |with "#"| it is s|
|00004040| 6b 69 70 70 65 64 2e 0a | 20 2a 2f 0a 0a 69 6e 74 |kipped..| */..int|
|00004050| 20 6e 65 78 74 63 68 28 | 66 29 0a 20 20 20 20 20 | nextch(|f). |
|00004060| 20 20 20 46 49 4c 45 20 | 2a 66 3b 0a 7b 0a 20 20 | FILE |*f;.{. |
|00004070| 20 20 20 20 20 20 69 6e | 74 20 63 3b 0a 0a 20 20 | in|t c;.. |
|00004080| 20 20 20 20 20 20 63 20 | 3d 20 66 6e 65 78 74 63 | c |= fnextc|
|00004090| 68 28 66 29 3b 0a 20 20 | 20 20 20 20 20 20 69 66 |h(f);. | if|
|000040a0| 20 28 6e 65 77 6c 69 6e | 65 5f 73 65 65 6e 20 26 | (newlin|e_seen &|
|000040b0| 26 20 63 20 3d 3d 20 27 | 23 27 29 20 7b 0a 20 20 |& c == '|#') {. |
|000040c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 64 6f | | do|
|000040d0| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|000040e0| 20 20 20 20 20 20 20 20 | 20 20 20 63 20 3d 20 66 | | c = f|
|000040f0| 6e 65 78 74 63 68 28 66 | 29 3b 0a 20 20 20 20 20 |nextch(f|);. |
|00004100| 20 20 20 20 20 20 20 20 | 20 20 20 7d 20 77 68 69 | | } whi|
|00004110| 6c 65 20 28 63 20 3e 3d | 20 30 20 26 26 20 63 20 |le (c >=| 0 && c |
|00004120| 21 3d 20 27 5c 6e 27 29 | 3b 0a 20 20 20 20 20 20 |!= '\n')|;. |
|00004130| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 28 63 20 | | if (c |
|00004140| 3c 20 30 29 0a 20 20 20 | 20 20 20 20 20 20 20 20 |< 0). | |
|00004150| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 72 65 74 | | ret|
|00004160| 75 72 6e 20 63 3b 0a 20 | 20 20 20 20 20 20 20 7d |urn c;. | }|
|00004170| 0a 20 20 20 20 20 20 20 | 20 6e 65 77 6c 69 6e 65 |. | newline|
|00004180| 5f 73 65 65 6e 20 3d 20 | 28 63 20 3d 3d 20 27 5c |_seen = |(c == '\|
|00004190| 6e 27 29 3b 0a 0a 20 20 | 20 20 20 20 20 20 69 66 |n');.. | if|
|000041a0| 20 28 63 20 3d 3d 20 27 | 5c 27 27 20 7c 7c 20 63 | (c == '|\'' || c|
|000041b0| 20 3d 3d 20 27 5c 22 27 | 29 20 7b 0a 44 45 42 55 | == '\"'|) {.DEBU|
|000041c0| 47 28 22 6e 65 78 74 63 | 68 3a 20 69 6e 20 61 20 |G("nextc|h: in a |
|000041d0| 71 75 6f 74 65 5c 6e 22 | 29 3b 0a 20 20 20 20 20 |quote\n"|);. |
|000041e0| 20 20 20 20 20 20 20 20 | 20 20 20 69 6e 71 75 6f | | inquo|
|000041f0| 74 65 20 3d 20 63 3b 0a | 20 20 20 20 20 20 20 20 |te = c;.| |
|00004200| 20 20 20 20 20 20 20 20 | 77 68 69 6c 65 20 28 20 | |while ( |
|00004210| 28 63 20 3d 20 66 6e 65 | 78 74 63 68 28 66 29 29 |(c = fne|xtch(f))|
|00004220| 20 3e 3d 20 30 20 29 20 | 7b 0a 20 20 20 20 20 20 | >= 0 ) |{. |
|00004230| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004240| 20 20 69 66 20 28 63 20 | 3d 3d 20 69 6e 71 75 6f | if (c |== inquo|
|00004250| 74 65 29 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 |te) {. | |
|00004260| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004270| 20 20 20 20 20 20 69 6e | 71 75 6f 74 65 20 3d 20 | in|quote = |
|00004280| 30 3b 0a 44 45 42 55 47 | 28 22 6e 65 78 74 63 68 |0;.DEBUG|("nextch|
|00004290| 3a 20 6f 75 74 20 6f 66 | 20 71 75 6f 74 65 5c 6e |: out of| quote\n|
|000042a0| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |");. | |
|000042b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000042c0| 20 20 20 20 72 65 74 75 | 72 6e 20 27 30 27 3b 0a | retu|rn '0';.|
|000042d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000042e0| 20 20 20 20 20 20 20 20 | 7d 0a 20 20 20 20 20 20 | |}. |
|000042f0| 20 20 20 20 20 20 20 20 | 20 20 7d 0a 44 45 42 55 | | }.DEBU|
|00004300| 47 28 22 6e 65 78 74 63 | 68 3a 20 45 4f 46 20 69 |G("nextc|h: EOF i|
|00004310| 6e 20 61 20 71 75 6f 74 | 65 5c 6e 22 29 3b 0a 20 |n a quot|e\n");. |
|00004320| 20 20 20 20 20 20 20 7d | 0a 20 20 20 20 20 20 20 | }|. |
|00004330| 20 72 65 74 75 72 6e 20 | 63 3b 0a 7d 0a 0a 2f 2a | return |c;.}../*|
|00004340| 0a 20 2a 20 47 65 74 20 | 74 68 65 20 6e 65 78 74 |. * Get |the next|
|00004350| 20 73 79 6d 62 6f 6c 20 | 66 72 6f 6d 20 74 68 65 | symbol |from the|
|00004360| 20 66 69 6c 65 2c 20 73 | 6b 69 70 70 69 6e 67 20 | file, s|kipping |
|00004370| 62 6c 61 6e 6b 73 2e 0a | 20 2a 20 52 65 74 75 72 |blanks..| * Retur|
|00004380| 6e 20 30 20 69 66 20 4f | 4b 2c 20 2d 31 20 66 6f |n 0 if O|K, -1 fo|
|00004390| 72 20 45 4f 46 2e 0a 20 | 2a 20 41 6c 73 6f 20 63 |r EOF.. |* Also c|
|000043a0| 6f 6c 6c 61 70 73 65 73 | 20 65 76 65 72 79 74 68 |ollapses| everyth|
|000043b0| 69 6e 67 20 62 65 74 77 | 65 65 6e 20 7b 20 61 6e |ing betw|een { an|
|000043c0| 64 20 7d 0a 20 2a 2f 0a | 0a 69 6e 74 0a 67 65 74 |d }. */.|.int.get|
|000043d0| 73 79 6d 28 62 75 66 2c | 20 66 29 0a 20 20 20 20 |sym(buf,| f). |
|000043e0| 20 20 20 20 63 68 61 72 | 20 2a 62 75 66 3b 20 46 | char| *buf; F|
|000043f0| 49 4c 45 20 2a 66 3b 0a | 7b 0a 20 20 20 20 20 20 |ILE *f;.|{. |
|00004400| 20 20 72 65 67 69 73 74 | 65 72 20 69 6e 74 20 63 | regist|er int c|
|00004410| 3b 0a 20 20 20 20 20 20 | 20 20 69 6e 74 20 69 6e |;. | int in|
|00004420| 62 72 61 63 6b 20 3d 20 | 30 3b 0a 0a 44 45 42 55 |brack = |0;..DEBU|
|00004430| 47 28 22 69 6e 20 67 65 | 74 73 79 6d 5c 6e 22 29 |G("in ge|tsym\n")|
|00004440| 3b 0a 20 20 20 20 20 20 | 20 20 63 20 3d 20 67 6c |;. | c = gl|
|00004450| 61 73 74 63 3b 0a 20 20 | 20 20 20 20 20 20 77 68 |astc;. | wh|
|00004460| 69 6c 65 20 28 28 63 20 | 3e 20 30 29 20 26 26 20 |ile ((c |> 0) && |
|00004470| 69 73 73 70 61 63 65 28 | 63 29 29 20 7b 0a 20 20 |isspace(|c)) {. |
|00004480| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 63 20 | | c |
|00004490| 3d 20 6e 65 78 74 63 68 | 28 66 29 3b 0a 20 20 20 |= nextch|(f);. |
|000044a0| 20 20 20 20 20 7d 0a 44 | 45 42 55 47 28 22 67 65 | }.D|EBUG("ge|
|000044b0| 74 73 79 6d 3a 20 73 70 | 61 63 65 73 20 73 6b 69 |tsym: sp|aces ski|
|000044c0| 70 70 65 64 5c 6e 22 29 | 3b 0a 20 20 20 20 20 20 |pped\n")|;. |
|000044d0| 20 20 69 66 20 28 63 20 | 3c 20 30 29 20 7b 0a 44 | if (c |< 0) {.D|
|000044e0| 45 42 55 47 28 22 45 4f | 46 20 72 65 61 64 20 69 |EBUG("EO|F read i|
|000044f0| 6e 20 67 65 74 73 79 6d | 5c 6e 22 29 3b 0a 20 20 |n getsym|\n");. |
|00004500| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 72 65 | | re|
|00004510| 74 75 72 6e 20 2d 31 3b | 0a 20 20 20 20 20 20 20 |turn -1;|. |
|00004520| 20 7d 0a 20 20 20 20 20 | 20 20 20 69 66 20 28 63 | }. | if (c|
|00004530| 20 3d 3d 20 27 7b 27 29 | 20 7b 0a 20 20 20 20 20 | == '{')| {. |
|00004540| 20 20 20 20 20 20 20 20 | 20 20 20 69 6e 62 72 61 | | inbra|
|00004550| 63 6b 20 3d 20 31 3b 0a | 44 45 42 55 47 28 22 67 |ck = 1;.|DEBUG("g|
|00004560| 65 74 73 79 6d 3a 20 69 | 6e 20 62 72 61 63 6b 65 |etsym: i|n bracke|
|00004570| 74 5c 6e 22 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |t\n");. | |
|00004580| 20 20 20 20 20 20 20 77 | 68 69 6c 65 20 28 69 6e | w|hile (in|
|00004590| 62 72 61 63 6b 29 20 7b | 0a 20 20 20 20 20 20 20 |brack) {|. |
|000045a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000045b0| 20 63 20 3d 20 6e 65 78 | 74 63 68 28 66 29 3b 0a | c = nex|tch(f);.|
|000045c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000045d0| 20 20 20 20 20 20 20 20 | 69 66 20 28 63 20 3c 20 | |if (c < |
|000045e0| 30 29 20 7b 0a 44 45 42 | 55 47 28 22 67 65 74 73 |0) {.DEB|UG("gets|
|000045f0| 79 6d 3a 20 45 4f 46 20 | 73 65 65 6e 20 69 6e 20 |ym: EOF |seen in |
|00004600| 62 72 61 63 6b 65 74 20 | 6c 6f 6f 70 5c 6e 22 29 |bracket |loop\n")|
|00004610| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|00004620| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004630| 20 20 67 6c 61 73 74 63 | 20 3d 20 63 3b 0a 20 20 | glastc| = c;. |
|00004640| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004650| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 72 65 | | re|
|00004660| 74 75 72 6e 20 63 3b 0a | 20 20 20 20 20 20 20 20 |turn c;.| |
|00004670| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004680| 7d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |}. | |
|00004690| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 28 63 20 | | if (c |
|000046a0| 3d 3d 20 27 7b 27 29 20 | 69 6e 62 72 61 63 6b 2b |== '{') |inbrack+|
|000046b0| 2b 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |+;. | |
|000046c0| 20 20 20 20 20 20 20 20 | 20 20 20 65 6c 73 65 20 | | else |
|000046d0| 69 66 20 28 63 20 3d 3d | 20 27 7d 27 29 20 69 6e |if (c ==| '}') in|
|000046e0| 62 72 61 63 6b 2d 2d 3b | 0a 20 20 20 20 20 20 20 |brack--;|. |
|000046f0| 20 20 20 20 20 20 20 20 | 20 7d 0a 20 20 20 20 20 | | }. |
|00004700| 20 20 20 20 20 20 20 20 | 20 20 20 73 74 72 63 70 | | strcp|
|00004710| 79 28 62 75 66 2c 20 22 | 7b 7d 22 29 3b 0a 20 20 |y(buf, "|{}");. |
|00004720| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 67 6c | | gl|
|00004730| 61 73 74 63 20 3d 20 6e | 65 78 74 63 68 28 66 29 |astc = n|extch(f)|
|00004740| 3b 0a 44 45 42 55 47 28 | 22 67 65 74 73 79 6d 3a |;.DEBUG(|"getsym:|
|00004750| 20 6f 75 74 20 6f 66 20 | 69 6e 20 62 72 61 63 6b | out of |in brack|
|00004760| 65 74 20 6c 6f 6f 70 5c | 6e 22 29 3b 0a 20 20 20 |et loop\|n");. |
|00004770| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 72 65 74 | | ret|
|00004780| 75 72 6e 20 30 3b 0a 20 | 20 20 20 20 20 20 20 7d |urn 0;. | }|
|00004790| 0a 20 20 20 20 20 20 20 | 20 69 66 20 28 21 49 53 |. | if (!IS|
|000047a0| 43 53 59 4d 28 63 29 29 | 20 7b 0a 20 20 20 20 20 |CSYM(c))| {. |
|000047b0| 20 20 20 20 20 20 20 20 | 20 20 20 2a 62 75 66 2b | | *buf+|
|000047c0| 2b 20 3d 20 63 3b 0a 20 | 20 20 20 20 20 20 20 20 |+ = c;. | |
|000047d0| 20 20 20 20 20 20 20 2a | 62 75 66 20 3d 20 30 3b | *|buf = 0;|
|000047e0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000047f0| 20 67 6c 61 73 74 63 20 | 3d 20 6e 65 78 74 63 68 | glastc |= nextch|
|00004800| 28 66 29 3b 0a 44 45 42 | 55 47 28 22 67 65 74 73 |(f);.DEB|UG("gets|
|00004810| 79 6d 3a 20 72 65 74 75 | 72 6e 69 6e 67 20 73 70 |ym: retu|rning sp|
|00004820| 65 63 69 61 6c 20 73 79 | 6d 62 6f 6c 5c 6e 22 29 |ecial sy|mbol\n")|
|00004830| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|00004840| 20 20 72 65 74 75 72 6e | 20 30 3b 0a 20 20 20 20 | return| 0;. |
|00004850| 20 20 20 20 7d 0a 20 20 | 20 20 20 20 20 20 77 68 | }. | wh|
|00004860| 69 6c 65 20 28 49 53 43 | 53 59 4d 28 63 29 29 20 |ile (ISC|SYM(c)) |
|00004870| 7b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |{. | |
|00004880| 20 20 2a 62 75 66 2b 2b | 20 3d 20 63 3b 0a 20 20 | *buf++| = c;. |
|00004890| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 63 20 | | c |
|000048a0| 3d 20 6e 65 78 74 63 68 | 28 66 29 3b 0a 20 20 20 |= nextch|(f);. |
|000048b0| 20 20 20 20 20 7d 0a 20 | 20 20 20 20 20 20 20 2a | }. | *|
|000048c0| 62 75 66 20 3d 20 30 3b | 0a 20 20 20 20 20 20 20 |buf = 0;|. |
|000048d0| 20 67 6c 61 73 74 63 20 | 3d 20 63 3b 0a 44 45 42 | glastc |= c;.DEB|
|000048e0| 55 47 28 22 67 65 74 73 | 79 6d 3a 20 72 65 74 75 |UG("gets|ym: retu|
|000048f0| 72 6e 69 6e 67 20 77 6f | 72 64 5c 6e 22 29 3b 0a |rning wo|rd\n");.|
|00004900| 20 20 20 20 20 20 20 20 | 72 65 74 75 72 6e 20 30 | |return 0|
|00004910| 3b 0a 7d 0a 0a 2f 2a 0a | 20 2a 20 73 6b 69 70 69 |;.}../*.| * skipi|
|00004920| 74 3a 20 73 6b 69 70 20 | 75 6e 74 69 6c 20 61 20 |t: skip |until a |
|00004930| 22 3b 22 20 6f 72 20 74 | 68 65 20 65 6e 64 20 6f |";" or t|he end o|
|00004940| 66 20 61 20 66 75 6e 63 | 74 69 6f 6e 20 64 65 63 |f a func|tion dec|
|00004950| 6c 61 72 61 74 69 6f 6e | 20 69 73 20 73 65 65 6e |laration| is seen|
|00004960| 0a 20 2a 2f 0a 69 6e 74 | 20 73 6b 69 70 69 74 28 |. */.int| skipit(|
|00004970| 62 75 66 2c 20 66 29 0a | 20 20 20 20 20 20 20 20 |buf, f).| |
|00004980| 63 68 61 72 20 2a 62 75 | 66 3b 0a 20 20 20 20 20 |char *bu|f;. |
|00004990| 20 20 20 46 49 4c 45 20 | 2a 66 3b 0a 7b 0a 20 20 | FILE |*f;.{. |
|000049a0| 20 20 20 20 20 20 69 6e | 74 20 69 3b 0a 0a 20 20 | in|t i;.. |
|000049b0| 20 20 20 20 20 20 64 6f | 20 7b 0a 44 45 42 55 47 | do| {.DEBUG|
|000049c0| 28 22 69 6e 20 73 6b 69 | 70 69 74 20 6c 6f 6f 70 |("in ski|pit loop|
|000049d0| 5c 6e 22 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |\n");. | |
|000049e0| 20 20 20 20 20 20 69 20 | 3d 20 67 65 74 73 79 6d | i |= getsym|
|000049f0| 28 62 75 66 2c 20 66 29 | 3b 0a 20 20 20 20 20 20 |(buf, f)|;. |
|00004a00| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 28 69 20 | | if (i |
|00004a10| 3c 20 30 29 20 72 65 74 | 75 72 6e 20 69 3b 0a 20 |< 0) ret|urn i;. |
|00004a20| 20 20 20 20 20 20 20 7d | 20 77 68 69 6c 65 20 28 | }| while (|
|00004a30| 2a 62 75 66 20 21 3d 20 | 27 3b 27 20 26 26 20 2a |*buf != |';' && *|
|00004a40| 62 75 66 20 21 3d 20 27 | 7b 27 29 3b 0a 0a 20 20 |buf != '|{');.. |
|00004a50| 20 20 20 20 20 20 72 65 | 74 75 72 6e 20 30 3b 0a | re|turn 0;.|
|00004a60| 7d 0a 0a 2f 2a 0a 20 2a | 20 47 65 74 20 61 20 70 |}../*. *| Get a p|
|00004a70| 61 72 61 6d 65 74 65 72 | 20 6c 69 73 74 3b 20 77 |arameter| list; w|
|00004a80| 68 65 6e 20 74 68 69 73 | 20 69 73 20 63 61 6c 6c |hen this| is call|
|00004a90| 65 64 20 74 68 65 20 6e | 65 78 74 20 73 79 6d 62 |ed the n|ext symb|
|00004aa0| 6f 6c 20 69 6e 20 6c 69 | 6e 65 0a 20 2a 20 73 68 |ol in li|ne. * sh|
|00004ab0| 6f 75 6c 64 20 62 65 20 | 74 68 65 20 66 69 72 73 |ould be |the firs|
|00004ac0| 74 20 74 68 69 6e 67 20 | 69 6e 20 74 68 65 20 6c |t thing |in the l|
|00004ad0| 69 73 74 2e 0a 20 2a 2f | 0a 0a 57 6f 72 64 20 2a |ist.. */|..Word *|
|00004ae0| 67 65 74 70 61 72 61 6d | 6c 69 73 74 28 66 29 0a |getparam|list(f).|
|00004af0| 20 20 20 20 20 20 20 20 | 46 49 4c 45 20 2a 66 3b | |FILE *f;|
|00004b00| 0a 7b 0a 20 20 20 20 20 | 20 20 20 73 74 61 74 69 |.{. | stati|
|00004b10| 63 20 57 6f 72 64 20 2a | 70 6e 61 6d 65 5b 4d 41 |c Word *|pname[MA|
|00004b20| 58 50 41 52 41 4d 5d 3b | 20 2f 2a 20 70 61 72 61 |XPARAM];| /* para|
|00004b30| 6d 65 74 65 72 20 6e 61 | 6d 65 73 20 2a 2f 0a 20 |meter na|mes */. |
|00004b40| 20 20 20 20 20 20 20 57 | 6f 72 64 20 20 20 20 2a | W|ord *|
|00004b50| 74 6c 69 73 74 2c 20 20 | 20 20 20 20 20 20 20 2f |tlist, | /|
|00004b60| 2a 20 74 79 70 65 20 6e | 61 6d 65 20 2a 2f 0a 20 |* type n|ame */. |
|00004b70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2a | | *|
|00004b80| 70 6c 69 73 74 3b 20 20 | 20 20 20 20 20 20 20 2f |plist; | /|
|00004b90| 2a 20 74 65 6d 70 6f 72 | 61 72 79 20 2a 2f 0a 20 |* tempor|ary */. |
|00004ba0| 20 20 20 20 20 20 20 69 | 6e 74 20 20 20 20 20 6e | i|nt n|
|00004bb0| 70 20 3d 20 30 3b 20 20 | 20 20 20 20 20 20 20 2f |p = 0; | /|
|00004bc0| 2a 20 6e 75 6d 62 65 72 | 20 6f 66 20 70 61 72 61 |* number| of para|
|00004bd0| 6d 65 74 65 72 73 20 2a | 2f 0a 20 20 20 20 20 20 |meters *|/. |
|00004be0| 20 20 69 6e 74 20 20 20 | 20 20 74 79 70 65 64 5b | int | typed[|
|00004bf0| 4d 41 58 50 41 52 41 4d | 5d 3b 20 20 2f 2a 20 70 |MAXPARAM|]; /* p|
|00004c00| 61 72 61 6d 65 74 65 72 | 20 68 61 73 20 62 65 65 |arameter| has bee|
|00004c10| 6e 20 67 69 76 65 6e 20 | 61 20 74 79 70 65 20 2a |n given |a type *|
|00004c20| 2f 0a 20 20 20 20 20 20 | 20 20 69 6e 74 20 20 20 |/. | int |
|00004c30| 20 20 74 6c 69 73 74 64 | 6f 6e 65 3b 20 20 20 20 | tlistd|one; |
|00004c40| 20 20 2f 2a 20 66 69 6e | 69 73 68 65 64 20 66 69 | /* fin|ished fi|
|00004c50| 6e 64 69 6e 67 20 74 68 | 65 20 74 79 70 65 20 6e |nding th|e type n|
|00004c60| 61 6d 65 20 2a 2f 0a 20 | 20 20 20 20 20 20 20 69 |ame */. | i|
|00004c70| 6e 74 20 20 20 20 20 73 | 61 77 73 6f 6d 65 74 68 |nt s|awsometh|
|00004c80| 69 6e 67 3b 0a 20 20 20 | 20 20 20 20 20 69 6e 74 |ing;. | int|
|00004c90| 20 20 20 20 20 69 3b 0a | 20 20 20 20 20 20 20 20 | i;.| |
|00004ca0| 69 6e 74 20 20 20 20 20 | 69 6e 70 61 72 65 6e 20 |int |inparen |
|00004cb0| 3d 20 30 3b 0a 20 20 20 | 20 20 20 20 20 63 68 61 |= 0;. | cha|
|00004cc0| 72 20 62 75 66 5b 38 30 | 5d 3b 0a 0a 44 45 42 55 |r buf[80|];..DEBU|
|00004cd0| 47 28 22 69 6e 20 67 65 | 74 70 61 72 61 6d 6c 69 |G("in ge|tparamli|
|00004ce0| 73 74 5c 6e 22 29 3b 0a | 20 20 20 20 20 20 20 20 |st\n");.| |
|00004cf0| 66 6f 72 20 28 69 20 3d | 20 30 3b 20 69 20 3c 20 |for (i =| 0; i < |
|00004d00| 4d 41 58 50 41 52 41 4d | 3b 20 69 2b 2b 29 0a 20 |MAXPARAM|; i++). |
|00004d10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 74 | | t|
|00004d20| 79 70 65 64 5b 69 5d 20 | 3d 20 30 3b 0a 0a 20 20 |yped[i] |= 0;.. |
|00004d30| 20 20 20 20 20 20 70 6c | 69 73 74 20 3d 20 77 6f | pl|ist = wo|
|00004d40| 72 64 5f 61 6c 6c 6f 63 | 28 22 22 29 3b 0a 0a 2f |rd_alloc|("");../|
|00004d50| 2a 20 66 69 72 73 74 2c | 20 67 65 74 20 74 68 65 |* first,| get the|
|00004d60| 20 73 74 75 66 66 20 69 | 6e 73 69 64 65 20 62 72 | stuff i|nside br|
|00004d70| 61 63 6b 65 74 73 20 28 | 69 66 20 61 6e 79 74 68 |ackets (|if anyth|
|00004d80| 69 6e 67 29 20 2a 2f 0a | 0a 20 20 20 20 20 20 20 |ing) */.|. |
|00004d90| 20 73 61 77 73 6f 6d 65 | 74 68 69 6e 67 20 3d 20 | sawsome|thing = |
|00004da0| 30 3b 20 20 20 20 20 20 | 20 2f 2a 20 67 65 74 73 |0; | /* gets|
|00004db0| 20 73 65 74 20 6e 6f 6e | 7a 65 72 6f 20 77 68 65 | set non|zero whe|
|00004dc0| 6e 20 77 65 20 73 65 65 | 20 61 6e 20 61 72 67 20 |n we see| an arg |
|00004dd0| 2a 2f 0a 20 20 20 20 20 | 20 20 20 66 6f 72 20 28 |*/. | for (|
|00004de0| 3b 3b 29 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 |;;) {. | |
|00004df0| 20 20 20 20 20 20 69 66 | 20 28 67 65 74 73 79 6d | if| (getsym|
|00004e00| 28 62 75 66 2c 20 66 29 | 20 3c 20 30 29 20 72 65 |(buf, f)| < 0) re|
|00004e10| 74 75 72 6e 20 4e 55 4c | 4c 3b 0a 20 20 20 20 20 |turn NUL|L;. |
|00004e20| 20 20 20 20 20 20 20 20 | 20 20 20 69 66 20 28 2a | | if (*|
|00004e30| 62 75 66 20 3d 3d 20 27 | 29 27 20 26 26 20 28 2d |buf == '|)' && (-|
|00004e40| 2d 69 6e 70 61 72 65 6e | 20 3c 20 30 29 29 20 7b |-inparen| < 0)) {|
|00004e50| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00004e60| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 73 61 77 | | if (saw|
|00004e70| 73 6f 6d 65 74 68 69 6e | 67 29 20 7b 20 20 20 20 |somethin|g) { |
|00004e80| 20 2f 2a 20 69 66 20 77 | 65 27 76 65 20 73 65 65 | /* if w|e've see|
|00004e90| 6e 20 61 6e 20 61 72 67 | 20 2a 2f 0a 20 20 20 20 |n an arg| */. |
|00004ea0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004eb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 6e 61 6d | | pnam|
|00004ec0| 65 5b 6e 70 5d 20 3d 20 | 70 6c 69 73 74 3b 0a 20 |e[np] = |plist;. |
|00004ed0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004ee0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | | p|
|00004ef0| 6c 69 73 74 20 3d 20 77 | 6f 72 64 5f 61 6c 6c 6f |list = w|ord_allo|
|00004f00| 63 28 22 22 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |c("");. | |
|00004f10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004f20| 20 20 20 20 20 20 20 6e | 70 2b 2b 3b 0a 20 20 20 | n|p++;. |
|00004f30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004f40| 20 20 20 20 20 7d 0a 20 | 20 20 20 20 20 20 20 20 | }. | |
|00004f50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 62 | | b|
|00004f60| 72 65 61 6b 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |reak;. | |
|00004f70| 20 20 20 20 20 20 7d 0a | 20 20 20 20 20 20 20 20 | }.| |
|00004f80| 20 20 20 20 20 20 20 20 | 69 66 20 28 2a 62 75 66 | |if (*buf|
|00004f90| 20 3d 3d 20 27 3b 27 29 | 20 7b 20 20 20 20 20 20 | == ';')| { |
|00004fa0| 2f 2a 20 73 6f 6d 65 74 | 68 69 6e 67 20 77 65 69 |/* somet|hing wei|
|00004fb0| 72 64 20 2a 2f 0a 20 20 | 20 20 20 20 20 20 20 20 |rd */. | |
|00004fc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 72 65 | | re|
|00004fd0| 74 75 72 6e 20 41 42 4f | 52 54 45 44 3b 0a 20 20 |turn ABO|RTED;. |
|00004fe0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 7d 0a | | }.|
|00004ff0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005000| 73 61 77 73 6f 6d 65 74 | 68 69 6e 67 20 3d 20 31 |sawsomet|hing = 1|
|00005010| 3b 20 20 20 20 20 20 20 | 2f 2a 20 74 68 65 72 65 |; |/* there|
|00005020| 27 73 20 73 6f 6d 65 74 | 68 69 6e 67 20 69 6e 20 |'s somet|hing in |
|00005030| 74 68 65 20 61 72 67 2e | 20 6c 69 73 74 20 2a 2f |the arg.| list */|
|00005040| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00005050| 20 69 66 20 28 2a 62 75 | 66 20 3d 3d 20 27 2c 27 | if (*bu|f == ','|
|00005060| 20 26 26 20 69 6e 70 61 | 72 65 6e 20 3d 3d 20 30 | && inpa|ren == 0|
|00005070| 29 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |) {. | |
|00005080| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 6e 61 6d | | pnam|
|00005090| 65 5b 6e 70 5d 20 3d 20 | 70 6c 69 73 74 3b 0a 20 |e[np] = |plist;. |
|000050a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000050b0| 20 20 20 20 20 20 20 70 | 6c 69 73 74 20 3d 20 77 | p|list = w|
|000050c0| 6f 72 64 5f 61 6c 6c 6f | 63 28 22 22 29 3b 0a 20 |ord_allo|c("");. |
|000050d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000050e0| 20 20 20 20 20 20 20 6e | 70 2b 2b 3b 0a 20 20 20 | n|p++;. |
|000050f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 7d 0a 20 | | }. |
|00005100| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 65 | | e|
|00005110| 6c 73 65 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 |lse {. | |
|00005120| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 61 64 | | ad|
|00005130| 64 77 6f 72 64 28 70 6c | 69 73 74 2c 20 62 75 66 |dword(pl|ist, buf|
|00005140| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |);. | |
|00005150| 20 20 20 20 20 20 20 20 | 20 20 20 69 66 20 28 2a | | if (*|
|00005160| 62 75 66 20 3d 3d 20 27 | 28 27 29 20 69 6e 70 61 |buf == '|(') inpa|
|00005170| 72 65 6e 2b 2b 3b 0a 20 | 20 20 20 20 20 20 20 20 |ren++;. | |
|00005180| 20 20 20 20 20 20 20 7d | 0a 20 20 20 20 20 20 20 | }|. |
|00005190| 20 7d 0a 0a 2f 2a 20 6e | 65 78 74 2c 20 67 65 74 | }../* n|ext, get|
|000051a0| 20 74 68 65 20 64 65 63 | 6c 61 72 61 74 69 6f 6e | the dec|laration|
|000051b0| 73 20 61 66 74 65 72 20 | 74 68 65 20 66 75 6e 63 |s after |the func|
|000051c0| 74 69 6f 6e 20 68 65 61 | 64 65 72 20 2a 2f 0a 0a |tion hea|der */..|
|000051d0| 20 20 20 20 20 20 20 20 | 69 6e 70 61 72 65 6e 20 | |inparen |
|000051e0| 3d 20 30 3b 0a 0a 20 20 | 20 20 20 20 20 20 74 6c |= 0;.. | tl|
|000051f0| 69 73 74 20 3d 20 77 6f | 72 64 5f 61 6c 6c 6f 63 |ist = wo|rd_alloc|
|00005200| 28 22 22 29 3b 0a 20 20 | 20 20 20 20 20 20 70 6c |("");. | pl|
|00005210| 69 73 74 20 3d 20 77 6f | 72 64 5f 61 6c 6c 6f 63 |ist = wo|rd_alloc|
|00005220| 28 22 22 29 3b 0a 20 20 | 20 20 20 20 20 20 74 6c |("");. | tl|
|00005230| 69 73 74 64 6f 6e 65 20 | 3d 20 30 3b 0a 20 20 20 |istdone |= 0;. |
|00005240| 20 20 20 20 20 73 61 77 | 73 6f 6d 65 74 68 69 6e | saw|somethin|
|00005250| 67 20 3d 20 30 3b 0a 20 | 20 20 20 20 20 20 20 66 |g = 0;. | f|
|00005260| 6f 72 28 3b 3b 29 20 7b | 0a 20 20 20 20 20 20 20 |or(;;) {|. |
|00005270| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 67 65 74 | | if (get|
|00005280| 73 79 6d 28 62 75 66 2c | 20 66 29 20 3c 20 30 29 |sym(buf,| f) < 0)|
|00005290| 20 72 65 74 75 72 6e 20 | 4e 55 4c 4c 3b 0a 0a 2f | return |NULL;../|
|000052a0| 2a 20 68 61 6e 64 6c 65 | 20 61 20 6c 69 73 74 20 |* handle| a list |
|000052b0| 6c 69 6b 65 20 22 69 6e | 74 20 78 2c 79 2c 7a 22 |like "in|t x,y,z"|
|000052c0| 20 2a 2f 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | */. | |
|000052d0| 20 20 20 20 69 66 20 28 | 2a 62 75 66 20 3d 3d 20 | if (|*buf == |
|000052e0| 27 2c 27 20 26 26 20 21 | 69 6e 70 61 72 65 6e 29 |',' && !|inparen)|
|000052f0| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00005300| 20 20 20 20 20 20 20 20 | 20 20 20 69 66 20 28 21 | | if (!|
|00005310| 73 61 77 73 6f 6d 65 74 | 68 69 6e 67 29 0a 20 20 |sawsomet|hing). |
|00005320| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005330| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 72 65 | | re|
|00005340| 74 75 72 6e 20 4e 55 4c | 4c 3b 0a 20 20 20 20 20 |turn NUL|L;. |
|00005350| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005360| 20 20 20 66 6f 72 20 28 | 69 20 3d 20 30 3b 20 69 | for (|i = 0; i|
|00005370| 20 3c 20 6e 70 3b 20 69 | 2b 2b 29 20 7b 0a 20 20 | < np; i|++) {. |
|00005380| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005390| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 69 66 | | if|
|000053a0| 20 28 21 74 79 70 65 64 | 5b 69 5d 20 26 26 20 66 | (!typed|[i] && f|
|000053b0| 6f 75 6e 64 69 6e 28 70 | 6c 69 73 74 2c 20 70 6e |oundin(p|list, pn|
|000053c0| 61 6d 65 5b 69 5d 29 29 | 20 7b 0a 20 20 20 20 20 |ame[i]))| {. |
|000053d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000053e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000053f0| 20 20 20 74 79 70 65 64 | 5b 69 5d 20 3d 20 31 3b | typed|[i] = 1;|
|00005400| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00005410| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005420| 20 20 20 20 20 20 20 20 | 20 77 6f 72 64 5f 66 72 | | word_fr|
|00005430| 65 65 28 70 6e 61 6d 65 | 5b 69 5d 29 3b 0a 20 20 |ee(pname|[i]);. |
|00005440| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005450| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005460| 20 20 20 20 20 20 70 6e | 61 6d 65 5b 69 5d 20 3d | pn|ame[i] =|
|00005470| 20 77 6f 72 64 5f 61 70 | 70 65 6e 64 28 74 6c 69 | word_ap|pend(tli|
|00005480| 73 74 2c 20 70 6c 69 73 | 74 29 3b 0a 20 20 20 20 |st, plis|t);. |
|00005490| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000054a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2f 2a 20 70 | | /* p|
|000054b0| 72 6f 6d 6f 74 65 20 74 | 79 70 65 73 20 2a 2f 0a |romote t|ypes */.|
|000054c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000054d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000054e0| 20 20 20 20 20 20 20 20 | 74 79 70 65 66 69 78 68 | |typefixh|
|000054f0| 61 63 6b 28 70 6e 61 6d | 65 5b 69 5d 29 3b 0a 20 |ack(pnam|e[i]);. |
|00005500| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005510| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005520| 20 20 20 20 20 20 20 62 | 72 65 61 6b 3b 0a 20 20 | b|reak;. |
|00005530| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005540| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 7d 0a | | }.|
|00005550| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005560| 20 20 20 20 20 20 20 20 | 7d 0a 20 20 20 20 20 20 | |}. |
|00005570| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005580| 20 20 69 66 20 28 21 74 | 6c 69 73 74 64 6f 6e 65 | if (!t|listdone|
|00005590| 29 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |) {. | |
|000055a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000055b0| 20 20 20 20 74 6c 69 73 | 74 20 3d 20 74 79 70 65 | tlis|t = type|
|000055c0| 6c 69 73 74 28 70 6c 69 | 73 74 29 3b 0a 20 20 20 |list(pli|st);. |
|000055d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000055e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 74 6c 69 | | tli|
|000055f0| 73 74 64 6f 6e 65 20 3d | 20 31 3b 0a 20 20 20 20 |stdone =| 1;. |
|00005600| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005610| 20 20 20 20 7d 0a 20 20 | 20 20 20 20 20 20 20 20 | }. | |
|00005620| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 77 6f | | wo|
|00005630| 72 64 5f 66 72 65 65 28 | 70 6c 69 73 74 29 3b 0a |rd_free(|plist);.|
|00005640| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005650| 20 20 20 20 20 20 20 20 | 70 6c 69 73 74 20 3d 20 | |plist = |
|00005660| 77 6f 72 64 5f 61 6c 6c | 6f 63 28 22 22 29 3b 0a |word_all|oc("");.|
|00005670| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005680| 7d 0a 2f 2a 20 68 61 6e | 64 6c 65 20 74 68 65 20 |}./* han|dle the |
|00005690| 65 6e 64 20 6f 66 20 61 | 20 6c 69 73 74 20 2a 2f |end of a| list */|
|000056a0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000056b0| 20 65 6c 73 65 20 69 66 | 20 28 2a 62 75 66 20 3d | else if| (*buf =|
|000056c0| 3d 20 27 3b 27 29 20 7b | 0a 20 20 20 20 20 20 20 |= ';') {|. |
|000056d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000056e0| 20 69 66 20 28 21 73 61 | 77 73 6f 6d 65 74 68 69 | if (!sa|wsomethi|
|000056f0| 6e 67 29 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |ng). | |
|00005700| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005710| 20 20 20 20 72 65 74 75 | 72 6e 20 41 42 4f 52 54 | retu|rn ABORT|
|00005720| 45 44 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |ED;. | |
|00005730| 20 20 20 20 20 20 20 20 | 20 20 20 20 66 6f 72 20 | | for |
|00005740| 28 69 20 3d 20 30 3b 20 | 69 20 3c 20 6e 70 3b 20 |(i = 0; |i < np; |
|00005750| 69 2b 2b 29 20 7b 0a 20 | 20 20 20 20 20 20 20 20 |i++) {. | |
|00005760| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005770| 20 20 20 20 20 20 20 69 | 66 20 28 21 74 79 70 65 | i|f (!type|
|00005780| 64 5b 69 5d 20 26 26 20 | 66 6f 75 6e 64 69 6e 28 |d[i] && |foundin(|
|00005790| 70 6c 69 73 74 2c 20 70 | 6e 61 6d 65 5b 69 5d 29 |plist, p|name[i])|
|000057a0| 29 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |) {. | |
|000057b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000057c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 74 79 70 65 | | type|
|000057d0| 64 5b 69 5d 20 3d 20 31 | 3b 0a 20 20 20 20 20 20 |d[i] = 1|;. |
|000057e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000057f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005800| 20 20 77 6f 72 64 5f 66 | 72 65 65 28 70 6e 61 6d | word_f|ree(pnam|
|00005810| 65 5b 69 5d 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |e[i]);. | |
|00005820| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005830| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | | p|
|00005840| 6e 61 6d 65 5b 69 5d 20 | 3d 20 77 6f 72 64 5f 61 |name[i] |= word_a|
|00005850| 70 70 65 6e 64 28 74 6c | 69 73 74 2c 20 70 6c 69 |ppend(tl|ist, pli|
|00005860| 73 74 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |st);. | |
|00005870| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005880| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 74 79 70 | | typ|
|00005890| 65 66 69 78 68 61 63 6b | 28 70 6e 61 6d 65 5b 69 |efixhack|(pname[i|
|000058a0| 5d 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |]);. | |
|000058b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000058c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 62 72 65 61 | | brea|
|000058d0| 6b 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |k;. | |
|000058e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000058f0| 20 20 20 7d 0a 20 20 20 | 20 20 20 20 20 20 20 20 | }. | |
|00005900| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 7d 0a 20 | | }. |
|00005910| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005920| 20 20 20 20 20 20 20 74 | 6c 69 73 74 64 6f 6e 65 | t|listdone|
|00005930| 20 3d 20 30 3b 0a 20 20 | 20 20 20 20 20 20 20 20 | = 0;. | |
|00005940| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 77 6f | | wo|
|00005950| 72 64 5f 66 72 65 65 28 | 74 6c 69 73 74 29 3b 20 |rd_free(|tlist); |
|00005960| 77 6f 72 64 5f 66 72 65 | 65 28 70 6c 69 73 74 29 |word_fre|e(plist)|
|00005970| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|00005980| 20 20 20 20 20 20 20 20 | 20 20 74 6c 69 73 74 20 | | tlist |
|00005990| 3d 20 77 6f 72 64 5f 61 | 6c 6c 6f 63 28 22 22 29 |= word_a|lloc("")|
|000059a0| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|000059b0| 20 20 20 20 20 20 20 20 | 20 20 70 6c 69 73 74 20 | | plist |
|000059c0| 3d 20 77 6f 72 64 5f 61 | 6c 6c 6f 63 28 22 22 29 |= word_a|lloc("")|
|000059d0| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|000059e0| 20 20 7d 0a 2f 2a 20 68 | 61 6e 64 6c 65 20 74 68 | }./* h|andle th|
|000059f0| 65 20 20 62 65 67 69 6e | 6e 69 6e 67 20 6f 66 20 |e begin|ning of |
|00005a00| 74 68 65 20 66 75 6e 63 | 74 69 6f 6e 20 2a 2f 0a |the func|tion */.|
|00005a10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005a20| 65 6c 73 65 20 69 66 20 | 28 21 73 74 72 63 6d 70 |else if |(!strcmp|
|00005a30| 28 62 75 66 2c 20 22 7b | 7d 22 29 29 20 62 72 65 |(buf, "{|}")) bre|
|00005a40| 61 6b 3b 0a 2f 2a 20 6f | 74 68 65 72 77 69 73 65 |ak;./* o|therwise|
|00005a50| 2c 20 74 68 72 6f 77 20 | 74 68 65 20 77 6f 72 64 |, throw |the word|
|00005a60| 20 69 6e 74 6f 20 74 68 | 65 20 6c 69 73 74 20 28 | into th|e list (|
|00005a70| 65 78 63 65 70 74 20 66 | 6f 72 20 22 72 65 67 69 |except f|or "regi|
|00005a80| 73 74 65 72 22 29 20 2a | 2f 0a 20 20 20 20 20 20 |ster") *|/. |
|00005a90| 20 20 20 20 20 20 20 20 | 20 20 65 6c 73 65 20 69 | | else i|
|00005aa0| 66 20 28 73 74 72 63 6d | 70 28 62 75 66 2c 20 22 |f (strcm|p(buf, "|
|00005ab0| 72 65 67 69 73 74 65 72 | 22 29 29 20 7b 0a 20 20 |register|")) {. |
|00005ac0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005ad0| 20 20 20 20 20 20 73 61 | 77 73 6f 6d 65 74 68 69 | sa|wsomethi|
|00005ae0| 6e 67 20 3d 20 31 3b 0a | 20 20 20 20 20 20 20 20 |ng = 1;.| |
|00005af0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005b00| 61 64 64 77 6f 72 64 28 | 70 6c 69 73 74 2c 20 62 |addword(|plist, b|
|00005b10| 75 66 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |uf);. | |
|00005b20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 69 66 20 | | if |
|00005b30| 28 2a 62 75 66 20 3d 3d | 20 27 28 27 29 20 69 6e |(*buf ==| '(') in|
|00005b40| 70 61 72 65 6e 2b 2b 3b | 0a 20 20 20 20 20 20 20 |paren++;|. |
|00005b50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005b60| 20 69 66 20 28 2a 62 75 | 66 20 3d 3d 20 27 29 27 | if (*bu|f == ')'|
|00005b70| 29 20 69 6e 70 61 72 65 | 6e 2d 2d 3b 0a 20 20 20 |) inpare|n--;. |
|00005b80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 7d 0a 20 | | }. |
|00005b90| 20 20 20 20 20 20 20 7d | 0a 0a 2f 2a 20 4e 6f 77 | }|../* Now|
|00005ba0| 20 74 61 6b 65 20 74 68 | 65 20 69 6e 66 6f 20 77 | take th|e info w|
|00005bb0| 65 20 68 61 76 65 20 61 | 6e 64 20 62 75 69 6c 64 |e have a|nd build|
|00005bc0| 20 61 20 70 72 6f 74 6f | 74 79 70 65 20 6c 69 73 | a proto|type lis|
|00005bd0| 74 20 2a 2f 0a 0a 2f 2a | 20 65 6d 70 74 79 20 70 |t */../*| empty p|
|00005be0| 61 72 61 6d 65 74 65 72 | 20 6c 69 73 74 20 6d 65 |arameter| list me|
|00005bf0| 61 6e 73 20 22 76 6f 69 | 64 22 20 2a 2f 0a 20 20 |ans "voi|d" */. |
|00005c00| 20 20 20 20 20 20 69 66 | 20 28 6e 70 20 3d 3d 20 | if| (np == |
|00005c10| 30 29 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0). | |
|00005c20| 20 20 20 72 65 74 75 72 | 6e 20 77 6f 72 64 5f 61 | retur|n word_a|
|00005c30| 6c 6c 6f 63 28 22 76 6f | 69 64 22 29 3b 0a 0a 20 |lloc("vo|id");.. |
|00005c40| 20 20 20 20 20 20 20 70 | 6c 69 73 74 20 3d 20 74 | p|list = t|
|00005c50| 6c 69 73 74 20 3d 20 77 | 6f 72 64 5f 61 6c 6c 6f |list = w|ord_allo|
|00005c60| 63 28 22 22 29 3b 0a 20 | 20 20 20 20 20 20 20 66 |c("");. | f|
|00005c70| 6f 72 20 28 69 20 3d 20 | 30 3b 20 69 20 3c 20 6e |or (i = |0; i < n|
|00005c80| 70 3b 20 69 2b 2b 29 20 | 7b 0a 0a 2f 2a 20 49 66 |p; i++) |{../* If|
|00005c90| 20 6e 6f 20 74 79 70 65 | 20 70 72 6f 76 69 64 65 | no type| provide|
|00005ca0| 64 2c 20 6d 61 6b 65 20 | 69 74 20 61 6e 20 22 69 |d, make |it an "i|
|00005cb0| 6e 74 22 20 2a 2f 0a 20 | 20 20 20 20 20 20 20 20 |nt" */. | |
|00005cc0| 20 20 20 20 20 20 20 69 | 66 20 28 20 21 28 70 6e | i|f ( !(pn|
|00005cd0| 61 6d 65 5b 69 5d 2d 3e | 6e 65 78 74 29 20 7c 7c |ame[i]->|next) |||
|00005ce0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 28 21 28 70 |. | (!(p|
|00005cf0| 6e 61 6d 65 5b 69 5d 2d | 3e 6e 65 78 74 2d 3e 6e |name[i]-|>next->n|
|00005d00| 65 78 74 29 26 26 73 74 | 72 63 6d 70 28 70 6e 61 |ext)&&st|rcmp(pna|
|00005d10| 6d 65 5b 69 5d 2d 3e 6e | 65 78 74 2d 3e 73 74 72 |me[i]->n|ext->str|
|00005d20| 69 6e 67 2c 20 22 76 6f | 69 64 22 29 29 29 20 7b |ing, "vo|id"))) {|
|00005d30| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00005d40| 20 20 20 20 20 20 20 20 | 20 61 64 64 77 6f 72 64 | | addword|
|00005d50| 28 74 6c 69 73 74 2c 20 | 22 69 6e 74 22 29 3b 0a |(tlist, |"int");.|
|00005d60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005d70| 7d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |}. | |
|00005d80| 20 20 77 68 69 6c 65 20 | 28 74 6c 69 73 74 2d 3e | while |(tlist->|
|00005d90| 6e 65 78 74 29 20 74 6c | 69 73 74 20 3d 20 74 6c |next) tl|ist = tl|
|00005da0| 69 73 74 2d 3e 6e 65 78 | 74 3b 0a 20 20 20 20 20 |ist->nex|t;. |
|00005db0| 20 20 20 20 20 20 20 20 | 20 20 20 74 6c 69 73 74 | | tlist|
|00005dc0| 2d 3e 6e 65 78 74 20 3d | 20 70 6e 61 6d 65 5b 69 |->next =| pname[i|
|00005dd0| 5d 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |];. | |
|00005de0| 20 20 20 69 66 20 28 69 | 20 3c 20 6e 70 20 2d 20 | if (i| < np - |
|00005df0| 31 29 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |1). | |
|00005e00| 20 20 20 20 20 20 20 20 | 20 20 20 61 64 64 77 6f | | addwo|
|00005e10| 72 64 28 74 6c 69 73 74 | 2c 20 22 2c 20 22 29 3b |rd(tlist|, ", ");|
|00005e20| 0a 20 20 20 20 20 20 20 | 20 7d 0a 20 20 20 20 20 |. | }. |
|00005e30| 20 20 20 72 65 74 75 72 | 6e 20 70 6c 69 73 74 3b | retur|n plist;|
|00005e40| 0a 7d 0a 0a 2f 2a 0a 20 | 2a 20 65 6d 69 74 20 61 |.}../*. |* emit a|
|00005e50| 20 66 75 6e 63 74 69 6f | 6e 20 64 65 63 6c 61 72 | functio|n declar|
|00005e60| 61 74 69 6f 6e 2e 20 54 | 68 65 20 61 74 74 72 69 |ation. T|he attri|
|00005e70| 62 75 74 65 73 20 61 6e | 64 20 6e 61 6d 65 20 6f |butes an|d name o|
|00005e80| 66 20 74 68 65 20 66 75 | 6e 63 74 69 6f 6e 0a 20 |f the fu|nction. |
|00005e90| 2a 20 61 72 65 20 69 6e | 20 77 6c 69 73 74 3b 20 |* are in| wlist; |
|00005ea0| 74 68 65 20 70 61 72 61 | 6d 65 74 65 72 73 20 61 |the para|meters a|
|00005eb0| 72 65 20 69 6e 20 70 6c | 69 73 74 2e 0a 20 2a 2f |re in pl|ist.. */|
|00005ec0| 0a 76 6f 69 64 20 65 6d | 69 74 28 77 6c 69 73 74 |.void em|it(wlist|
|00005ed0| 2c 20 70 6c 69 73 74 2c | 20 73 74 61 72 74 6c 69 |, plist,| startli|
|00005ee0| 6e 65 29 0a 20 20 20 20 | 20 20 20 20 57 6f 72 64 |ne). | Word|
|00005ef0| 20 2a 77 6c 69 73 74 2c | 20 2a 70 6c 69 73 74 3b | *wlist,| *plist;|
|00005f00| 0a 20 20 20 20 20 20 20 | 20 6c 6f 6e 67 20 20 73 |. | long s|
|00005f10| 74 61 72 74 6c 69 6e 65 | 3b 0a 7b 0a 20 20 20 20 |tartline|;.{. |
|00005f20| 20 20 20 20 57 6f 72 64 | 20 2a 77 3b 0a 20 20 20 | Word| *w;. |
|00005f30| 20 20 20 20 20 69 6e 74 | 20 63 6f 75 6e 74 20 3d | int| count =|
|00005f40| 20 30 3b 0a 0a 44 45 42 | 55 47 28 22 65 6d 69 74 | 0;..DEB|UG("emit|
|00005f50| 20 63 61 6c 6c 65 64 5c | 6e 22 29 3b 0a 20 20 20 | called\|n");. |
|00005f60| 20 20 20 20 20 69 66 20 | 28 64 6f 6e 75 6d 29 0a | if |(donum).|
|00005f70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005f80| 70 72 69 6e 74 66 28 22 | 2f 2a 25 38 6c 64 20 2a |printf("|/*%8ld *|
|00005f90| 2f 20 22 2c 20 73 74 61 | 72 74 6c 69 6e 65 29 3b |/ ", sta|rtline);|
|00005fa0| 0a 0a 20 20 20 20 20 20 | 20 20 66 6f 72 20 28 77 |.. | for (w|
|00005fb0| 20 3d 20 77 6c 69 73 74 | 3b 20 77 3b 20 77 20 3d | = wlist|; w; w =|
|00005fc0| 20 77 2d 3e 6e 65 78 74 | 29 20 7b 0a 20 20 20 20 | w->next|) {. |
|00005fd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 | | if (|
|00005fe0| 77 2d 3e 73 74 72 69 6e | 67 5b 30 5d 29 0a 20 20 |w->strin|g[0]). |
|00005ff0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00006000| 20 20 20 20 20 20 63 6f | 75 6e 74 20 2b 2b 3b 0a | co|unt ++;.|
|00006010| 20 20 20 20 20 20 20 20 | 7d 0a 0a 20 20 20 20 20 | |}.. |
|00006020| 20 20 20 69 66 20 28 63 | 6f 75 6e 74 20 3c 20 32 | if (c|ount < 2|
|00006030| 29 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | |
|00006040| 20 20 70 72 69 6e 74 66 | 28 22 69 6e 74 20 22 29 | printf|("int ")|
|00006050| 3b 0a 0a 20 20 20 20 20 | 20 20 20 66 6f 72 20 28 |;.. | for (|
|00006060| 77 20 3d 20 77 6c 69 73 | 74 3b 20 77 3b 20 77 20 |w = wlis|t; w; w |
|00006070| 3d 20 77 2d 3e 6e 65 78 | 74 29 20 7b 0a 20 20 20 |= w->nex|t) {. |
|00006080| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 70 72 69 | | pri|
|00006090| 6e 74 66 28 22 25 73 22 | 2c 20 77 2d 3e 73 74 72 |ntf("%s"|, w->str|
|000060a0| 69 6e 67 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |ing);. | |
|000060b0| 20 20 20 20 20 20 69 66 | 20 28 49 53 43 53 59 4d | if| (ISCSYM|
|000060c0| 28 77 2d 3e 73 74 72 69 | 6e 67 5b 30 5d 29 29 0a |(w->stri|ng[0])).|
|000060d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000060e0| 20 20 20 20 20 20 20 20 | 70 72 69 6e 74 66 28 22 | |printf("|
|000060f0| 20 22 29 3b 0a 20 20 20 | 20 20 20 20 20 7d 0a 20 | ");. | }. |
|00006100| 20 20 20 20 20 20 20 69 | 66 20 28 64 6f 63 6f 6e | i|f (docon|
|00006110| 64 29 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |d). | |
|00006120| 20 20 20 70 72 69 6e 74 | 66 28 22 50 28 28 22 29 | print|f("P((")|
|00006130| 3b 0a 20 20 20 20 20 20 | 20 20 65 6c 73 65 0a 20 |;. | else. |
|00006140| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | | p|
|00006150| 72 69 6e 74 66 28 22 28 | 20 22 29 3b 0a 20 20 20 |rintf("(| ");. |
|00006160| 20 20 20 20 20 66 6f 72 | 20 28 77 20 3d 20 70 6c | for| (w = pl|
|00006170| 69 73 74 3b 20 77 3b 20 | 77 20 3d 20 77 2d 3e 6e |ist; w; |w = w->n|
|00006180| 65 78 74 29 20 7b 0a 20 | 20 20 20 20 20 20 20 20 |ext) {. | |
|00006190| 20 20 20 20 20 20 20 70 | 72 69 6e 74 66 28 22 25 | p|rintf("%|
|000061a0| 73 22 2c 20 77 2d 3e 73 | 74 72 69 6e 67 29 3b 0a |s", w->s|tring);.|
|000061b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000061c0| 69 66 20 28 49 53 43 53 | 59 4d 28 77 2d 3e 73 74 |if (ISCS|YM(w->st|
|000061d0| 72 69 6e 67 5b 30 5d 29 | 29 0a 20 20 20 20 20 20 |ring[0])|). |
|000061e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000061f0| 20 20 70 72 69 6e 74 66 | 28 22 20 22 29 3b 0a 20 | printf|(" ");. |
|00006200| 20 20 20 20 20 20 20 7d | 0a 20 20 20 20 20 20 20 | }|. |
|00006210| 20 69 66 20 28 64 6f 63 | 6f 6e 64 29 0a 20 20 20 | if (doc|ond). |
|00006220| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 70 72 69 | | pri|
|00006230| 6e 74 66 28 22 29 29 3b | 5c 6e 22 29 3b 0a 20 20 |ntf("));|\n");. |
|00006240| 20 20 20 20 20 20 65 6c | 73 65 0a 20 20 20 20 20 | el|se. |
|00006250| 20 20 20 20 20 20 20 20 | 20 20 20 70 72 69 6e 74 | | print|
|00006260| 66 28 22 29 3b 5c 6e 22 | 29 3b 0a 7d 0a 0a 2f 2a |f(");\n"|);.}../*|
|00006270| 0a 20 2a 20 67 65 74 20 | 61 6c 6c 20 74 68 65 20 |. * get |all the |
|00006280| 66 75 6e 63 74 69 6f 6e | 20 64 65 63 6c 61 72 61 |function| declara|
|00006290| 74 69 6f 6e 73 0a 20 2a | 2f 0a 0a 76 6f 69 64 20 |tions. *|/..void |
|000062a0| 67 65 74 64 65 63 6c 28 | 66 29 0a 20 20 20 20 20 |getdecl(|f). |
|000062b0| 20 20 20 46 49 4c 45 20 | 2a 66 3b 0a 7b 0a 20 20 | FILE |*f;.{. |
|000062c0| 20 20 20 20 20 20 57 6f | 72 64 20 2a 70 6c 69 73 | Wo|rd *plis|
|000062d0| 74 2c 20 2a 77 6c 69 73 | 74 20 3d 20 4e 55 4c 4c |t, *wlis|t = NULL|
|000062e0| 3b 0a 20 20 20 20 20 20 | 20 20 63 68 61 72 20 62 |;. | char b|
|000062f0| 75 66 5b 38 30 5d 3b 0a | 20 20 20 20 20 20 20 20 |uf[80];.| |
|00006300| 69 6e 74 20 73 61 77 73 | 6f 6d 65 74 68 69 6e 67 |int saws|omething|
|00006310| 3b 0a 20 20 20 20 20 20 | 20 20 6c 6f 6e 67 20 73 |;. | long s|
|00006320| 74 61 72 74 6c 69 6e 65 | 3b 20 20 20 20 20 20 20 |tartline|; |
|00006330| 20 20 2f 2a 20 6c 69 6e | 65 20 77 68 65 72 65 20 | /* lin|e where |
|00006340| 64 65 63 6c 61 72 61 74 | 69 6f 6e 20 73 74 61 72 |declarat|ion star|
|00006350| 74 65 64 20 2a 2f 0a 20 | 20 20 20 20 20 20 20 69 |ted */. | i|
|00006360| 6e 74 20 6f 6b 74 6f 70 | 72 69 6e 74 3b 0a 61 67 |nt oktop|rint;.ag|
|00006370| 61 69 6e 3a 0a 20 20 20 | 20 20 20 20 20 77 6f 72 |ain:. | wor|
|00006380| 64 5f 66 72 65 65 28 77 | 6c 69 73 74 29 3b 0a 20 |d_free(w|list);. |
|00006390| 20 20 20 20 20 20 20 77 | 6c 69 73 74 20 3d 20 77 | w|list = w|
|000063a0| 6f 72 64 5f 61 6c 6c 6f | 63 28 22 22 29 3b 0a 20 |ord_allo|c("");. |
|000063b0| 20 20 20 20 20 20 20 73 | 61 77 73 6f 6d 65 74 68 | s|awsometh|
|000063c0| 69 6e 67 20 3d 20 30 3b | 0a 20 20 20 20 20 20 20 |ing = 0;|. |
|000063d0| 20 6f 6b 74 6f 70 72 69 | 6e 74 20 3d 20 31 3b 0a | oktopri|nt = 1;.|
|000063e0| 0a 20 20 20 20 20 20 20 | 20 66 6f 72 28 3b 3b 29 |. | for(;;)|
|000063f0| 20 7b 0a 44 45 42 55 47 | 28 22 6d 61 69 6e 20 67 | {.DEBUG|("main g|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.