home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume21 / berkeley_yacc / part01 next >
SHell self-extracting ARchive  |  1990-04-05  |  59.1 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: SHell self-extracting ARchive (archive/shar).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Newsgroup Content (archive/news) magic Supported
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file news or mail, ASCII text default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime message/rfc822 default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 53 75 62 6a 65 63 74 3a | 20 20 76 32 31 69 30 37 |Subject:| v21i07|
|00000010| 38 3a 20 20 50 75 62 6c | 69 63 20 64 6f 6d 61 69 |8: Publ|ic domai|
|00000020| 6e 20 42 65 72 6b 65 6c | 65 79 20 59 41 43 43 2c |n Berkel|ey YACC,|
|00000030| 20 50 61 72 74 30 31 2f | 30 35 0a 4e 65 77 73 67 | Part01/|05.Newsg|
|00000040| 72 6f 75 70 73 3a 20 63 | 6f 6d 70 2e 73 6f 75 72 |roups: c|omp.sour|
|00000050| 63 65 73 2e 75 6e 69 78 | 0a 41 70 70 72 6f 76 65 |ces.unix|.Approve|
|00000060| 64 3a 20 72 73 61 6c 7a | 40 75 75 6e 65 74 2e 55 |d: rsalz|@uunet.U|
|00000070| 55 2e 4e 45 54 0a 58 2d | 43 68 65 63 6b 73 75 6d |U.NET.X-|Checksum|
|00000080| 2d 53 6e 65 66 72 75 3a | 20 64 33 38 62 38 37 61 |-Snefru:| d38b87a|
|00000090| 61 20 65 31 31 31 61 65 | 62 36 20 31 63 35 38 66 |a e111ae|b6 1c58f|
|000000a0| 64 31 33 20 65 34 65 32 | 64 34 30 63 0a 0a 53 75 |d13 e4e2|d40c..Su|
|000000b0| 62 6d 69 74 74 65 64 2d | 62 79 3a 20 52 6f 62 65 |bmitted-|by: Robe|
|000000c0| 72 74 20 43 6f 72 62 65 | 74 74 20 3c 63 6f 72 62 |rt Corbe|tt <corb|
|000000d0| 65 74 74 40 65 72 6e 69 | 65 2e 62 65 72 6b 65 6c |ett@erni|e.berkel|
|000000e0| 65 79 2e 65 64 75 3e 0a | 50 6f 73 74 69 6e 67 2d |ey.edu>.|Posting-|
|000000f0| 6e 75 6d 62 65 72 3a 20 | 56 6f 6c 75 6d 65 20 32 |number: |Volume 2|
|00000100| 31 2c 20 49 73 73 75 65 | 20 37 38 0a 41 72 63 68 |1, Issue| 78.Arch|
|00000110| 69 76 65 2d 6e 61 6d 65 | 3a 20 62 65 72 6b 65 6c |ive-name|: berkel|
|00000120| 65 79 5f 79 61 63 63 2f | 70 61 72 74 30 31 0a 0a |ey_yacc/|part01..|
|00000130| 20 20 20 20 42 65 72 6b | 65 6c 65 79 20 59 61 63 | Berk|eley Yac|
|00000140| 63 20 69 73 20 61 6e 20 | 4c 41 4c 52 28 31 29 20 |c is an |LALR(1) |
|00000150| 70 61 72 73 65 72 20 67 | 65 6e 65 72 61 74 6f 72 |parser g|enerator|
|00000160| 2e 20 20 42 65 72 6b 65 | 6c 65 79 20 59 61 63 63 |. Berke|ley Yacc|
|00000170| 20 68 61 73 20 62 65 65 | 6e 20 6d 61 64 65 0a 61 | has bee|n made.a|
|00000180| 73 20 63 6f 6d 70 61 74 | 69 62 6c 65 20 61 73 20 |s compat|ible as |
|00000190| 70 6f 73 73 69 62 6c 65 | 20 77 69 74 68 20 41 54 |possible| with AT|
|000001a0| 26 54 20 59 61 63 63 2e | 20 20 42 65 72 6b 65 6c |&T Yacc.| Berkel|
|000001b0| 65 79 20 59 61 63 63 20 | 63 61 6e 20 61 63 63 65 |ey Yacc |can acce|
|000001c0| 70 74 20 61 6e 79 20 69 | 6e 70 75 74 0a 73 70 65 |pt any i|nput.spe|
|000001d0| 63 69 66 69 63 61 74 69 | 6f 6e 20 74 68 61 74 20 |cificati|on that |
|000001e0| 63 6f 6e 66 6f 72 6d 73 | 20 74 6f 20 74 68 65 20 |conforms| to the |
|000001f0| 41 54 26 54 20 59 61 63 | 63 20 64 6f 63 75 6d 65 |AT&T Yac|c docume|
|00000200| 6e 74 61 74 69 6f 6e 2e | 20 20 53 70 65 63 69 66 |ntation.| Specif|
|00000210| 69 63 61 74 69 6f 6e 73 | 0a 74 68 61 74 20 74 61 |ications|.that ta|
|00000220| 6b 65 20 61 64 76 61 6e | 74 61 67 65 20 6f 66 20 |ke advan|tage of |
|00000230| 75 6e 64 6f 63 75 6d 65 | 6e 74 65 64 20 66 65 61 |undocume|nted fea|
|00000240| 74 75 72 65 73 20 6f 66 | 20 41 54 26 54 20 59 61 |tures of| AT&T Ya|
|00000250| 63 63 20 77 69 6c 6c 20 | 70 72 6f 62 61 62 6c 79 |cc will |probably|
|00000260| 20 62 65 0a 72 65 6a 65 | 63 74 65 64 2e 0a 0a 20 | be.reje|cted... |
|00000270| 20 20 20 42 65 72 6b 65 | 6c 65 79 20 59 61 63 63 | Berke|ley Yacc|
|00000280| 20 69 73 20 64 69 73 74 | 72 69 62 75 74 65 64 20 | is dist|ributed |
|00000290| 77 69 74 68 20 6e 6f 20 | 77 61 72 72 61 6e 74 79 |with no |warranty|
|000002a0| 20 77 68 61 74 65 76 65 | 72 2e 20 20 54 68 65 20 | whateve|r. The |
|000002b0| 63 6f 64 65 20 69 73 20 | 63 65 72 74 61 69 6e 0a |code is |certain.|
|000002c0| 74 6f 20 63 6f 6e 74 61 | 69 6e 20 65 72 72 6f 72 |to conta|in error|
|000002d0| 73 2e 20 20 4e 65 69 74 | 68 65 72 20 74 68 65 20 |s. Neit|her the |
|000002e0| 61 75 74 68 6f 72 20 6e | 6f 72 20 61 6e 79 20 63 |author n|or any c|
|000002f0| 6f 6e 74 72 69 62 75 74 | 6f 72 20 74 61 6b 65 73 |ontribut|or takes|
|00000300| 20 72 65 73 70 6f 6e 73 | 69 62 69 6c 69 74 79 0a | respons|ibility.|
|00000310| 66 6f 72 20 61 6e 79 20 | 63 6f 6e 73 65 71 75 65 |for any |conseque|
|00000320| 6e 63 65 73 20 6f 66 20 | 69 74 73 20 75 73 65 2e |nces of |its use.|
|00000330| 0a 0a 20 20 20 20 42 65 | 72 6b 65 6c 65 79 20 59 |.. Be|rkeley Y|
|00000340| 61 63 63 20 69 73 20 69 | 6e 20 74 68 65 20 70 75 |acc is i|n the pu|
|00000350| 62 6c 69 63 20 64 6f 6d | 61 69 6e 2e 20 20 54 68 |blic dom|ain. Th|
|00000360| 65 20 64 61 74 61 20 73 | 74 72 75 63 74 75 72 65 |e data s|tructure|
|00000370| 73 20 61 6e 64 20 61 6c | 67 6f 72 69 74 68 6d 73 |s and al|gorithms|
|00000380| 0a 75 73 65 64 20 69 6e | 20 42 65 72 6b 65 6c 65 |.used in| Berkele|
|00000390| 79 20 59 61 63 63 20 61 | 72 65 20 61 6c 6c 20 65 |y Yacc a|re all e|
|000003a0| 69 74 68 65 72 20 74 61 | 6b 65 6e 20 66 72 6f 6d |ither ta|ken from|
|000003b0| 20 64 6f 63 75 6d 65 6e | 74 73 20 61 76 61 69 6c | documen|ts avail|
|000003c0| 61 62 6c 65 20 74 6f 20 | 74 68 65 0a 67 65 6e 65 |able to |the.gene|
|000003d0| 72 61 6c 20 70 75 62 6c | 69 63 20 6f 72 20 61 72 |ral publ|ic or ar|
|000003e0| 65 20 69 6e 76 65 6e 74 | 69 6f 6e 73 20 6f 66 20 |e invent|ions of |
|000003f0| 74 68 65 20 61 75 74 68 | 6f 72 2e 20 20 41 6e 79 |the auth|or. Any|
|00000400| 6f 6e 65 20 6d 61 79 20 | 66 72 65 65 6c 79 20 64 |one may |freely d|
|00000410| 69 73 74 72 69 62 75 74 | 65 0a 73 6f 75 72 63 65 |istribut|e.source|
|00000420| 20 6f 72 20 62 69 6e 61 | 72 79 20 66 6f 72 6d 73 | or bina|ry forms|
|00000430| 20 6f 66 20 42 65 72 6b | 65 6c 65 79 20 59 61 63 | of Berk|eley Yac|
|00000440| 63 20 77 68 65 74 68 65 | 72 20 75 6e 63 68 61 6e |c whethe|r unchan|
|00000450| 67 65 64 20 6f 72 20 6d | 6f 64 69 66 69 65 64 2e |ged or m|odified.|
|00000460| 0a 44 69 73 74 72 69 62 | 75 74 65 72 73 20 6d 61 |.Distrib|uters ma|
|00000470| 79 20 63 68 61 72 67 65 | 20 77 68 61 74 65 76 65 |y charge| whateve|
|00000480| 72 20 66 65 65 73 20 74 | 68 65 79 20 63 61 6e 20 |r fees t|hey can |
|00000490| 6f 62 74 61 69 6e 20 66 | 6f 72 20 42 65 72 6b 65 |obtain f|or Berke|
|000004a0| 6c 65 79 20 59 61 63 63 | 2e 0a 50 72 6f 67 72 61 |ley Yacc|..Progra|
|000004b0| 6d 73 20 67 65 6e 65 72 | 61 74 65 64 20 62 79 20 |ms gener|ated by |
|000004c0| 42 65 72 6b 65 6c 65 79 | 20 59 61 63 63 20 6d 61 |Berkeley| Yacc ma|
|000004d0| 79 20 62 65 20 64 69 73 | 74 72 69 62 75 74 65 64 |y be dis|tributed|
|000004e0| 20 66 72 65 65 6c 79 2e | 0a 0a 20 20 20 20 42 75 | freely.|.. Bu|
|000004f0| 67 73 20 6d 61 79 20 62 | 65 20 72 65 70 6f 72 74 |gs may b|e report|
|00000500| 65 64 20 74 6f 0a 0a 09 | 09 09 20 20 63 6f 72 62 |ed to...|.. corb|
|00000510| 65 74 74 40 62 65 72 6b | 65 6c 65 79 2e 65 64 75 |ett@berk|eley.edu|
|00000520| 0a 0a 44 6f 20 6e 6f 74 | 20 65 78 70 65 63 74 20 |..Do not| expect |
|00000530| 72 61 70 69 64 20 72 65 | 73 70 6f 6e 73 65 73 2e |rapid re|sponses.|
|00000540| 0a 23 21 20 2f 62 69 6e | 2f 73 68 0a 23 20 54 68 |.#! /bin|/sh.# Th|
|00000550| 69 73 20 69 73 20 61 20 | 73 68 65 6c 6c 20 61 72 |is is a |shell ar|
|00000560| 63 68 69 76 65 2e 20 20 | 52 65 6d 6f 76 65 20 61 |chive. |Remove a|
|00000570| 6e 79 74 68 69 6e 67 20 | 62 65 66 6f 72 65 20 74 |nything |before t|
|00000580| 68 69 73 20 6c 69 6e 65 | 2c 20 74 68 65 6e 20 75 |his line|, then u|
|00000590| 6e 70 61 63 6b 0a 23 20 | 69 74 20 62 79 20 73 61 |npack.# |it by sa|
|000005a0| 76 69 6e 67 20 69 74 20 | 69 6e 74 6f 20 61 20 66 |ving it |into a f|
|000005b0| 69 6c 65 20 61 6e 64 20 | 74 79 70 69 6e 67 20 22 |ile and |typing "|
|000005c0| 73 68 20 66 69 6c 65 22 | 2e 20 20 54 6f 20 6f 76 |sh file"|. To ov|
|000005d0| 65 72 77 72 69 74 65 20 | 65 78 69 73 74 69 6e 67 |erwrite |existing|
|000005e0| 0a 23 20 66 69 6c 65 73 | 2c 20 74 79 70 65 20 22 |.# files|, type "|
|000005f0| 73 68 20 66 69 6c 65 20 | 2d 63 22 2e 20 20 59 6f |sh file |-c". Yo|
|00000600| 75 20 63 61 6e 20 61 6c | 73 6f 20 66 65 65 64 20 |u can al|so feed |
|00000610| 74 68 69 73 20 61 73 20 | 73 74 61 6e 64 61 72 64 |this as |standard|
|00000620| 20 69 6e 70 75 74 20 76 | 69 61 0a 23 20 75 6e 73 | input v|ia.# uns|
|00000630| 68 61 72 2c 20 6f 72 20 | 62 79 20 74 79 70 69 6e |har, or |by typin|
|00000640| 67 20 22 73 68 20 3c 66 | 69 6c 65 22 2c 20 65 2e |g "sh <f|ile", e.|
|00000650| 67 2e 2e 20 20 49 66 20 | 74 68 69 73 20 61 72 63 |g.. If |this arc|
|00000660| 68 69 76 65 20 69 73 20 | 63 6f 6d 70 6c 65 74 65 |hive is |complete|
|00000670| 2c 20 79 6f 75 0a 23 20 | 77 69 6c 6c 20 73 65 65 |, you.# |will see|
|00000680| 20 74 68 65 20 66 6f 6c | 6c 6f 77 69 6e 67 20 6d | the fol|lowing m|
|00000690| 65 73 73 61 67 65 20 61 | 74 20 74 68 65 20 65 6e |essage a|t the en|
|000006a0| 64 3a 0a 23 09 09 22 45 | 6e 64 20 6f 66 20 61 72 |d:.#.."E|nd of ar|
|000006b0| 63 68 69 76 65 20 31 20 | 28 6f 66 20 35 29 2e 22 |chive 1 |(of 5)."|
|000006c0| 0a 23 20 43 6f 6e 74 65 | 6e 74 73 3a 20 20 41 43 |.# Conte|nts: AC|
|000006d0| 4b 4e 4f 57 4c 45 44 47 | 45 4d 45 4e 54 53 20 4d |KNOWLEDG|EMENTS M|
|000006e0| 41 4e 49 46 45 53 54 20 | 4d 61 6b 65 66 69 6c 65 |ANIFEST |Makefile|
|000006f0| 20 4e 45 57 5f 46 45 41 | 54 55 52 45 53 0a 23 20 | NEW_FEA|TURES.# |
|00000700| 20 20 4e 4f 5f 57 41 52 | 52 41 4e 54 59 20 52 45 | NO_WAR|RANTY RE|
|00000710| 41 44 4d 45 20 63 6c 6f | 73 75 72 65 2e 63 20 64 |ADME clo|sure.c d|
|00000720| 65 66 73 2e 68 20 65 72 | 72 6f 72 2e 63 20 6d 61 |efs.h er|ror.c ma|
|00000730| 69 6e 2e 63 20 6d 61 6e | 70 61 67 65 0a 23 20 20 |in.c man|page.# |
|00000740| 20 73 79 6d 74 61 62 2e | 63 20 74 65 73 74 20 74 | symtab.|c test t|
|00000750| 65 73 74 2f 65 72 72 6f | 72 2e 6f 75 74 70 75 74 |est/erro|r.output|
|00000760| 20 74 65 73 74 2f 65 72 | 72 6f 72 2e 74 61 62 2e | test/er|ror.tab.|
|00000770| 63 20 74 65 73 74 2f 65 | 72 72 6f 72 2e 74 61 62 |c test/e|rror.tab|
|00000780| 2e 68 0a 23 20 20 20 74 | 65 73 74 2f 65 72 72 6f |.h.# t|est/erro|
|00000790| 72 2e 79 20 74 65 73 74 | 2f 66 74 70 2e 74 61 62 |r.y test|/ftp.tab|
|000007a0| 2e 68 20 76 65 72 62 6f | 73 65 2e 63 20 77 61 72 |.h verbo|se.c war|
|000007b0| 73 68 61 6c 6c 2e 63 0a | 23 20 57 72 61 70 70 65 |shall.c.|# Wrappe|
|000007c0| 64 20 62 79 20 72 73 61 | 6c 7a 40 6c 69 74 63 68 |d by rsa|lz@litch|
|000007d0| 69 2e 62 62 6e 2e 63 6f | 6d 20 6f 6e 20 4d 6f 6e |i.bbn.co|m on Mon|
|000007e0| 20 41 70 72 20 20 32 20 | 31 31 3a 34 33 3a 34 31 | Apr 2 |11:43:41|
|000007f0| 20 31 39 39 30 0a 50 41 | 54 48 3d 2f 62 69 6e 3a | 1990.PA|TH=/bin:|
|00000800| 2f 75 73 72 2f 62 69 6e | 3a 2f 75 73 72 2f 75 63 |/usr/bin|:/usr/uc|
|00000810| 62 20 3b 20 65 78 70 6f | 72 74 20 50 41 54 48 0a |b ; expo|rt PATH.|
|00000820| 69 66 20 74 65 73 74 20 | 2d 66 20 27 41 43 4b 4e |if test |-f 'ACKN|
|00000830| 4f 57 4c 45 44 47 45 4d | 45 4e 54 53 27 20 2d 61 |OWLEDGEM|ENTS' -a|
|00000840| 20 22 24 7b 31 7d 22 20 | 21 3d 20 22 2d 63 22 20 | "${1}" |!= "-c" |
|00000850| 3b 20 74 68 65 6e 20 0a | 20 20 65 63 68 6f 20 73 |; then .| echo s|
|00000860| 68 61 72 3a 20 57 69 6c | 6c 20 6e 6f 74 20 63 6c |har: Wil|l not cl|
|00000870| 6f 62 62 65 72 20 65 78 | 69 73 74 69 6e 67 20 66 |obber ex|isting f|
|00000880| 69 6c 65 20 5c 22 27 41 | 43 4b 4e 4f 57 4c 45 44 |ile \"'A|CKNOWLED|
|00000890| 47 45 4d 45 4e 54 53 27 | 5c 22 0a 65 6c 73 65 0a |GEMENTS'|\".else.|
|000008a0| 65 63 68 6f 20 73 68 61 | 72 3a 20 45 78 74 72 61 |echo sha|r: Extra|
|000008b0| 63 74 69 6e 67 20 5c 22 | 27 41 43 4b 4e 4f 57 4c |cting \"|'ACKNOWL|
|000008c0| 45 44 47 45 4d 45 4e 54 | 53 27 5c 22 20 5c 28 37 |EDGEMENT|S'\" \(7|
|000008d0| 35 30 20 63 68 61 72 61 | 63 74 65 72 73 5c 29 0a |50 chara|cters\).|
|000008e0| 73 65 64 20 22 73 2f 5e | 58 2f 2f 22 20 3e 27 41 |sed "s/^|X//" >'A|
|000008f0| 43 4b 4e 4f 57 4c 45 44 | 47 45 4d 45 4e 54 53 27 |CKNOWLED|GEMENTS'|
|00000900| 20 3c 3c 27 45 4e 44 5f | 4f 46 5f 46 49 4c 45 27 | <<'END_|OF_FILE'|
|00000910| 0a 58 20 20 20 20 20 42 | 65 72 6b 65 6c 65 79 20 |.X B|erkeley |
|00000920| 59 61 63 63 20 6f 77 65 | 73 20 6d 75 63 68 20 74 |Yacc owe|s much t|
|00000930| 6f 20 74 68 65 20 75 6e | 66 6c 61 67 67 69 6e 67 |o the un|flagging|
|00000940| 20 65 66 66 6f 72 74 73 | 20 6f 66 20 4b 65 69 74 | efforts| of Keit|
|00000950| 68 20 42 6f 73 74 69 63 | 2e 0a 58 48 69 73 20 62 |h Bostic|..XHis b|
|00000960| 61 64 67 65 72 69 6e 67 | 20 6b 65 70 74 20 6d 65 |adgering| kept me|
|00000970| 20 77 6f 72 6b 69 6e 67 | 20 6f 6e 20 69 74 20 6c | working| on it l|
|00000980| 6f 6e 67 20 61 66 74 65 | 72 20 49 20 77 61 73 20 |ong afte|r I was |
|00000990| 72 65 61 64 79 20 74 6f | 20 71 75 69 74 2e 0a 58 |ready to| quit..X|
|000009a0| 0a 58 20 20 20 20 20 42 | 65 72 6b 65 6c 65 79 20 |.X B|erkeley |
|000009b0| 59 61 63 63 20 69 73 20 | 62 61 73 65 64 20 6f 6e |Yacc is |based on|
|000009c0| 20 74 68 65 20 65 78 63 | 65 6c 6c 65 6e 74 20 61 | the exc|ellent a|
|000009d0| 6c 67 6f 72 69 74 68 6d | 20 66 6f 72 20 63 6f 6d |lgorithm| for com|
|000009e0| 70 75 74 69 6e 67 20 4c | 41 4c 52 28 31 29 0a 58 |puting L|ALR(1).X|
|000009f0| 6c 6f 6f 6b 61 68 65 61 | 64 73 20 64 65 76 65 6c |lookahea|ds devel|
|00000a00| 6f 70 65 64 20 62 79 20 | 54 6f 6d 20 50 65 6e 6e |oped by |Tom Penn|
|00000a10| 65 6c 6c 6f 20 61 6e 64 | 20 46 72 61 6e 6b 20 44 |ello and| Frank D|
|00000a20| 65 52 65 6d 65 72 2e 20 | 20 54 68 65 20 61 6c 67 |eRemer. | The alg|
|00000a30| 6f 72 69 74 68 6d 20 69 | 73 0a 58 64 65 73 63 72 |orithm i|s.Xdescr|
|00000a40| 69 62 65 64 20 69 6e 20 | 74 68 65 69 72 20 61 6c |ibed in |their al|
|00000a50| 6d 6f 73 74 20 69 6d 70 | 65 6e 65 74 72 61 62 6c |most imp|enetrabl|
|00000a60| 65 20 61 72 74 69 63 6c | 65 20 69 6e 20 54 4f 50 |e articl|e in TOP|
|00000a70| 4c 41 53 20 34 2c 34 2e | 0a 58 0a 58 20 20 20 20 |LAS 4,4.|.X.X |
|00000a80| 20 46 69 6e 61 6c 6c 79 | 2c 20 6d 75 63 68 20 6f | Finally|, much o|
|00000a90| 66 20 74 68 65 20 63 72 | 65 64 69 74 20 66 6f 72 |f the cr|edit for|
|00000aa0| 20 74 68 65 20 6c 61 74 | 65 73 74 20 76 65 72 73 | the lat|est vers|
|00000ab0| 69 6f 6e 20 6d 75 73 74 | 20 67 6f 20 74 6f 20 74 |ion must| go to t|
|00000ac0| 68 6f 73 65 0a 58 77 68 | 6f 20 70 6f 69 6e 74 65 |hose.Xwh|o pointe|
|00000ad0| 64 20 6f 75 74 20 64 65 | 66 69 63 69 65 6e 63 69 |d out de|ficienci|
|00000ae0| 65 73 20 6f 66 20 6d 79 | 20 65 61 72 6c 69 65 72 |es of my| earlier|
|00000af0| 20 72 65 6c 65 61 73 65 | 73 2e 20 20 41 6d 6f 6e | release|s. Amon|
|00000b00| 67 20 74 68 65 20 6d 6f | 73 74 0a 58 70 72 6f 6c |g the mo|st.Xprol|
|00000b10| 69 66 69 63 20 63 6f 6e | 74 72 69 62 75 74 6f 72 |ific con|tributor|
|00000b20| 73 20 77 65 72 65 0a 58 | 0a 58 09 20 20 42 65 6e |s were.X|.X. Ben|
|00000b30| 73 6f 6e 20 49 2e 20 4d | 61 72 67 75 6c 69 65 73 |son I. M|argulies|
|00000b40| 0a 58 09 20 20 44 61 76 | 65 20 47 65 6e 74 7a 65 |.X. Dav|e Gentze|
|00000b50| 6c 0a 58 09 20 20 50 65 | 74 65 72 20 53 2e 20 48 |l.X. Pe|ter S. H|
|00000b60| 6f 75 73 65 6c 0a 58 09 | 20 20 44 61 6c 65 20 53 |ousel.X.| Dale S|
|00000b70| 6d 69 74 68 0a 58 09 20 | 20 4f 7a 61 6e 20 59 69 |mith.X. | Ozan Yi|
|00000b80| 67 69 74 0a 58 09 20 20 | 4a 6f 68 6e 20 43 61 6d |git.X. |John Cam|
|00000b90| 70 62 65 6c 6c 0a 58 09 | 20 20 42 69 6c 6c 20 53 |pbell.X.| Bill S|
|00000ba0| 6f 6d 6d 65 72 66 65 6c | 64 0a 58 09 20 20 50 61 |ommerfel|d.X. Pa|
|00000bb0| 75 6c 20 48 69 6c 66 69 | 6e 67 65 72 0a 58 09 20 |ul Hilfi|nger.X. |
|00000bc0| 20 47 61 72 79 20 42 72 | 69 64 67 65 77 61 74 65 | Gary Br|idgewate|
|00000bd0| 72 0a 58 09 20 20 44 61 | 76 65 20 42 61 6b 6b 65 |r.X. Da|ve Bakke|
|00000be0| 6e 0a 58 09 20 20 44 61 | 6e 20 4c 61 6e 63 69 61 |n.X. Da|n Lancia|
|00000bf0| 6e 69 0a 58 09 20 20 52 | 69 63 68 61 72 64 20 53 |ni.X. R|ichard S|
|00000c00| 61 72 67 65 6e 74 0a 58 | 09 20 20 50 61 72 61 67 |argent.X|. Parag|
|00000c10| 20 50 61 74 65 6c 0a 45 | 4e 44 5f 4f 46 5f 46 49 | Patel.E|ND_OF_FI|
|00000c20| 4c 45 0a 69 66 20 74 65 | 73 74 20 37 35 30 20 2d |LE.if te|st 750 -|
|00000c30| 6e 65 20 60 77 63 20 2d | 63 20 3c 27 41 43 4b 4e |ne `wc -|c <'ACKN|
|00000c40| 4f 57 4c 45 44 47 45 4d | 45 4e 54 53 27 60 3b 20 |OWLEDGEM|ENTS'`; |
|00000c50| 74 68 65 6e 0a 20 20 20 | 20 65 63 68 6f 20 73 68 |then. | echo sh|
|00000c60| 61 72 3a 20 5c 22 27 41 | 43 4b 4e 4f 57 4c 45 44 |ar: \"'A|CKNOWLED|
|00000c70| 47 45 4d 45 4e 54 53 27 | 5c 22 20 75 6e 70 61 63 |GEMENTS'|\" unpac|
|00000c80| 6b 65 64 20 77 69 74 68 | 20 77 72 6f 6e 67 20 73 |ked with| wrong s|
|00000c90| 69 7a 65 21 0a 66 69 0a | 23 20 65 6e 64 20 6f 66 |ize!.fi.|# end of|
|00000ca0| 20 27 41 43 4b 4e 4f 57 | 4c 45 44 47 45 4d 45 4e | 'ACKNOW|LEDGEMEN|
|00000cb0| 54 53 27 0a 66 69 0a 69 | 66 20 74 65 73 74 20 2d |TS'.fi.i|f test -|
|00000cc0| 66 20 27 4d 41 4e 49 46 | 45 53 54 27 20 2d 61 20 |f 'MANIF|EST' -a |
|00000cd0| 22 24 7b 31 7d 22 20 21 | 3d 20 22 2d 63 22 20 3b |"${1}" !|= "-c" ;|
|00000ce0| 20 74 68 65 6e 20 0a 20 | 20 65 63 68 6f 20 73 68 | then . | echo sh|
|00000cf0| 61 72 3a 20 57 69 6c 6c | 20 6e 6f 74 20 63 6c 6f |ar: Will| not clo|
|00000d00| 62 62 65 72 20 65 78 69 | 73 74 69 6e 67 20 66 69 |bber exi|sting fi|
|00000d10| 6c 65 20 5c 22 27 4d 41 | 4e 49 46 45 53 54 27 5c |le \"'MA|NIFEST'\|
|00000d20| 22 0a 65 6c 73 65 0a 65 | 63 68 6f 20 73 68 61 72 |".else.e|cho shar|
|00000d30| 3a 20 45 78 74 72 61 63 | 74 69 6e 67 20 5c 22 27 |: Extrac|ting \"'|
|00000d40| 4d 41 4e 49 46 45 53 54 | 27 5c 22 20 5c 28 39 39 |MANIFEST|'\" \(99|
|00000d50| 35 20 63 68 61 72 61 63 | 74 65 72 73 5c 29 0a 73 |5 charac|ters\).s|
|00000d60| 65 64 20 22 73 2f 5e 58 | 2f 2f 22 20 3e 27 4d 41 |ed "s/^X|//" >'MA|
|00000d70| 4e 49 46 45 53 54 27 20 | 3c 3c 27 45 4e 44 5f 4f |NIFEST' |<<'END_O|
|00000d80| 46 5f 46 49 4c 45 27 0a | 58 20 20 20 46 69 6c 65 |F_FILE'.|X File|
|00000d90| 20 4e 61 6d 65 09 09 41 | 72 63 68 69 76 65 20 23 | Name..A|rchive #|
|00000da0| 09 44 65 73 63 72 69 70 | 74 69 6f 6e 0a 58 2d 2d |.Descrip|tion.X--|
|00000db0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000dc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000dd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0a 58 20 41 43 4b 4e |--------|-.X ACKN|
|00000df0| 4f 57 4c 45 44 47 45 4d | 45 4e 54 53 20 20 20 20 |OWLEDGEM|ENTS |
|00000e00| 20 20 20 20 20 20 20 31 | 09 0a 58 20 4d 41 4e 49 | 1|..X MANI|
|00000e10| 46 45 53 54 20 20 20 20 | 20 20 20 20 20 20 20 20 |FEST | |
|00000e20| 20 20 20 20 20 20 20 31 | 09 0a 58 20 4d 61 6b 65 | 1|..X Make|
|00000e30| 66 69 6c 65 20 20 20 20 | 20 20 20 20 20 20 20 20 |file | |
|00000e40| 20 20 20 20 20 20 20 31 | 09 0a 58 20 4e 45 57 5f | 1|..X NEW_|
|00000e50| 46 45 41 54 55 52 45 53 | 20 20 20 20 20 20 20 20 |FEATURES| |
|00000e60| 20 20 20 20 20 20 20 31 | 09 0a 58 20 4e 4f 5f 57 | 1|..X NO_W|
|00000e70| 41 52 52 41 4e 54 59 20 | 20 20 20 20 20 20 20 20 |ARRANTY | |
|00000e80| 20 20 20 20 20 20 20 31 | 09 0a 58 20 52 45 41 44 | 1|..X READ|
|00000e90| 4d 45 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ME | |
|00000ea0| 20 20 20 20 20 20 20 31 | 09 0a 58 20 63 6c 6f 73 | 1|..X clos|
|00000eb0| 75 72 65 2e 63 20 20 20 | 20 20 20 20 20 20 20 20 |ure.c | |
|00000ec0| 20 20 20 20 20 20 20 31 | 09 0a 58 20 64 65 66 73 | 1|..X defs|
|00000ed0| 2e 68 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.h | |
|00000ee0| 20 20 20 20 20 20 20 31 | 09 0a 58 20 65 72 72 6f | 1|..X erro|
|00000ef0| 72 2e 63 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r.c | |
|00000f00| 20 20 20 20 20 20 20 31 | 09 0a 58 20 6c 61 6c 72 | 1|..X lalr|
|00000f10| 2e 63 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.c | |
|00000f20| 20 20 20 20 20 20 20 32 | 09 0a 58 20 6c 72 30 2e | 2|..X lr0.|
|00000f30| 63 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |c | |
|00000f40| 20 20 20 20 20 20 20 32 | 09 0a 58 20 6d 61 69 6e | 2|..X main|
|00000f50| 2e 63 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.c | |
|00000f60| 20 20 20 20 20 20 20 31 | 09 0a 58 20 6d 61 6e 70 | 1|..X manp|
|00000f70| 61 67 65 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |age | |
|00000f80| 20 20 20 20 20 20 20 31 | 09 0a 58 20 6d 6b 70 61 | 1|..X mkpa|
|00000f90| 72 2e 63 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r.c | |
|00000fa0| 20 20 20 20 20 20 20 32 | 09 0a 58 20 6f 75 74 70 | 2|..X outp|
|00000fb0| 75 74 2e 63 20 20 20 20 | 20 20 20 20 20 20 20 20 |ut.c | |
|00000fc0| 20 20 20 20 20 20 20 33 | 09 0a 58 20 72 65 61 64 | 3|..X read|
|00000fd0| 65 72 2e 63 20 20 20 20 | 20 20 20 20 20 20 20 20 |er.c | |
|00000fe0| 20 20 20 20 20 20 20 34 | 09 0a 58 20 73 6b 65 6c | 4|..X skel|
|00000ff0| 65 74 6f 6e 2e 63 20 20 | 20 20 20 20 20 20 20 20 |eton.c | |
|00001000| 20 20 20 20 20 20 20 32 | 09 0a 58 20 73 79 6d 74 | 2|..X symt|
|00001010| 61 62 2e 63 20 20 20 20 | 20 20 20 20 20 20 20 20 |ab.c | |
|00001020| 20 20 20 20 20 20 20 31 | 09 0a 58 20 74 65 73 74 | 1|..X test|
|00001030| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001040| 20 20 20 20 20 20 20 31 | 09 0a 58 20 74 65 73 74 | 1|..X test|
|00001050| 2f 65 72 72 6f 72 2e 6f | 75 74 70 75 74 20 20 20 |/error.o|utput |
|00001060| 20 20 20 20 20 20 20 31 | 09 0a 58 20 74 65 73 74 | 1|..X test|
|00001070| 2f 65 72 72 6f 72 2e 74 | 61 62 2e 63 20 20 20 20 |/error.t|ab.c |
|00001080| 20 20 20 20 20 20 20 31 | 09 0a 58 20 74 65 73 74 | 1|..X test|
|00001090| 2f 65 72 72 6f 72 2e 74 | 61 62 2e 68 20 20 20 20 |/error.t|ab.h |
|000010a0| 20 20 20 20 20 20 20 31 | 09 0a 58 20 74 65 73 74 | 1|..X test|
|000010b0| 2f 65 72 72 6f 72 2e 79 | 20 20 20 20 20 20 20 20 |/error.y| |
|000010c0| 20 20 20 20 20 20 20 31 | 09 0a 58 20 74 65 73 74 | 1|..X test|
|000010d0| 2f 66 74 70 2e 6f 75 74 | 70 75 74 20 20 20 20 20 |/ftp.out|put |
|000010e0| 20 20 20 20 20 20 20 33 | 09 0a 58 20 74 65 73 74 | 3|..X test|
|000010f0| 2f 66 74 70 2e 74 61 62 | 2e 63 20 20 20 20 20 20 |/ftp.tab|.c |
|00001100| 20 20 20 20 20 20 20 35 | 09 0a 58 20 74 65 73 74 | 5|..X test|
|00001110| 2f 66 74 70 2e 74 61 62 | 2e 68 20 20 20 20 20 20 |/ftp.tab|.h |
|00001120| 20 20 20 20 20 20 20 31 | 09 0a 58 20 74 65 73 74 | 1|..X test|
|00001130| 2f 66 74 70 2e 79 20 20 | 20 20 20 20 20 20 20 20 |/ftp.y | |
|00001140| 20 20 20 20 20 20 20 34 | 09 0a 58 20 76 65 72 62 | 4|..X verb|
|00001150| 6f 73 65 2e 63 20 20 20 | 20 20 20 20 20 20 20 20 |ose.c | |
|00001160| 20 20 20 20 20 20 20 31 | 09 0a 58 20 77 61 72 73 | 1|..X wars|
|00001170| 68 61 6c 6c 2e 63 20 20 | 20 20 20 20 20 20 20 20 |hall.c | |
|00001180| 20 20 20 20 20 20 20 31 | 09 0a 45 4e 44 5f 4f 46 | 1|..END_OF|
|00001190| 5f 46 49 4c 45 0a 69 66 | 20 74 65 73 74 20 39 39 |_FILE.if| test 99|
|000011a0| 35 20 2d 6e 65 20 60 77 | 63 20 2d 63 20 3c 27 4d |5 -ne `w|c -c <'M|
|000011b0| 41 4e 49 46 45 53 54 27 | 60 3b 20 74 68 65 6e 0a |ANIFEST'|`; then.|
|000011c0| 20 20 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 5c | echo| shar: \|
|000011d0| 22 27 4d 41 4e 49 46 45 | 53 54 27 5c 22 20 75 6e |"'MANIFE|ST'\" un|
|000011e0| 70 61 63 6b 65 64 20 77 | 69 74 68 20 77 72 6f 6e |packed w|ith wron|
|000011f0| 67 20 73 69 7a 65 21 0a | 66 69 0a 23 20 65 6e 64 |g size!.|fi.# end|
|00001200| 20 6f 66 20 27 4d 41 4e | 49 46 45 53 54 27 0a 66 | of 'MAN|IFEST'.f|
|00001210| 69 0a 69 66 20 74 65 73 | 74 20 2d 66 20 27 4d 61 |i.if tes|t -f 'Ma|
|00001220| 6b 65 66 69 6c 65 27 20 | 2d 61 20 22 24 7b 31 7d |kefile' |-a "${1}|
|00001230| 22 20 21 3d 20 22 2d 63 | 22 20 3b 20 74 68 65 6e |" != "-c|" ; then|
|00001240| 20 0a 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 57 | . echo| shar: W|
|00001250| 69 6c 6c 20 6e 6f 74 20 | 63 6c 6f 62 62 65 72 20 |ill not |clobber |
|00001260| 65 78 69 73 74 69 6e 67 | 20 66 69 6c 65 20 5c 22 |existing| file \"|
|00001270| 27 4d 61 6b 65 66 69 6c | 65 27 5c 22 0a 65 6c 73 |'Makefil|e'\".els|
|00001280| 65 0a 65 63 68 6f 20 73 | 68 61 72 3a 20 45 78 74 |e.echo s|har: Ext|
|00001290| 72 61 63 74 69 6e 67 20 | 5c 22 27 4d 61 6b 65 66 |racting |\"'Makef|
|000012a0| 69 6c 65 27 5c 22 20 5c | 28 31 33 36 35 20 63 68 |ile'\" \|(1365 ch|
|000012b0| 61 72 61 63 74 65 72 73 | 5c 29 0a 73 65 64 20 22 |aracters|\).sed "|
|000012c0| 73 2f 5e 58 2f 2f 22 20 | 3e 27 4d 61 6b 65 66 69 |s/^X//" |>'Makefi|
|000012d0| 6c 65 27 20 3c 3c 27 45 | 4e 44 5f 4f 46 5f 46 49 |le' <<'E|ND_OF_FI|
|000012e0| 4c 45 27 0a 58 44 45 53 | 54 09 20 20 20 20 20 20 |LE'.XDES|T. |
|000012f0| 3d 20 2e 0a 58 0a 58 48 | 44 52 53 09 20 20 20 20 |= ..X.XH|DRS. |
|00001300| 20 20 3d 20 64 65 66 73 | 2e 68 0a 58 0a 58 43 46 | = defs|.h.X.XCF|
|00001310| 4c 41 47 53 09 20 20 20 | 20 20 20 3d 20 2d 4f 0a |LAGS. | = -O.|
|00001320| 58 0a 58 4c 44 46 4c 41 | 47 53 09 20 20 20 20 20 |X.XLDFLA|GS. |
|00001330| 20 3d 0a 58 0a 58 4c 49 | 42 53 09 20 20 20 20 20 | =.X.XLI|BS. |
|00001340| 20 3d 0a 58 0a 58 4c 49 | 4e 4b 45 52 09 20 20 20 | =.X.XLI|NKER. |
|00001350| 20 20 20 3d 20 63 63 0a | 58 0a 58 4d 41 4b 45 46 | = cc.|X.XMAKEF|
|00001360| 49 4c 45 20 20 20 20 20 | 20 3d 20 4d 61 6b 65 66 |ILE | = Makef|
|00001370| 69 6c 65 0a 58 0a 58 4f | 42 4a 53 09 20 20 20 20 |ile.X.XO|BJS. |
|00001380| 20 20 3d 20 63 6c 6f 73 | 75 72 65 2e 6f 20 5c 0a | = clos|ure.o \.|
|00001390| 58 09 09 65 72 72 6f 72 | 2e 6f 20 5c 0a 58 09 09 |X..error|.o \.X..|
|000013a0| 6c 61 6c 72 2e 6f 20 5c | 0a 58 09 09 6c 72 30 2e |lalr.o \|.X..lr0.|
|000013b0| 6f 20 5c 0a 58 09 09 6d | 61 69 6e 2e 6f 20 5c 0a |o \.X..m|ain.o \.|
|000013c0| 58 09 09 6d 6b 70 61 72 | 2e 6f 20 5c 0a 58 09 09 |X..mkpar|.o \.X..|
|000013d0| 6f 75 74 70 75 74 2e 6f | 20 5c 0a 58 09 09 72 65 |output.o| \.X..re|
|000013e0| 61 64 65 72 2e 6f 20 5c | 0a 58 09 09 73 6b 65 6c |ader.o \|.X..skel|
|000013f0| 65 74 6f 6e 2e 6f 20 5c | 0a 58 09 09 73 79 6d 74 |eton.o \|.X..symt|
|00001400| 61 62 2e 6f 20 5c 0a 58 | 09 09 76 65 72 62 6f 73 |ab.o \.X|..verbos|
|00001410| 65 2e 6f 20 5c 0a 58 09 | 09 77 61 72 73 68 61 6c |e.o \.X.|.warshal|
|00001420| 6c 2e 6f 0a 58 0a 58 50 | 52 49 4e 54 09 20 20 20 |l.o.X.XP|RINT. |
|00001430| 20 20 20 3d 20 70 72 20 | 2d 66 20 2d 6c 38 38 0a | = pr |-f -l88.|
|00001440| 58 0a 58 50 52 4f 47 52 | 41 4d 09 20 20 20 20 20 |X.XPROGR|AM. |
|00001450| 20 3d 20 79 61 63 63 0a | 58 0a 58 53 52 43 53 09 | = yacc.|X.XSRCS.|
|00001460| 20 20 20 20 20 20 3d 20 | 63 6c 6f 73 75 72 65 2e | = |closure.|
|00001470| 63 20 5c 0a 58 09 09 65 | 72 72 6f 72 2e 63 20 5c |c \.X..e|rror.c \|
|00001480| 0a 58 09 09 6c 61 6c 72 | 2e 63 20 5c 0a 58 09 09 |.X..lalr|.c \.X..|
|00001490| 6c 72 30 2e 63 20 5c 0a | 58 09 09 6d 61 69 6e 2e |lr0.c \.|X..main.|
|000014a0| 63 20 5c 0a 58 09 09 6d | 6b 70 61 72 2e 63 20 5c |c \.X..m|kpar.c \|
|000014b0| 0a 58 09 09 6f 75 74 70 | 75 74 2e 63 20 5c 0a 58 |.X..outp|ut.c \.X|
|000014c0| 09 09 72 65 61 64 65 72 | 2e 63 20 5c 0a 58 09 09 |..reader|.c \.X..|
|000014d0| 73 6b 65 6c 65 74 6f 6e | 2e 63 20 5c 0a 58 09 09 |skeleton|.c \.X..|
|000014e0| 73 79 6d 74 61 62 2e 63 | 20 5c 0a 58 09 09 76 65 |symtab.c| \.X..ve|
|000014f0| 72 62 6f 73 65 2e 63 20 | 5c 0a 58 09 09 77 61 72 |rbose.c |\.X..war|
|00001500| 73 68 61 6c 6c 2e 63 0a | 58 0a 58 61 6c 6c 3a 09 |shall.c.|X.Xall:.|
|00001510| 09 24 28 50 52 4f 47 52 | 41 4d 29 0a 58 0a 58 24 |.$(PROGR|AM).X.X$|
|00001520| 28 50 52 4f 47 52 41 4d | 29 3a 20 20 20 20 20 24 |(PROGRAM|): $|
|00001530| 28 4f 42 4a 53 29 20 24 | 28 4c 49 42 53 29 0a 58 |(OBJS) $|(LIBS).X|
|00001540| 09 09 40 65 63 68 6f 20 | 2d 6e 20 22 4c 6f 61 64 |..@echo |-n "Load|
|00001550| 69 6e 67 20 24 28 50 52 | 4f 47 52 41 4d 29 20 2e |ing $(PR|OGRAM) .|
|00001560| 2e 2e 20 22 0a 58 09 09 | 40 24 28 4c 49 4e 4b 45 |.. ".X..|@$(LINKE|
|00001570| 52 29 20 24 28 4c 44 46 | 4c 41 47 53 29 20 24 28 |R) $(LDF|LAGS) $(|
|00001580| 4f 42 4a 53 29 20 24 28 | 4c 49 42 53 29 20 2d 6f |OBJS) $(|LIBS) -o|
|00001590| 20 24 28 50 52 4f 47 52 | 41 4d 29 0a 58 09 09 40 | $(PROGR|AM).X..@|
|000015a0| 65 63 68 6f 20 22 64 6f | 6e 65 22 0a 58 0a 58 63 |echo "do|ne".X.Xc|
|000015b0| 6c 65 61 6e 3a 3b 09 09 | 40 72 6d 20 2d 66 20 24 |lean:;..|@rm -f $|
|000015c0| 28 4f 42 4a 53 29 0a 58 | 0a 58 64 65 70 65 6e 64 |(OBJS).X|.Xdepend|
|000015d0| 3a 3b 09 40 6d 6b 6d 66 | 20 2d 66 20 24 28 4d 41 |:;.@mkmf| -f $(MA|
|000015e0| 4b 45 46 49 4c 45 29 20 | 50 52 4f 47 52 41 4d 3d |KEFILE) |PROGRAM=|
|000015f0| 24 28 50 52 4f 47 52 41 | 4d 29 20 44 45 53 54 3d |$(PROGRA|M) DEST=|
|00001600| 24 28 44 45 53 54 29 0a | 58 0a 58 69 6e 64 65 78 |$(DEST).|X.Xindex|
|00001610| 3a 3b 09 09 40 63 74 61 | 67 73 20 2d 77 78 20 24 |:;..@cta|gs -wx $|
|00001620| 28 48 44 52 53 29 20 24 | 28 53 52 43 53 29 0a 58 |(HDRS) $|(SRCS).X|
|00001630| 0a 58 69 6e 73 74 61 6c | 6c 3a 09 24 28 50 52 4f |.Xinstal|l:.$(PRO|
|00001640| 47 52 41 4d 29 0a 58 09 | 09 40 65 63 68 6f 20 49 |GRAM).X.|.@echo I|
|00001650| 6e 73 74 61 6c 6c 69 6e | 67 20 24 28 50 52 4f 47 |nstallin|g $(PROG|
|00001660| 52 41 4d 29 20 69 6e 20 | 24 28 44 45 53 54 29 0a |RAM) in |$(DEST).|
|00001670| 58 09 09 40 69 6e 73 74 | 61 6c 6c 20 2d 73 20 24 |X..@inst|all -s $|
|00001680| 28 50 52 4f 47 52 41 4d | 29 20 24 28 44 45 53 54 |(PROGRAM|) $(DEST|
|00001690| 29 0a 58 0a 58 6c 69 73 | 74 69 6e 67 3a 3b 09 40 |).X.Xlis|ting:;.@|
|000016a0| 24 28 50 52 49 4e 54 29 | 20 4d 61 6b 65 66 69 6c |$(PRINT)| Makefil|
|000016b0| 65 20 24 28 48 44 52 53 | 29 20 24 28 53 52 43 53 |e $(HDRS|) $(SRCS|
|000016c0| 29 20 7c 20 6c 70 72 0a | 58 0a 58 6c 69 6e 74 3a |) | lpr.|X.Xlint:|
|000016d0| 3b 09 09 40 6c 69 6e 74 | 20 24 28 53 52 43 53 29 |;..@lint| $(SRCS)|
|000016e0| 0a 58 0a 58 70 72 6f 67 | 72 61 6d 3a 20 20 20 20 |.X.Xprog|ram: |
|000016f0| 20 20 20 20 24 28 50 52 | 4f 47 52 41 4d 29 0a 58 | $(PR|OGRAM).X|
|00001700| 0a 58 74 61 67 73 3a 20 | 20 20 20 20 20 20 20 20 |.Xtags: | |
|00001710| 20 20 24 28 48 44 52 53 | 29 20 24 28 53 52 43 53 | $(HDRS|) $(SRCS|
|00001720| 29 3b 20 40 63 74 61 67 | 73 20 24 28 48 44 52 53 |); @ctag|s $(HDRS|
|00001730| 29 20 24 28 53 52 43 53 | 29 0a 58 0a 58 75 70 64 |) $(SRCS|).X.Xupd|
|00001740| 61 74 65 3a 09 09 24 28 | 44 45 53 54 29 2f 24 28 |ate:..$(|DEST)/$(|
|00001750| 50 52 4f 47 52 41 4d 29 | 0a 58 0a 58 24 28 44 45 |PROGRAM)|.X.X$(DE|
|00001760| 53 54 29 2f 24 28 50 52 | 4f 47 52 41 4d 29 3a 20 |ST)/$(PR|OGRAM): |
|00001770| 24 28 53 52 43 53 29 20 | 24 28 4c 49 42 53 29 20 |$(SRCS) |$(LIBS) |
|00001780| 24 28 48 44 52 53 29 0a | 58 09 09 40 6d 61 6b 65 |$(HDRS).|X..@make|
|00001790| 20 2d 66 20 24 28 4d 41 | 4b 45 46 49 4c 45 29 20 | -f $(MA|KEFILE) |
|000017a0| 44 45 53 54 3d 24 28 44 | 45 53 54 29 20 69 6e 73 |DEST=$(D|EST) ins|
|000017b0| 74 61 6c 6c 0a 58 23 23 | 23 0a 58 63 6c 6f 73 75 |tall.X##|#.Xclosu|
|000017c0| 72 65 2e 6f 3a 20 64 65 | 66 73 2e 68 0a 58 65 72 |re.o: de|fs.h.Xer|
|000017d0| 72 6f 72 2e 6f 3a 20 64 | 65 66 73 2e 68 0a 58 6c |ror.o: d|efs.h.Xl|
|000017e0| 61 6c 72 2e 6f 3a 20 64 | 65 66 73 2e 68 0a 58 6c |alr.o: d|efs.h.Xl|
|000017f0| 72 30 2e 63 3a 20 64 65 | 66 73 2e 68 0a 58 6d 61 |r0.c: de|fs.h.Xma|
|00001800| 69 6e 2e 6f 3a 20 64 65 | 66 73 2e 68 0a 58 6d 6b |in.o: de|fs.h.Xmk|
|00001810| 70 61 72 2e 6f 3a 20 64 | 65 66 73 2e 68 0a 58 6f |par.o: d|efs.h.Xo|
|00001820| 75 74 70 75 74 2e 6f 3a | 20 64 65 66 73 2e 68 0a |utput.o:| defs.h.|
|00001830| 58 72 65 61 64 65 72 2e | 6f 3a 20 64 65 66 73 2e |Xreader.|o: defs.|
|00001840| 68 0a 58 73 6b 65 6c 65 | 74 6f 6e 2e 6f 3a 20 64 |h.Xskele|ton.o: d|
|00001850| 65 66 73 2e 68 0a 58 73 | 79 6d 74 61 62 2e 6f 3a |efs.h.Xs|ymtab.o:|
|00001860| 20 64 65 66 73 2e 68 0a | 58 76 65 72 62 6f 73 65 | defs.h.|Xverbose|
|00001870| 2e 6f 3a 20 64 65 66 73 | 2e 68 0a 58 77 61 72 73 |.o: defs|.h.Xwars|
|00001880| 68 61 6c 6c 2e 6f 3a 20 | 64 65 66 73 2e 68 0a 45 |hall.o: |defs.h.E|
|00001890| 4e 44 5f 4f 46 5f 46 49 | 4c 45 0a 69 66 20 74 65 |ND_OF_FI|LE.if te|
|000018a0| 73 74 20 31 33 36 35 20 | 2d 6e 65 20 60 77 63 20 |st 1365 |-ne `wc |
|000018b0| 2d 63 20 3c 27 4d 61 6b | 65 66 69 6c 65 27 60 3b |-c <'Mak|efile'`;|
|000018c0| 20 74 68 65 6e 0a 20 20 | 20 20 65 63 68 6f 20 73 | then. | echo s|
|000018d0| 68 61 72 3a 20 5c 22 27 | 4d 61 6b 65 66 69 6c 65 |har: \"'|Makefile|
|000018e0| 27 5c 22 20 75 6e 70 61 | 63 6b 65 64 20 77 69 74 |'\" unpa|cked wit|
|000018f0| 68 20 77 72 6f 6e 67 20 | 73 69 7a 65 21 0a 66 69 |h wrong |size!.fi|
|00001900| 0a 23 20 65 6e 64 20 6f | 66 20 27 4d 61 6b 65 66 |.# end o|f 'Makef|
|00001910| 69 6c 65 27 0a 66 69 0a | 69 66 20 74 65 73 74 20 |ile'.fi.|if test |
|00001920| 2d 66 20 27 4e 45 57 5f | 46 45 41 54 55 52 45 53 |-f 'NEW_|FEATURES|
|00001930| 27 20 2d 61 20 22 24 7b | 31 7d 22 20 21 3d 20 22 |' -a "${|1}" != "|
|00001940| 2d 63 22 20 3b 20 74 68 | 65 6e 20 0a 20 20 65 63 |-c" ; th|en . ec|
|00001950| 68 6f 20 73 68 61 72 3a | 20 57 69 6c 6c 20 6e 6f |ho shar:| Will no|
|00001960| 74 20 63 6c 6f 62 62 65 | 72 20 65 78 69 73 74 69 |t clobbe|r existi|
|00001970| 6e 67 20 66 69 6c 65 20 | 5c 22 27 4e 45 57 5f 46 |ng file |\"'NEW_F|
|00001980| 45 41 54 55 52 45 53 27 | 5c 22 0a 65 6c 73 65 0a |EATURES'|\".else.|
|00001990| 65 63 68 6f 20 73 68 61 | 72 3a 20 45 78 74 72 61 |echo sha|r: Extra|
|000019a0| 63 74 69 6e 67 20 5c 22 | 27 4e 45 57 5f 46 45 41 |cting \"|'NEW_FEA|
|000019b0| 54 55 52 45 53 27 5c 22 | 20 5c 28 32 35 34 31 20 |TURES'\"| \(2541 |
|000019c0| 63 68 61 72 61 63 74 65 | 72 73 5c 29 0a 73 65 64 |characte|rs\).sed|
|000019d0| 20 22 73 2f 5e 58 2f 2f | 22 20 3e 27 4e 45 57 5f | "s/^X//|" >'NEW_|
|000019e0| 46 45 41 54 55 52 45 53 | 27 20 3c 3c 27 45 4e 44 |FEATURES|' <<'END|
|000019f0| 5f 4f 46 5f 46 49 4c 45 | 27 0a 58 20 20 20 20 20 |_OF_FILE|'.X |
|00001a00| 54 68 69 73 20 76 65 72 | 73 69 6f 6e 20 6f 66 20 |This ver|sion of |
|00001a10| 42 65 72 6b 65 6c 65 79 | 20 59 61 63 63 20 68 61 |Berkeley| Yacc ha|
|00001a20| 73 20 62 65 65 6e 20 65 | 78 74 65 6e 73 69 76 65 |s been e|xtensive|
|00001a30| 6c 79 20 72 65 6f 72 67 | 61 6e 69 7a 65 64 20 61 |ly reorg|anized a|
|00001a40| 6e 64 0a 58 63 6f 6e 74 | 61 69 6e 73 20 6d 61 6e |nd.Xcont|ains man|
|00001a50| 79 20 6e 65 77 20 66 65 | 61 74 75 72 65 73 2e 20 |y new fe|atures. |
|00001a60| 20 49 74 20 69 73 20 61 | 6e 20 61 6d 61 6c 67 61 | It is a|n amalga|
|00001a70| 6d 20 6f 66 20 74 68 72 | 65 65 20 65 61 72 6c 69 |m of thr|ee earli|
|00001a80| 65 72 20 76 65 72 73 69 | 6f 6e 73 0a 58 6f 66 20 |er versi|ons.Xof |
|00001a90| 42 65 72 6b 65 6c 65 79 | 20 59 61 63 63 2e 20 20 |Berkeley| Yacc. |
|00001aa0| 49 74 20 69 73 20 6c 61 | 72 67 65 6c 79 20 75 6e |It is la|rgely un|
|00001ab0| 74 65 73 74 65 64 2c 20 | 73 6f 20 65 78 70 65 63 |tested, |so expec|
|00001ac0| 74 20 69 74 20 74 6f 20 | 63 6f 6e 74 61 69 6e 20 |t it to |contain |
|00001ad0| 62 75 67 73 2e 0a 58 57 | 68 65 6e 20 62 75 67 73 |bugs..XW|hen bugs|
|00001ae0| 20 61 72 65 20 66 6f 75 | 6e 64 20 72 65 70 6f 72 | are fou|nd repor|
|00001af0| 74 20 74 68 65 6d 20 74 | 6f 20 63 6f 72 62 65 74 |t them t|o corbet|
|00001b00| 74 40 62 65 72 6b 65 6c | 65 79 2e 65 64 75 2e 20 |t@berkel|ey.edu. |
|00001b10| 20 50 6c 65 61 73 65 0a | 58 69 6e 63 6c 75 64 65 | Please.|Xinclude|
|00001b20| 20 73 6d 61 6c 6c 20 65 | 78 61 6d 70 6c 65 73 20 | small e|xamples |
|00001b30| 69 66 20 70 6f 73 73 69 | 62 6c 65 2e 0a 58 0a 58 |if possi|ble..X.X|
|00001b40| 20 20 20 20 20 44 65 73 | 70 69 74 65 20 6d 79 20 | Des|pite my |
|00001b50| 70 6c 65 61 73 20 6e 6f | 74 20 74 6f 20 62 65 20 |pleas no|t to be |
|00001b60| 74 6f 6c 64 20 6f 66 20 | 75 6e 64 6f 63 75 6d 65 |told of |undocume|
|00001b70| 6e 74 65 64 20 66 65 61 | 74 75 72 65 73 20 6f 66 |nted fea|tures of|
|00001b80| 20 41 54 26 54 20 59 61 | 63 63 2c 0a 58 49 20 68 | AT&T Ya|cc,.XI h|
|00001b90| 61 76 65 20 72 65 63 65 | 69 76 65 64 20 75 6e 73 |ave rece|ived uns|
|00001ba0| 6f 6c 69 63 69 74 65 64 | 20 64 65 73 63 72 69 70 |olicited| descrip|
|00001bb0| 74 69 6f 6e 73 20 6f 66 | 20 73 75 63 68 20 66 65 |tions of| such fe|
|00001bc0| 61 74 75 72 65 73 2e 20 | 20 54 65 6c 6c 69 6e 67 |atures. | Telling|
|00001bd0| 20 6d 65 20 6f 66 0a 58 | 73 75 63 68 20 66 65 61 | me of.X|such fea|
|00001be0| 74 75 72 65 73 20 70 6c | 61 63 65 73 20 74 68 65 |tures pl|aces the|
|00001bf0| 20 70 75 62 6c 69 63 2d | 64 6f 6d 61 69 6e 20 73 | public-|domain s|
|00001c00| 74 61 74 75 73 20 6f 66 | 20 42 65 72 6b 65 6c 65 |tatus of| Berkele|
|00001c10| 79 20 59 61 63 63 20 61 | 74 20 72 69 73 6b 2e 0a |y Yacc a|t risk..|
|00001c20| 58 50 6c 65 61 73 65 20 | 64 6f 20 6e 6f 74 20 73 |XPlease |do not s|
|00001c30| 65 6e 64 20 6d 65 20 64 | 65 73 63 72 69 70 74 69 |end me d|escripti|
|00001c40| 6f 6e 73 20 6f 66 20 75 | 6e 64 6f 63 75 6d 65 6e |ons of u|ndocumen|
|00001c50| 74 65 64 20 66 65 61 74 | 75 72 65 73 2e 20 20 4f |ted feat|ures. O|
|00001c60| 6e 20 74 68 65 0a 58 6f | 74 68 65 72 20 68 61 6e |n the.Xo|ther han|
|00001c70| 64 2c 20 49 20 77 6f 75 | 6c 64 20 62 65 20 76 65 |d, I wou|ld be ve|
|00001c80| 72 79 20 69 6e 74 65 72 | 65 73 74 65 64 20 69 6e |ry inter|ested in|
|00001c90| 20 6c 65 61 72 6e 69 6e | 67 20 6f 66 20 64 6f 63 | learnin|g of doc|
|00001ca0| 75 6d 65 6e 74 65 64 0a | 58 66 65 61 74 75 72 65 |umented.|Xfeature|
|00001cb0| 73 20 49 20 68 61 76 65 | 20 6e 6f 74 20 69 6d 70 |s I have| not imp|
|00001cc0| 6c 65 6d 65 6e 74 65 64 | 2e 0a 58 0a 58 20 20 20 |lemented|..X.X |
|00001cd0| 20 20 54 68 65 20 2d 6c | 20 61 6e 64 20 2d 74 20 | The -l| and -t |
|00001ce0| 6f 70 74 69 6f 6e 73 20 | 68 61 76 65 20 62 65 65 |options |have bee|
|00001cf0| 6e 20 69 6d 70 6c 65 6d | 65 6e 74 65 64 2e 20 20 |n implem|ented. |
|00001d00| 54 68 65 20 2d 6c 20 6f | 70 74 69 6f 6e 20 74 65 |The -l o|ption te|
|00001d10| 6c 6c 73 0a 58 59 61 63 | 63 20 6e 6f 74 20 74 6f |lls.XYac|c not to|
|00001d20| 20 69 6e 63 6c 75 64 65 | 20 23 6c 69 6e 65 20 64 | include| #line d|
|00001d30| 69 72 65 63 74 69 76 65 | 73 20 69 6e 20 74 68 65 |irective|s in the|
|00001d40| 20 63 6f 64 65 20 69 74 | 20 70 72 6f 64 75 63 65 | code it| produce|
|00001d50| 73 2e 20 20 54 68 65 20 | 2d 74 0a 58 6f 70 74 69 |s. The |-t.Xopti|
|00001d60| 6f 6e 20 63 61 75 73 65 | 73 20 64 65 62 75 67 67 |on cause|s debugg|
|00001d70| 69 6e 67 20 63 6f 64 65 | 20 74 6f 20 62 65 20 69 |ing code| to be i|
|00001d80| 6e 63 6c 75 64 65 64 20 | 69 6e 20 74 68 65 20 63 |ncluded |in the c|
|00001d90| 6f 6d 70 69 6c 65 64 20 | 70 61 72 73 65 72 2e 0a |ompiled |parser..|
|00001da0| 58 0a 58 20 20 20 20 20 | 54 68 65 20 63 6f 64 65 |X.X |The code|
|00001db0| 20 66 6f 72 20 65 72 72 | 6f 72 20 72 65 63 6f 76 | for err|or recov|
|00001dc0| 65 72 79 20 68 61 73 20 | 62 65 65 6e 20 63 68 61 |ery has |been cha|
|00001dd0| 6e 67 65 64 20 74 6f 20 | 69 6d 70 6c 65 6d 65 6e |nged to |implemen|
|00001de0| 74 20 74 68 65 20 73 61 | 6d 65 0a 58 61 6c 67 6f |t the sa|me.Xalgo|
|00001df0| 72 69 74 68 6d 20 61 73 | 20 41 54 26 54 20 59 61 |rithm as| AT&T Ya|
|00001e00| 63 63 2e 20 20 54 68 65 | 72 65 20 77 69 6c 6c 20 |cc. The|re will |
|00001e10| 73 74 69 6c 6c 20 62 65 | 20 64 69 66 66 65 72 65 |still be| differe|
|00001e20| 6e 63 65 73 20 69 6e 20 | 74 68 65 20 77 61 79 0a |nces in |the way.|
|00001e30| 58 65 72 72 6f 72 20 72 | 65 63 6f 76 65 72 79 20 |Xerror r|ecovery |
|00001e40| 77 6f 72 6b 73 20 62 65 | 63 61 75 73 65 20 41 54 |works be|cause AT|
|00001e50| 26 54 20 59 61 63 63 20 | 75 73 65 73 20 6d 6f 72 |&T Yacc |uses mor|
|00001e60| 65 20 64 65 66 61 75 6c | 74 20 72 65 64 75 63 74 |e defaul|t reduct|
|00001e70| 69 6f 6e 73 0a 58 74 68 | 61 6e 20 42 65 72 65 6b |ions.Xth|an Berek|
|00001e80| 65 6c 65 79 20 59 61 63 | 63 2e 0a 58 0a 58 20 20 |eley Yac|c..X.X |
|00001e90| 20 20 20 54 68 65 20 65 | 6e 76 69 72 6f 6e 6d 65 | The e|nvironme|
|00001ea0| 6e 74 20 76 61 72 69 61 | 62 6c 65 20 54 4d 50 44 |nt varia|ble TMPD|
|00001eb0| 49 52 20 64 65 74 65 72 | 6d 69 6e 65 73 20 74 68 |IR deter|mines th|
|00001ec0| 65 20 64 69 72 65 63 74 | 6f 72 79 20 77 68 65 72 |e direct|ory wher|
|00001ed0| 65 0a 58 74 65 6d 70 6f | 72 61 72 79 20 66 69 6c |e.Xtempo|rary fil|
|00001ee0| 65 73 20 77 69 6c 6c 20 | 62 65 20 63 72 65 61 74 |es will |be creat|
|00001ef0| 65 64 2e 20 20 49 66 20 | 54 4d 50 44 49 52 20 69 |ed. If |TMPDIR i|
|00001f00| 73 20 64 65 66 69 6e 65 | 64 2c 20 74 65 6d 70 6f |s define|d, tempo|
|00001f10| 72 61 72 79 20 66 69 6c | 65 73 0a 58 77 69 6c 6c |rary fil|es.Xwill|
|00001f20| 20 62 65 20 63 72 65 61 | 74 65 64 20 69 6e 20 74 | be crea|ted in t|
|00001f30| 68 65 20 64 69 72 65 63 | 74 6f 72 79 20 77 68 6f |he direc|tory who|
|00001f40| 73 65 20 70 61 74 68 6e | 61 6d 65 20 69 73 20 74 |se pathn|ame is t|
|00001f50| 68 65 20 76 61 6c 75 65 | 20 6f 66 20 54 4d 50 44 |he value| of TMPD|
|00001f60| 49 52 2e 0a 58 42 79 20 | 64 65 66 61 75 6c 74 2c |IR..XBy |default,|
|00001f70| 20 74 65 6d 70 6f 72 61 | 72 79 20 66 69 6c 65 73 | tempora|ry files|
|00001f80| 20 61 72 65 20 63 72 65 | 61 74 65 64 20 69 6e 20 | are cre|ated in |
|00001f90| 2f 74 6d 70 2e 0a 58 0a | 58 20 20 20 20 20 54 68 |/tmp..X.|X Th|
|00001fa0| 65 20 6b 65 79 77 6f 72 | 64 73 20 61 72 65 20 6e |e keywor|ds are n|
|00001fb0| 6f 77 20 63 61 73 65 2d | 69 6e 73 65 6e 73 69 74 |ow case-|insensit|
|00001fc0| 69 76 65 2e 20 20 46 6f | 72 20 65 78 61 6d 70 6c |ive. Fo|r exampl|
|00001fd0| 65 2c 20 25 6e 6f 6e 61 | 73 73 6f 63 2c 0a 58 25 |e, %nona|ssoc,.X%|
|00001fe0| 4e 4f 4e 41 53 53 4f 43 | 2c 20 25 4e 6f 6e 41 73 |NONASSOC|, %NonAs|
|00001ff0| 73 6f 63 2c 20 61 6e 64 | 20 25 6e 4f 6e 41 73 53 |soc, and| %nOnAsS|
|00002000| 6f 43 20 61 72 65 20 61 | 6c 6c 20 65 71 75 69 76 |oC are a|ll equiv|
|00002010| 61 6c 65 6e 74 2e 0a 58 | 0a 58 20 20 20 20 20 43 |alent..X|.X C|
|00002020| 6f 6d 6d 61 73 20 61 6e | 64 20 73 65 6d 69 63 6f |ommas an|d semico|
|00002030| 6c 6f 6e 73 20 74 68 61 | 74 20 61 72 65 20 6e 6f |lons tha|t are no|
|00002040| 74 20 70 61 72 74 20 6f | 66 20 43 20 63 6f 64 65 |t part o|f C code|
|00002050| 20 61 72 65 20 74 72 65 | 61 74 65 64 20 61 73 0a | are tre|ated as.|
|00002060| 58 63 6f 6d 6d 65 6e 74 | 61 72 79 2e 0a 58 0a 58 |Xcomment|ary..X.X|
|00002070| 20 20 20 20 20 4c 69 6e | 65 2d 65 6e 64 20 63 6f | Lin|e-end co|
|00002080| 6d 6d 65 6e 74 73 2c 20 | 61 73 20 69 6e 20 42 43 |mments, |as in BC|
|00002090| 50 4c 2c 20 61 72 65 20 | 70 65 72 6d 69 74 74 65 |PL, are |permitte|
|000020a0| 64 2e 20 20 4c 69 6e 65 | 2d 65 6e 64 20 63 6f 6d |d. Line|-end com|
|000020b0| 6d 65 6e 74 73 0a 58 62 | 65 67 69 6e 20 77 69 74 |ments.Xb|egin wit|
|000020c0| 68 20 2f 2f 20 61 6e 64 | 20 65 6e 64 20 61 74 20 |h // and| end at |
|000020d0| 74 68 65 20 6e 65 78 74 | 20 65 6e 64 2d 6f 66 2d |the next| end-of-|
|000020e0| 6c 69 6e 65 2e 20 20 4c | 69 6e 65 2d 65 6e 64 20 |line. L|ine-end |
|000020f0| 63 6f 6d 6d 65 6e 74 73 | 20 61 72 65 0a 58 70 65 |comments| are.Xpe|
|00002100| 72 6d 69 74 74 65 64 20 | 69 6e 20 43 20 63 6f 64 |rmitted |in C cod|
|00002110| 65 3b 20 74 68 65 79 20 | 61 72 65 20 63 6f 6e 76 |e; they |are conv|
|00002120| 65 72 74 65 64 20 74 6f | 20 43 20 63 6f 6d 6d 65 |erted to| C comme|
|00002130| 6e 74 73 20 6f 6e 20 6f | 75 74 70 75 74 2e 0a 58 |nts on o|utput..X|
|00002140| 0a 58 20 20 20 20 20 54 | 68 65 20 66 6f 72 6d 20 |.X T|he form |
|00002150| 6f 66 20 79 2e 6f 75 74 | 70 75 74 20 66 69 6c 65 |of y.out|put file|
|00002160| 73 20 68 61 73 20 62 65 | 65 6e 20 63 68 61 6e 67 |s has be|en chang|
|00002170| 65 64 20 74 6f 20 6c 6f | 6f 6b 20 6d 6f 72 65 20 |ed to lo|ok more |
|00002180| 6c 69 6b 65 0a 58 74 68 | 6f 73 65 20 70 72 6f 64 |like.Xth|ose prod|
|00002190| 75 63 65 64 20 62 79 20 | 41 54 26 54 20 59 61 63 |uced by |AT&T Yac|
|000021a0| 63 2e 0a 58 0a 58 20 20 | 20 20 20 41 20 6e 65 77 |c..X.X | A new|
|000021b0| 20 6b 69 6e 64 20 6f 66 | 20 64 65 63 6c 61 72 61 | kind of| declara|
|000021c0| 74 69 6f 6e 20 68 61 73 | 20 62 65 65 6e 20 61 64 |tion has| been ad|
|000021d0| 64 65 64 2e 20 20 54 68 | 65 20 66 6f 72 6d 20 6f |ded. Th|e form o|
|000021e0| 66 20 74 68 65 20 64 65 | 63 6c 61 72 61 74 69 6f |f the de|claratio|
|000021f0| 6e 0a 58 69 73 0a 58 0a | 58 09 20 20 25 69 64 65 |n.Xis.X.|X. %ide|
|00002200| 6e 74 20 73 74 72 69 6e | 67 0a 58 0a 58 77 68 65 |nt strin|g.X.Xwhe|
|00002210| 72 65 20 73 74 72 69 6e | 67 20 69 73 20 61 20 73 |re strin|g is a s|
|00002220| 65 71 75 65 6e 63 65 20 | 6f 66 20 63 68 61 72 61 |equence |of chara|
|00002230| 63 74 65 72 73 20 62 65 | 67 69 6e 69 6e 67 20 77 |cters be|gining w|
|00002240| 69 74 68 20 61 20 64 6f | 75 62 6c 65 20 71 75 6f |ith a do|uble quo|
|00002250| 74 65 0a 58 61 6e 64 20 | 65 6e 64 69 6e 67 20 77 |te.Xand |ending w|
|00002260| 69 74 68 20 65 69 74 68 | 65 72 20 61 20 64 6f 75 |ith eith|er a dou|
|00002270| 62 6c 65 20 71 75 6f 74 | 65 20 6f 72 20 74 68 65 |ble quot|e or the|
|00002280| 20 6e 65 78 74 20 65 6e | 64 2d 6f 66 2d 6c 69 6e | next en|d-of-lin|
|00002290| 65 2c 20 77 68 69 63 68 | 65 76 65 72 0a 58 63 6f |e, which|ever.Xco|
|000022a0| 6d 65 73 20 66 69 72 73 | 74 2e 20 20 54 68 65 20 |mes firs|t. The |
|000022b0| 64 65 63 6c 61 72 61 74 | 69 6f 6e 20 77 69 6c 6c |declarat|ion will|
|000022c0| 20 63 61 75 73 65 20 61 | 20 23 69 64 65 6e 74 20 | cause a| #ident |
|000022d0| 64 69 72 65 63 74 69 76 | 65 20 74 6f 20 62 65 20 |directiv|e to be |
|000022e0| 77 72 69 74 74 65 6e 0a | 58 6e 65 61 72 20 74 68 |written.|Xnear th|
|000022f0| 65 20 73 74 61 72 74 20 | 6f 66 20 74 68 65 20 6f |e start |of the o|
|00002300| 75 74 70 75 74 20 66 69 | 6c 65 2e 0a 58 0a 58 20 |utput fi|le..X.X |
|00002310| 20 20 20 20 49 66 20 61 | 20 70 61 72 73 65 72 20 | If a| parser |
|00002320| 68 61 73 20 62 65 65 6e | 20 63 6f 6d 70 69 6c 65 |has been| compile|
|00002330| 64 20 77 69 74 68 20 64 | 65 62 75 67 67 69 6e 67 |d with d|ebugging|
|00002340| 20 63 6f 64 65 2c 20 74 | 68 61 74 20 63 6f 64 65 | code, t|hat code|
|00002350| 20 63 61 6e 20 62 65 0a | 58 65 6e 61 62 6c 65 64 | can be.|Xenabled|
|00002360| 20 62 79 20 73 65 74 74 | 69 6e 67 20 61 6e 20 65 | by sett|ing an e|
|00002370| 6e 76 69 72 6f 6e 6d 65 | 6e 74 20 76 61 72 69 61 |nvironme|nt varia|
|00002380| 62 6c 65 2e 20 20 49 66 | 20 74 68 65 20 65 6e 76 |ble. If| the env|
|00002390| 69 72 6f 6e 6d 65 6e 74 | 20 76 61 72 69 61 62 6c |ironment| variabl|
|000023a0| 65 0a 58 59 59 44 45 42 | 55 47 20 69 73 20 73 65 |e.XYYDEB|UG is se|
|000023b0| 74 20 74 6f 20 30 2c 20 | 64 65 62 75 67 67 69 6e |t to 0, |debuggin|
|000023c0| 67 20 6f 75 74 70 75 74 | 20 69 73 20 73 75 70 70 |g output| is supp|
|000023d0| 72 65 73 73 65 64 2e 20 | 20 49 66 20 69 74 20 69 |ressed. | If it i|
|000023e0| 73 20 73 65 74 20 74 6f | 20 31 2c 0a 58 64 65 62 |s set to| 1,.Xdeb|
|000023f0| 75 67 67 69 6e 67 20 6f | 75 74 70 75 74 20 69 73 |ugging o|utput is|
|00002400| 20 77 72 69 74 74 65 6e | 20 74 6f 20 73 74 61 6e | written| to stan|
|00002410| 64 61 72 64 20 6f 75 74 | 70 75 74 2e 0a 45 4e 44 |dard out|put..END|
|00002420| 5f 4f 46 5f 46 49 4c 45 | 0a 69 66 20 74 65 73 74 |_OF_FILE|.if test|
|00002430| 20 32 35 34 31 20 2d 6e | 65 20 60 77 63 20 2d 63 | 2541 -n|e `wc -c|
|00002440| 20 3c 27 4e 45 57 5f 46 | 45 41 54 55 52 45 53 27 | <'NEW_F|EATURES'|
|00002450| 60 3b 20 74 68 65 6e 0a | 20 20 20 20 65 63 68 6f |`; then.| echo|
|00002460| 20 73 68 61 72 3a 20 5c | 22 27 4e 45 57 5f 46 45 | shar: \|"'NEW_FE|
|00002470| 41 54 55 52 45 53 27 5c | 22 20 75 6e 70 61 63 6b |ATURES'\|" unpack|
|00002480| 65 64 20 77 69 74 68 20 | 77 72 6f 6e 67 20 73 69 |ed with |wrong si|
|00002490| 7a 65 21 0a 66 69 0a 23 | 20 65 6e 64 20 6f 66 20 |ze!.fi.#| end of |
|000024a0| 27 4e 45 57 5f 46 45 41 | 54 55 52 45 53 27 0a 66 |'NEW_FEA|TURES'.f|
|000024b0| 69 0a 69 66 20 74 65 73 | 74 20 2d 66 20 27 4e 4f |i.if tes|t -f 'NO|
|000024c0| 5f 57 41 52 52 41 4e 54 | 59 27 20 2d 61 20 22 24 |_WARRANT|Y' -a "$|
|000024d0| 7b 31 7d 22 20 21 3d 20 | 22 2d 63 22 20 3b 20 74 |{1}" != |"-c" ; t|
|000024e0| 68 65 6e 20 0a 20 20 65 | 63 68 6f 20 73 68 61 72 |hen . e|cho shar|
|000024f0| 3a 20 57 69 6c 6c 20 6e | 6f 74 20 63 6c 6f 62 62 |: Will n|ot clobb|
|00002500| 65 72 20 65 78 69 73 74 | 69 6e 67 20 66 69 6c 65 |er exist|ing file|
|00002510| 20 5c 22 27 4e 4f 5f 57 | 41 52 52 41 4e 54 59 27 | \"'NO_W|ARRANTY'|
|00002520| 5c 22 0a 65 6c 73 65 0a | 65 63 68 6f 20 73 68 61 |\".else.|echo sha|
|00002530| 72 3a 20 45 78 74 72 61 | 63 74 69 6e 67 20 5c 22 |r: Extra|cting \"|
|00002540| 27 4e 4f 5f 57 41 52 52 | 41 4e 54 59 27 5c 22 20 |'NO_WARR|ANTY'\" |
|00002550| 5c 28 31 35 36 20 63 68 | 61 72 61 63 74 65 72 73 |\(156 ch|aracters|
|00002560| 5c 29 0a 73 65 64 20 22 | 73 2f 5e 58 2f 2f 22 20 |\).sed "|s/^X//" |
|00002570| 3e 27 4e 4f 5f 57 41 52 | 52 41 4e 54 59 27 20 3c |>'NO_WAR|RANTY' <|
|00002580| 3c 27 45 4e 44 5f 4f 46 | 5f 46 49 4c 45 27 0a 58 |<'END_OF|_FILE'.X|
|00002590| 20 20 20 20 20 42 65 72 | 6b 65 6c 65 79 20 59 61 | Ber|keley Ya|
|000025a0| 63 63 20 69 73 20 64 69 | 73 74 72 69 62 75 74 65 |cc is di|stribute|
|000025b0| 64 20 77 69 74 68 20 6e | 6f 20 77 61 72 72 61 6e |d with n|o warran|
|000025c0| 74 79 20 77 68 61 74 65 | 76 65 72 2e 20 20 54 68 |ty whate|ver. Th|
|000025d0| 65 20 61 75 74 68 6f 72 | 0a 58 61 6e 64 20 61 6e |e author|.Xand an|
|000025e0| 79 20 6f 74 68 65 72 20 | 63 6f 6e 74 72 69 62 75 |y other |contribu|
|000025f0| 74 6f 72 73 20 74 61 6b | 65 20 6e 6f 20 72 65 73 |tors tak|e no res|
|00002600| 70 6f 6e 73 69 62 69 6c | 69 74 79 20 66 6f 72 20 |ponsibil|ity for |
|00002610| 74 68 65 20 63 6f 6e 73 | 65 71 75 65 6e 63 65 73 |the cons|equences|
|00002620| 20 6f 66 0a 58 69 74 73 | 20 75 73 65 2e 0a 45 4e | of.Xits| use..EN|
|00002630| 44 5f 4f 46 5f 46 49 4c | 45 0a 69 66 20 74 65 73 |D_OF_FIL|E.if tes|
|00002640| 74 20 31 35 36 20 2d 6e | 65 20 60 77 63 20 2d 63 |t 156 -n|e `wc -c|
|00002650| 20 3c 27 4e 4f 5f 57 41 | 52 52 41 4e 54 59 27 60 | <'NO_WA|RRANTY'`|
|00002660| 3b 20 74 68 65 6e 0a 20 | 20 20 20 65 63 68 6f 20 |; then. | echo |
|00002670| 73 68 61 72 3a 20 5c 22 | 27 4e 4f 5f 57 41 52 52 |shar: \"|'NO_WARR|
|00002680| 41 4e 54 59 27 5c 22 20 | 75 6e 70 61 63 6b 65 64 |ANTY'\" |unpacked|
|00002690| 20 77 69 74 68 20 77 72 | 6f 6e 67 20 73 69 7a 65 | with wr|ong size|
|000026a0| 21 0a 66 69 0a 23 20 65 | 6e 64 20 6f 66 20 27 4e |!.fi.# e|nd of 'N|
|000026b0| 4f 5f 57 41 52 52 41 4e | 54 59 27 0a 66 69 0a 69 |O_WARRAN|TY'.fi.i|
|000026c0| 66 20 74 65 73 74 20 2d | 66 20 27 52 45 41 44 4d |f test -|f 'READM|
|000026d0| 45 27 20 2d 61 20 22 24 | 7b 31 7d 22 20 21 3d 20 |E' -a "$|{1}" != |
|000026e0| 22 2d 63 22 20 3b 20 74 | 68 65 6e 20 0a 20 20 65 |"-c" ; t|hen . e|
|000026f0| 63 68 6f 20 73 68 61 72 | 3a 20 57 69 6c 6c 20 6e |cho shar|: Will n|
|00002700| 6f 74 20 63 6c 6f 62 62 | 65 72 20 65 78 69 73 74 |ot clobb|er exist|
|00002710| 69 6e 67 20 66 69 6c 65 | 20 5c 22 27 52 45 41 44 |ing file| \"'READ|
|00002720| 4d 45 27 5c 22 0a 65 6c | 73 65 0a 65 63 68 6f 20 |ME'\".el|se.echo |
|00002730| 73 68 61 72 3a 20 45 78 | 74 72 61 63 74 69 6e 67 |shar: Ex|tracting|
|00002740| 20 5c 22 27 52 45 41 44 | 4d 45 27 5c 22 20 5c 28 | \"'READ|ME'\" \(|
|00002750| 31 30 34 31 20 63 68 61 | 72 61 63 74 65 72 73 5c |1041 cha|racters\|
|00002760| 29 0a 73 65 64 20 22 73 | 2f 5e 58 2f 2f 22 20 3e |).sed "s|/^X//" >|
|00002770| 27 52 45 41 44 4d 45 27 | 20 3c 3c 27 45 4e 44 5f |'README'| <<'END_|
|00002780| 4f 46 5f 46 49 4c 45 27 | 0a 58 20 20 20 20 42 65 |OF_FILE'|.X Be|
|00002790| 72 6b 65 6c 65 79 20 59 | 61 63 63 20 69 73 20 61 |rkeley Y|acc is a|
|000027a0| 6e 20 4c 41 4c 52 28 31 | 29 20 70 61 72 73 65 72 |n LALR(1|) parser|
|000027b0| 20 67 65 6e 65 72 61 74 | 6f 72 2e 20 20 42 65 72 | generat|or. Ber|
|000027c0| 6b 65 6c 65 79 20 59 61 | 63 63 20 68 61 73 20 62 |keley Ya|cc has b|
|000027d0| 65 65 6e 20 6d 61 64 65 | 0a 58 61 73 20 63 6f 6d |een made|.Xas com|
|000027e0| 70 61 74 69 62 6c 65 20 | 61 73 20 70 6f 73 73 69 |patible |as possi|
|000027f0| 62 6c 65 20 77 69 74 68 | 20 41 54 26 54 20 59 61 |ble with| AT&T Ya|
|00002800| 63 63 2e 20 20 42 65 72 | 6b 65 6c 65 79 20 59 61 |cc. Ber|keley Ya|
|00002810| 63 63 20 63 61 6e 20 61 | 63 63 65 70 74 20 61 6e |cc can a|ccept an|
|00002820| 79 20 69 6e 70 75 74 0a | 58 73 70 65 63 69 66 69 |y input.|Xspecifi|
|00002830| 63 61 74 69 6f 6e 20 74 | 68 61 74 20 63 6f 6e 66 |cation t|hat conf|
|00002840| 6f 72 6d 73 20 74 6f 20 | 74 68 65 20 41 54 26 54 |orms to |the AT&T|
|00002850| 20 59 61 63 63 20 64 6f | 63 75 6d 65 6e 74 61 74 | Yacc do|cumentat|
|00002860| 69 6f 6e 2e 20 20 53 70 | 65 63 69 66 69 63 61 74 |ion. Sp|ecificat|
|00002870| 69 6f 6e 73 0a 58 74 68 | 61 74 20 74 61 6b 65 20 |ions.Xth|at take |
|00002880| 61 64 76 61 6e 74 61 67 | 65 20 6f 66 20 75 6e 64 |advantag|e of und|
|00002890| 6f 63 75 6d 65 6e 74 65 | 64 20 66 65 61 74 75 72 |ocumente|d featur|
|000028a0| 65 73 20 6f 66 20 41 54 | 26 54 20 59 61 63 63 20 |es of AT|&T Yacc |
|000028b0| 77 69 6c 6c 20 70 72 6f | 62 61 62 6c 79 20 62 65 |will pro|bably be|
|000028c0| 0a 58 72 65 6a 65 63 74 | 65 64 2e 0a 58 0a 58 20 |.Xreject|ed..X.X |
|000028d0| 20 20 20 42 65 72 6b 65 | 6c 65 79 20 59 61 63 63 | Berke|ley Yacc|
|000028e0| 20 69 73 20 64 69 73 74 | 72 69 62 75 74 65 64 20 | is dist|ributed |
|000028f0| 77 69 74 68 20 6e 6f 20 | 77 61 72 72 61 6e 74 79 |with no |warranty|
|00002900| 20 77 68 61 74 65 76 65 | 72 2e 20 20 54 68 65 20 | whateve|r. The |
|00002910| 63 6f 64 65 20 69 73 20 | 63 65 72 74 61 69 6e 0a |code is |certain.|
|00002920| 58 74 6f 20 63 6f 6e 74 | 61 69 6e 20 65 72 72 6f |Xto cont|ain erro|
|00002930| 72 73 2e 20 20 4e 65 69 | 74 68 65 72 20 74 68 65 |rs. Nei|ther the|
|00002940| 20 61 75 74 68 6f 72 20 | 6e 6f 72 20 61 6e 79 20 | author |nor any |
|00002950| 63 6f 6e 74 72 69 62 75 | 74 6f 72 20 74 61 6b 65 |contribu|tor take|
|00002960| 73 20 72 65 73 70 6f 6e | 73 69 62 69 6c 69 74 79 |s respon|sibility|
|00002970| 0a 58 66 6f 72 20 61 6e | 79 20 63 6f 6e 73 65 71 |.Xfor an|y conseq|
|00002980| 75 65 6e 63 65 73 20 6f | 66 20 69 74 73 20 75 73 |uences o|f its us|
|00002990| 65 2e 0a 58 0a 58 20 20 | 20 20 42 65 72 6b 65 6c |e..X.X | Berkel|
|000029a0| 65 79 20 59 61 63 63 20 | 69 73 20 69 6e 20 74 68 |ey Yacc |is in th|
|000029b0| 65 20 70 75 62 6c 69 63 | 20 64 6f 6d 61 69 6e 2e |e public| domain.|
|000029c0| 20 20 54 68 65 20 64 61 | 74 61 20 73 74 72 75 63 | The da|ta struc|
|000029d0| 74 75 72 65 73 20 61 6e | 64 20 61 6c 67 6f 72 69 |tures an|d algori|
|000029e0| 74 68 6d 73 0a 58 75 73 | 65 64 20 69 6e 20 42 65 |thms.Xus|ed in Be|
|000029f0| 72 6b 65 6c 65 79 20 59 | 61 63 63 20 61 72 65 20 |rkeley Y|acc are |
|00002a00| 61 6c 6c 20 65 69 74 68 | 65 72 20 74 61 6b 65 6e |all eith|er taken|
|00002a10| 20 66 72 6f 6d 20 64 6f | 63 75 6d 65 6e 74 73 20 | from do|cuments |
|00002a20| 61 76 61 69 6c 61 62 6c | 65 20 74 6f 20 74 68 65 |availabl|e to the|
|00002a30| 0a 58 67 65 6e 65 72 61 | 6c 20 70 75 62 6c 69 63 |.Xgenera|l public|
|00002a40| 20 6f 72 20 61 72 65 20 | 69 6e 76 65 6e 74 69 6f | or are |inventio|
|00002a50| 6e 73 20 6f 66 20 74 68 | 65 20 61 75 74 68 6f 72 |ns of th|e author|
|00002a60| 2e 20 20 41 6e 79 6f 6e | 65 20 6d 61 79 20 66 72 |. Anyon|e may fr|
|00002a70| 65 65 6c 79 20 64 69 73 | 74 72 69 62 75 74 65 0a |eely dis|tribute.|
|00002a80| 58 73 6f 75 72 63 65 20 | 6f 72 20 62 69 6e 61 72 |Xsource |or binar|
|00002a90| 79 20 66 6f 72 6d 73 20 | 6f 66 20 42 65 72 6b 65 |y forms |of Berke|
|00002aa0| 6c 65 79 20 59 61 63 63 | 20 77 68 65 74 68 65 72 |ley Yacc| whether|
|00002ab0| 20 75 6e 63 68 61 6e 67 | 65 64 20 6f 72 20 6d 6f | unchang|ed or mo|
|00002ac0| 64 69 66 69 65 64 2e 0a | 58 44 69 73 74 72 69 62 |dified..|XDistrib|
|00002ad0| 75 74 65 72 73 20 6d 61 | 79 20 63 68 61 72 67 65 |uters ma|y charge|
|00002ae0| 20 77 68 61 74 65 76 65 | 72 20 66 65 65 73 20 74 | whateve|r fees t|
|00002af0| 68 65 79 20 63 61 6e 20 | 6f 62 74 61 69 6e 20 66 |hey can |obtain f|
|00002b00| 6f 72 20 42 65 72 6b 65 | 6c 65 79 20 59 61 63 63 |or Berke|ley Yacc|
|00002b10| 2e 0a 58 50 72 6f 67 72 | 61 6d 73 20 67 65 6e 65 |..XProgr|ams gene|
|00002b20| 72 61 74 65 64 20 62 79 | 20 42 65 72 6b 65 6c 65 |rated by| Berkele|
|00002b30| 79 20 59 61 63 63 20 6d | 61 79 20 62 65 20 64 69 |y Yacc m|ay be di|
|00002b40| 73 74 72 69 62 75 74 65 | 64 20 66 72 65 65 6c 79 |stribute|d freely|
|00002b50| 2e 0a 58 0a 58 20 20 20 | 20 42 75 67 73 20 6d 61 |..X.X | Bugs ma|
|00002b60| 79 20 62 65 20 72 65 70 | 6f 72 74 65 64 20 74 6f |y be rep|orted to|
|00002b70| 0a 58 0a 58 09 09 09 20 | 20 63 6f 72 62 65 74 74 |.X.X... | corbett|
|00002b80| 40 62 65 72 6b 65 6c 65 | 79 2e 65 64 75 0a 58 0a |@berkele|y.edu.X.|
|00002b90| 58 44 6f 20 6e 6f 74 20 | 65 78 70 65 63 74 20 72 |XDo not |expect r|
|00002ba0| 61 70 69 64 20 72 65 73 | 70 6f 6e 73 65 73 2e 0a |apid res|ponses..|
|00002bb0| 45 4e 44 5f 4f 46 5f 46 | 49 4c 45 0a 69 66 20 74 |END_OF_F|ILE.if t|
|00002bc0| 65 73 74 20 31 30 34 31 | 20 2d 6e 65 20 60 77 63 |est 1041| -ne `wc|
|00002bd0| 20 2d 63 20 3c 27 52 45 | 41 44 4d 45 27 60 3b 20 | -c <'RE|ADME'`; |
|00002be0| 74 68 65 6e 0a 20 20 20 | 20 65 63 68 6f 20 73 68 |then. | echo sh|
|00002bf0| 61 72 3a 20 5c 22 27 52 | 45 41 44 4d 45 27 5c 22 |ar: \"'R|EADME'\"|
|00002c00| 20 75 6e 70 61 63 6b 65 | 64 20 77 69 74 68 20 77 | unpacke|d with w|
|00002c10| 72 6f 6e 67 20 73 69 7a | 65 21 0a 66 69 0a 23 20 |rong siz|e!.fi.# |
|00002c20| 65 6e 64 20 6f 66 20 27 | 52 45 41 44 4d 45 27 0a |end of '|README'.|
|00002c30| 66 69 0a 69 66 20 74 65 | 73 74 20 2d 66 20 27 63 |fi.if te|st -f 'c|
|00002c40| 6c 6f 73 75 72 65 2e 63 | 27 20 2d 61 20 22 24 7b |losure.c|' -a "${|
|00002c50| 31 7d 22 20 21 3d 20 22 | 2d 63 22 20 3b 20 74 68 |1}" != "|-c" ; th|
|00002c60| 65 6e 20 0a 20 20 65 63 | 68 6f 20 73 68 61 72 3a |en . ec|ho shar:|
|00002c70| 20 57 69 6c 6c 20 6e 6f | 74 20 63 6c 6f 62 62 65 | Will no|t clobbe|
|00002c80| 72 20 65 78 69 73 74 69 | 6e 67 20 66 69 6c 65 20 |r existi|ng file |
|00002c90| 5c 22 27 63 6c 6f 73 75 | 72 65 2e 63 27 5c 22 0a |\"'closu|re.c'\".|
|00002ca0| 65 6c 73 65 0a 65 63 68 | 6f 20 73 68 61 72 3a 20 |else.ech|o shar: |
|00002cb0| 45 78 74 72 61 63 74 69 | 6e 67 20 5c 22 27 63 6c |Extracti|ng \"'cl|
|00002cc0| 6f 73 75 72 65 2e 63 27 | 5c 22 20 5c 28 34 33 35 |osure.c'|\" \(435|
|00002cd0| 38 20 63 68 61 72 61 63 | 74 65 72 73 5c 29 0a 73 |8 charac|ters\).s|
|00002ce0| 65 64 20 22 73 2f 5e 58 | 2f 2f 22 20 3e 27 63 6c |ed "s/^X|//" >'cl|
|00002cf0| 6f 73 75 72 65 2e 63 27 | 20 3c 3c 27 45 4e 44 5f |osure.c'| <<'END_|
|00002d00| 4f 46 5f 46 49 4c 45 27 | 0a 58 23 69 6e 63 6c 75 |OF_FILE'|.X#inclu|
|00002d10| 64 65 20 22 64 65 66 73 | 2e 68 22 0a 58 0a 58 73 |de "defs|.h".X.Xs|
|00002d20| 68 6f 72 74 20 2a 69 74 | 65 6d 73 65 74 3b 0a 58 |hort *it|emset;.X|
|00002d30| 73 68 6f 72 74 20 2a 69 | 74 65 6d 73 65 74 65 6e |short *i|temseten|
|00002d40| 64 3b 0a 58 75 6e 73 69 | 67 6e 65 64 20 2a 72 75 |d;.Xunsi|gned *ru|
|00002d50| 6c 65 73 65 74 3b 0a 58 | 0a 58 73 74 61 74 69 63 |leset;.X|.Xstatic|
|00002d60| 20 75 6e 73 69 67 6e 65 | 64 20 2a 66 69 72 73 74 | unsigne|d *first|
|00002d70| 5f 64 65 72 69 76 65 73 | 3b 0a 58 73 74 61 74 69 |_derives|;.Xstati|
|00002d80| 63 20 75 6e 73 69 67 6e | 65 64 20 2a 45 46 46 3b |c unsign|ed *EFF;|
|00002d90| 0a 58 0a 58 0a 58 73 65 | 74 5f 45 46 46 28 29 0a |.X.X.Xse|t_EFF().|
|00002da0| 58 7b 0a 58 20 20 20 20 | 72 65 67 69 73 74 65 72 |X{.X |register|
|00002db0| 20 75 6e 73 69 67 6e 65 | 64 20 2a 72 6f 77 3b 0a | unsigne|d *row;.|
|00002dc0| 58 20 20 20 20 72 65 67 | 69 73 74 65 72 20 69 6e |X reg|ister in|
|00002dd0| 74 20 73 79 6d 62 6f 6c | 3b 0a 58 20 20 20 20 72 |t symbol|;.X r|
|00002de0| 65 67 69 73 74 65 72 20 | 73 68 6f 72 74 20 2a 73 |egister |short *s|
|00002df0| 70 3b 0a 58 20 20 20 20 | 72 65 67 69 73 74 65 72 |p;.X |register|
|00002e00| 20 69 6e 74 20 72 6f 77 | 73 69 7a 65 3b 0a 58 20 | int row|size;.X |
|00002e10| 20 20 20 72 65 67 69 73 | 74 65 72 20 69 6e 74 20 | regis|ter int |
|00002e20| 69 3b 0a 58 20 20 20 20 | 72 65 67 69 73 74 65 72 |i;.X |register|
|00002e30| 20 69 6e 74 20 72 75 6c | 65 3b 0a 58 0a 58 20 20 | int rul|e;.X.X |
|00002e40| 20 20 72 6f 77 73 69 7a | 65 20 3d 20 57 4f 52 44 | rowsiz|e = WORD|
|00002e50| 53 49 5a 45 28 6e 76 61 | 72 73 29 3b 0a 58 20 20 |SIZE(nva|rs);.X |
|00002e60| 20 20 45 46 46 20 3d 20 | 4e 45 57 32 28 6e 76 61 | EFF = |NEW2(nva|
|00002e70| 72 73 20 2a 20 72 6f 77 | 73 69 7a 65 2c 20 75 6e |rs * row|size, un|
|00002e80| 73 69 67 6e 65 64 29 3b | 0a 58 0a 58 20 20 20 20 |signed);|.X.X |
|00002e90| 72 6f 77 20 3d 20 45 46 | 46 3b 0a 58 20 20 20 20 |row = EF|F;.X |
|00002ea0| 66 6f 72 20 28 69 20 3d | 20 73 74 61 72 74 5f 73 |for (i =| start_s|
|00002eb0| 79 6d 62 6f 6c 3b 20 69 | 20 3c 20 6e 73 79 6d 73 |ymbol; i| < nsyms|
|00002ec0| 3b 20 69 2b 2b 29 0a 58 | 20 20 20 20 7b 0a 58 09 |; i++).X| {.X.|
|00002ed0| 73 70 20 3d 20 64 65 72 | 69 76 65 73 5b 69 5d 3b |sp = der|ives[i];|
|00002ee0| 0a 58 09 66 6f 72 20 28 | 72 75 6c 65 20 3d 20 2a |.X.for (|rule = *|
|00002ef0| 73 70 3b 20 72 75 6c 65 | 20 3e 20 30 3b 20 72 75 |sp; rule| > 0; ru|
|00002f00| 6c 65 20 3d 20 2a 2b 2b | 73 70 29 0a 58 09 7b 0a |le = *++|sp).X.{.|
|00002f10| 58 09 20 20 20 20 73 79 | 6d 62 6f 6c 20 3d 20 72 |X. sy|mbol = r|
|00002f20| 69 74 65 6d 5b 72 72 68 | 73 5b 72 75 6c 65 5d 5d |item[rrh|s[rule]]|
|00002f30| 3b 0a 58 09 20 20 20 20 | 69 66 20 28 49 53 56 41 |;.X. |if (ISVA|
|00002f40| 52 28 73 79 6d 62 6f 6c | 29 29 0a 58 09 20 20 20 |R(symbol|)).X. |
|00002f50| 20 7b 0a 58 09 09 73 79 | 6d 62 6f 6c 20 2d 3d 20 | {.X..sy|mbol -= |
|00002f60| 73 74 61 72 74 5f 73 79 | 6d 62 6f 6c 3b 0a 58 09 |start_sy|mbol;.X.|
|00002f70| 09 53 45 54 42 49 54 28 | 72 6f 77 2c 20 73 79 6d |.SETBIT(|row, sym|
|00002f80| 62 6f 6c 29 3b 0a 58 09 | 20 20 20 20 7d 0a 58 09 |bol);.X.| }.X.|
|00002f90| 7d 0a 58 09 72 6f 77 20 | 2b 3d 20 72 6f 77 73 69 |}.X.row |+= rowsi|
|00002fa0| 7a 65 3b 0a 58 20 20 20 | 20 7d 0a 58 0a 58 20 20 |ze;.X | }.X.X |
|00002fb0| 20 20 72 65 66 6c 65 78 | 69 76 65 5f 74 72 61 6e | reflex|ive_tran|
|00002fc0| 73 69 74 69 76 65 5f 63 | 6c 6f 73 75 72 65 28 45 |sitive_c|losure(E|
|00002fd0| 46 46 2c 20 6e 76 61 72 | 73 29 3b 0a 58 0a 58 23 |FF, nvar|s);.X.X#|
|00002fe0| 69 66 64 65 66 09 44 45 | 42 55 47 0a 58 20 20 20 |ifdef.DE|BUG.X |
|00002ff0| 20 70 72 69 6e 74 5f 45 | 46 46 28 29 3b 0a 58 23 | print_E|FF();.X#|
|00003000| 65 6e 64 69 66 0a 58 7d | 0a 58 0a 58 0a 58 73 65 |endif.X}|.X.X.Xse|
|00003010| 74 5f 66 69 72 73 74 5f | 64 65 72 69 76 65 73 28 |t_first_|derives(|
|00003020| 29 0a 58 7b 0a 58 20 20 | 72 65 67 69 73 74 65 72 |).X{.X |register|
|00003030| 20 75 6e 73 69 67 6e 65 | 64 20 2a 72 72 6f 77 3b | unsigne|d *rrow;|
|00003040| 0a 58 20 20 72 65 67 69 | 73 74 65 72 20 75 6e 73 |.X regi|ster uns|
|00003050| 69 67 6e 65 64 20 2a 76 | 72 6f 77 3b 0a 58 20 20 |igned *v|row;.X |
|00003060| 72 65 67 69 73 74 65 72 | 20 69 6e 74 20 6a 3b 0a |register| int j;.|
|00003070| 58 20 20 72 65 67 69 73 | 74 65 72 20 75 6e 73 69 |X regis|ter unsi|
|00003080| 67 6e 65 64 20 6d 61 73 | 6b 3b 0a 58 20 20 72 65 |gned mas|k;.X re|
|00003090| 67 69 73 74 65 72 20 75 | 6e 73 69 67 6e 65 64 20 |gister u|nsigned |
|000030a0| 63 77 6f 72 64 3b 0a 58 | 20 20 72 65 67 69 73 74 |cword;.X| regist|
|000030b0| 65 72 20 73 68 6f 72 74 | 20 2a 72 70 3b 0a 58 0a |er short| *rp;.X.|
|000030c0| 58 20 20 69 6e 74 20 72 | 75 6c 65 3b 0a 58 20 20 |X int r|ule;.X |
|000030d0| 69 6e 74 20 69 3b 0a 58 | 20 20 69 6e 74 20 72 75 |int i;.X| int ru|
|000030e0| 6c 65 73 65 74 73 69 7a | 65 3b 0a 58 20 20 69 6e |lesetsiz|e;.X in|
|000030f0| 74 20 76 61 72 73 65 74 | 73 69 7a 65 3b 0a 58 0a |t varset|size;.X.|
|00003100| 58 20 20 72 75 6c 65 73 | 65 74 73 69 7a 65 20 3d |X rules|etsize =|
|00003110| 20 57 4f 52 44 53 49 5a | 45 28 6e 72 75 6c 65 73 | WORDSIZ|E(nrules|
|00003120| 29 3b 0a 58 20 20 76 61 | 72 73 65 74 73 69 7a 65 |);.X va|rsetsize|
|00003130| 20 3d 20 57 4f 52 44 53 | 49 5a 45 28 6e 76 61 72 | = WORDS|IZE(nvar|
|00003140| 73 29 3b 0a 58 20 20 66 | 69 72 73 74 5f 64 65 72 |s);.X f|irst_der|
|00003150| 69 76 65 73 20 3d 20 4e | 45 57 32 28 6e 76 61 72 |ives = N|EW2(nvar|
|00003160| 73 20 2a 20 72 75 6c 65 | 73 65 74 73 69 7a 65 2c |s * rule|setsize,|
|00003170| 20 75 6e 73 69 67 6e 65 | 64 29 20 2d 20 6e 74 6f | unsigne|d) - nto|
|00003180| 6b 65 6e 73 20 2a 20 72 | 75 6c 65 73 65 74 73 69 |kens * r|ulesetsi|
|00003190| 7a 65 3b 0a 58 0a 58 20 | 20 73 65 74 5f 45 46 46 |ze;.X.X | set_EFF|
|000031a0| 28 29 3b 0a 58 0a 58 20 | 20 72 72 6f 77 20 3d 20 |();.X.X | rrow = |
|000031b0| 66 69 72 73 74 5f 64 65 | 72 69 76 65 73 20 2b 20 |first_de|rives + |
|000031c0| 6e 74 6f 6b 65 6e 73 20 | 2a 20 72 75 6c 65 73 65 |ntokens |* rulese|
|000031d0| 74 73 69 7a 65 3b 0a 58 | 20 20 66 6f 72 20 28 69 |tsize;.X| for (i|
|000031e0| 20 3d 20 73 74 61 72 74 | 5f 73 79 6d 62 6f 6c 3b | = start|_symbol;|
|000031f0| 20 69 20 3c 20 6e 73 79 | 6d 73 3b 20 69 2b 2b 29 | i < nsy|ms; i++)|
|00003200| 0a 58 20 20 20 20 7b 0a | 58 20 20 20 20 20 20 76 |.X {.|X v|
|00003210| 72 6f 77 20 3d 20 45 46 | 46 20 2b 20 28 28 69 20 |row = EF|F + ((i |
|00003220| 2d 20 6e 74 6f 6b 65 6e | 73 29 20 2a 20 76 61 72 |- ntoken|s) * var|
|00003230| 73 65 74 73 69 7a 65 29 | 3b 0a 58 20 20 20 20 20 |setsize)|;.X |
|00003240| 20 63 77 6f 72 64 20 3d | 20 2a 76 72 6f 77 2b 2b | cword =| *vrow++|
|00003250| 3b 0a 58 20 20 20 20 20 | 20 6d 61 73 6b 20 3d 20 |;.X | mask = |
|00003260| 31 3b 0a 58 20 20 20 20 | 20 20 66 6f 72 20 28 6a |1;.X | for (j|
|00003270| 20 3d 20 73 74 61 72 74 | 5f 73 79 6d 62 6f 6c 3b | = start|_symbol;|
|00003280| 20 6a 20 3c 20 6e 73 79 | 6d 73 3b 20 6a 2b 2b 29 | j < nsy|ms; j++)|
|00003290| 0a 58 09 7b 0a 58 09 20 | 20 69 66 20 28 63 77 6f |.X.{.X. | if (cwo|
|000032a0| 72 64 20 26 20 6d 61 73 | 6b 29 0a 58 09 20 20 20 |rd & mas|k).X. |
|000032b0| 20 7b 0a 58 09 20 20 20 | 20 20 20 72 70 20 3d 20 | {.X. | rp = |
|000032c0| 64 65 72 69 76 65 73 5b | 6a 5d 3b 0a 58 09 20 20 |derives[|j];.X. |
|000032d0| 20 20 20 20 77 68 69 6c | 65 20 28 28 72 75 6c 65 | whil|e ((rule|
|000032e0| 20 3d 20 2a 72 70 2b 2b | 29 20 3e 3d 20 30 29 0a | = *rp++|) >= 0).|
|000032f0| 58 09 09 7b 0a 58 09 09 | 20 20 53 45 54 42 49 54 |X..{.X..| SETBIT|
|00003300| 28 72 72 6f 77 2c 20 72 | 75 6c 65 29 3b 0a 58 09 |(rrow, r|ule);.X.|
|00003310| 09 7d 0a 58 09 20 20 20 | 20 7d 0a 58 0a 58 09 20 |.}.X. | }.X.X. |
|00003320| 20 6d 61 73 6b 20 3c 3c | 3d 20 31 3b 0a 58 09 20 | mask <<|= 1;.X. |
|00003330| 20 69 66 20 28 6d 61 73 | 6b 20 3d 3d 20 30 29 0a | if (mas|k == 0).|
|00003340| 58 09 20 20 20 20 7b 0a | 58 09 20 20 20 20 20 20 |X. {.|X. |
|00003350| 63 77 6f 72 64 20 3d 20 | 2a 76 72 6f 77 2b 2b 3b |cword = |*vrow++;|
|00003360| 0a 58 09 20 20 20 20 20 | 20 6d 61 73 6b 20 3d 20 |.X. | mask = |
|00003370| 31 3b 0a 58 09 20 20 20 | 20 7d 0a 58 09 7d 0a 58 |1;.X. | }.X.}.X|
|00003380| 0a 58 20 20 20 20 20 20 | 76 72 6f 77 20 2b 3d 20 |.X |vrow += |
|00003390| 76 61 72 73 65 74 73 69 | 7a 65 3b 0a 58 20 20 20 |varsetsi|ze;.X |
|000033a0| 20 20 20 72 72 6f 77 20 | 2b 3d 20 72 75 6c 65 73 | rrow |+= rules|
|000033b0| 65 74 73 69 7a 65 3b 0a | 58 20 20 20 20 7d 0a 58 |etsize;.|X }.X|
|000033c0| 0a 58 23 69 66 64 65 66 | 09 44 45 42 55 47 0a 58 |.X#ifdef|.DEBUG.X|
|000033d0| 20 20 70 72 69 6e 74 5f | 66 69 72 73 74 5f 64 65 | print_|first_de|
|000033e0| 72 69 76 65 73 28 29 3b | 0a 58 23 65 6e 64 69 66 |rives();|.X#endif|
|000033f0| 0a 58 0a 58 20 20 46 52 | 45 45 28 45 46 46 29 3b |.X.X FR|EE(EFF);|
|00003400| 0a 58 7d 0a 58 0a 58 0a | 58 63 6c 6f 73 75 72 65 |.X}.X.X.|Xclosure|
|00003410| 28 6e 75 63 6c 65 75 73 | 2c 20 6e 29 0a 58 73 68 |(nucleus|, n).Xsh|
|00003420| 6f 72 74 20 2a 6e 75 63 | 6c 65 75 73 3b 0a 58 69 |ort *nuc|leus;.Xi|
|00003430| 6e 74 20 6e 3b 0a 58 7b | 0a 58 20 20 20 20 72 65 |nt n;.X{|.X re|
|00003440| 67 69 73 74 65 72 20 69 | 6e 74 20 72 75 6c 65 6e |gister i|nt rulen|
|00003450| 6f 3b 0a 58 20 20 20 20 | 72 65 67 69 73 74 65 72 |o;.X |register|
|00003460| 20 75 6e 73 69 67 6e 65 | 64 20 77 6f 72 64 3b 0a | unsigne|d word;.|
|00003470| 58 20 20 20 20 72 65 67 | 69 73 74 65 72 20 75 6e |X reg|ister un|
|00003480| 73 69 67 6e 65 64 20 6d | 61 73 6b 3b 0a 58 20 20 |signed m|ask;.X |
|00003490| 20 20 72 65 67 69 73 74 | 65 72 20 73 68 6f 72 74 | regist|er short|
|000034a0| 20 2a 63 73 70 3b 0a 58 | 20 20 20 20 72 65 67 69 | *csp;.X| regi|
|000034b0| 73 74 65 72 20 75 6e 73 | 69 67 6e 65 64 20 2a 64 |ster uns|igned *d|
|000034c0| 73 70 3b 0a 58 20 20 20 | 20 72 65 67 69 73 74 65 |sp;.X | registe|
|000034d0| 72 20 75 6e 73 69 67 6e | 65 64 20 2a 72 73 70 3b |r unsign|ed *rsp;|
|000034e0| 0a 58 20 20 20 20 72 65 | 67 69 73 74 65 72 20 69 |.X re|gister i|
|000034f0| 6e 74 20 72 75 6c 65 73 | 65 74 73 69 7a 65 3b 0a |nt rules|etsize;.|
|00003500| 58 0a 58 20 20 20 20 73 | 68 6f 72 74 20 2a 63 73 |X.X s|hort *cs|
|00003510| 65 6e 64 3b 0a 58 20 20 | 20 20 75 6e 73 69 67 6e |end;.X | unsign|
|00003520| 65 64 20 2a 72 73 65 6e | 64 3b 0a 58 20 20 20 20 |ed *rsen|d;.X |
|00003530| 69 6e 74 20 73 79 6d 62 | 6f 6c 3b 0a 58 20 20 20 |int symb|ol;.X |
|00003540| 20 69 6e 74 20 69 74 65 | 6d 6e 6f 3b 0a 58 0a 58 | int ite|mno;.X.X|
|00003550| 20 20 20 20 72 75 6c 65 | 73 65 74 73 69 7a 65 20 | rule|setsize |
|00003560| 3d 20 57 4f 52 44 53 49 | 5a 45 28 6e 72 75 6c 65 |= WORDSI|ZE(nrule|
|00003570| 73 29 3b 0a 58 20 20 20 | 20 72 73 70 20 3d 20 72 |s);.X | rsp = r|
|00003580| 75 6c 65 73 65 74 3b 0a | 58 20 20 20 20 72 73 65 |uleset;.|X rse|
|00003590| 6e 64 20 3d 20 72 75 6c | 65 73 65 74 20 2b 20 72 |nd = rul|eset + r|
|000035a0| 75 6c 65 73 65 74 73 69 | 7a 65 3b 0a 58 20 20 20 |ulesetsi|ze;.X |
|000035b0| 20 66 6f 72 20 28 72 73 | 70 20 3d 20 72 75 6c 65 | for (rs|p = rule|
|000035c0| 73 65 74 3b 20 72 73 70 | 20 3c 20 72 73 65 6e 64 |set; rsp| < rsend|
|000035d0| 3b 20 72 73 70 2b 2b 29 | 0a 58 09 2a 72 73 70 20 |; rsp++)|.X.*rsp |
|000035e0| 3d 20 30 3b 0a 58 0a 58 | 20 20 20 20 63 73 65 6e |= 0;.X.X| csen|
|000035f0| 64 20 3d 20 6e 75 63 6c | 65 75 73 20 2b 20 6e 3b |d = nucl|eus + n;|
|00003600| 0a 58 20 20 20 20 66 6f | 72 20 28 63 73 70 20 3d |.X fo|r (csp =|
|00003610| 20 6e 75 63 6c 65 75 73 | 3b 20 63 73 70 20 3c 20 | nucleus|; csp < |
|00003620| 63 73 65 6e 64 3b 20 2b | 2b 63 73 70 29 0a 58 20 |csend; +|+csp).X |
|00003630| 20 20 20 7b 0a 58 09 73 | 79 6d 62 6f 6c 20 3d 20 | {.X.s|ymbol = |
|00003640| 72 69 74 65 6d 5b 2a 63 | 73 70 5d 3b 0a 58 09 69 |ritem[*c|sp];.X.i|
|00003650| 66 20 28 49 53 56 41 52 | 28 73 79 6d 62 6f 6c 29 |f (ISVAR|(symbol)|
|00003660| 29 0a 58 09 7b 0a 58 09 | 20 20 20 20 64 73 70 20 |).X.{.X.| dsp |
|00003670| 3d 20 66 69 72 73 74 5f | 64 65 72 69 76 65 73 20 |= first_|derives |
|00003680| 2b 20 73 79 6d 62 6f 6c | 20 2a 20 72 75 6c 65 73 |+ symbol| * rules|
|00003690| 65 74 73 69 7a 65 3b 0a | 58 09 20 20 20 20 72 73 |etsize;.|X. rs|
|000036a0| 70 20 3d 20 72 75 6c 65 | 73 65 74 3b 0a 58 09 20 |p = rule|set;.X. |
|000036b0| 20 20 20 77 68 69 6c 65 | 20 28 72 73 70 20 3c 20 | while| (rsp < |
|000036c0| 72 73 65 6e 64 29 0a 58 | 09 09 2a 72 73 70 2b 2b |rsend).X|..*rsp++|
|000036d0| 20 7c 3d 20 2a 64 73 70 | 2b 2b 3b 0a 58 09 7d 0a | |= *dsp|++;.X.}.|
|000036e0| 58 20 20 20 20 7d 0a 58 | 0a 58 20 20 20 20 72 75 |X }.X|.X ru|
|000036f0| 6c 65 6e 6f 20 3d 20 30 | 3b 0a 58 20 20 20 20 69 |leno = 0|;.X i|
|00003700| 74 65 6d 73 65 74 65 6e | 64 20 3d 20 69 74 65 6d |temseten|d = item|
|00003710| 73 65 74 3b 0a 58 20 20 | 20 20 63 73 70 20 3d 20 |set;.X | csp = |
|00003720| 6e 75 63 6c 65 75 73 3b | 0a 58 20 20 20 20 66 6f |nucleus;|.X fo|
|00003730| 72 20 28 72 73 70 20 3d | 20 72 75 6c 65 73 65 74 |r (rsp =| ruleset|
|00003740| 3b 20 72 73 70 20 3c 20 | 72 73 65 6e 64 3b 20 2b |; rsp < |rsend; +|
|00003750| 2b 72 73 70 29 0a 58 20 | 20 20 20 7b 0a 58 09 77 |+rsp).X | {.X.w|
|00003760| 6f 72 64 20 3d 20 2a 72 | 73 70 3b 0a 58 09 69 66 |ord = *r|sp;.X.if|
|00003770| 20 28 77 6f 72 64 20 3d | 3d 20 30 29 0a 58 09 20 | (word =|= 0).X. |
|00003780| 20 20 20 72 75 6c 65 6e | 6f 20 2b 3d 20 42 49 54 | rulen|o += BIT|
|00003790| 53 5f 50 45 52 5f 57 4f | 52 44 3b 0a 58 09 65 6c |S_PER_WO|RD;.X.el|
|000037a0| 73 65 0a 58 09 7b 0a 58 | 09 20 20 20 20 6d 61 73 |se.X.{.X|. mas|
|000037b0| 6b 20 3d 20 31 3b 0a 58 | 09 20 20 20 20 77 68 69 |k = 1;.X|. whi|
|000037c0| 6c 65 20 28 6d 61 73 6b | 29 0a 58 09 20 20 20 20 |le (mask|).X. |
|000037d0| 7b 0a 58 09 09 69 66 20 | 28 77 6f 72 64 20 26 20 |{.X..if |(word & |
|000037e0| 6d 61 73 6b 29 0a 58 09 | 09 7b 0a 58 09 09 20 20 |mask).X.|.{.X.. |
|000037f0| 20 20 69 74 65 6d 6e 6f | 20 3d 20 72 72 68 73 5b | itemno| = rrhs[|
|00003800| 72 75 6c 65 6e 6f 5d 3b | 0a 58 09 09 20 20 20 20 |ruleno];|.X.. |
|00003810| 77 68 69 6c 65 20 28 63 | 73 70 20 3c 20 63 73 65 |while (c|sp < cse|
|00003820| 6e 64 20 26 26 20 2a 63 | 73 70 20 3c 20 69 74 65 |nd && *c|sp < ite|
|00003830| 6d 6e 6f 29 0a 58 09 09 | 09 2a 69 74 65 6d 73 65 |mno).X..|.*itemse|
|00003840| 74 65 6e 64 2b 2b 20 3d | 20 2a 63 73 70 2b 2b 3b |tend++ =| *csp++;|
|00003850| 0a 58 09 09 20 20 20 20 | 2a 69 74 65 6d 73 65 74 |.X.. |*itemset|
|00003860| 65 6e 64 2b 2b 20 3d 20 | 69 74 65 6d 6e 6f 3b 0a |end++ = |itemno;.|
|00003870| 58 09 09 20 20 20 20 77 | 68 69 6c 65 20 28 63 73 |X.. w|hile (cs|
|00003880| 70 20 3c 20 63 73 65 6e | 64 20 26 26 20 2a 63 73 |p < csen|d && *cs|
|00003890| 70 20 3d 3d 20 69 74 65 | 6d 6e 6f 29 0a 58 09 09 |p == ite|mno).X..|
|000038a0| 09 2b 2b 63 73 70 3b 0a | 58 09 09 7d 0a 58 0a 58 |.++csp;.|X..}.X.X|
|000038b0| 09 09 20 20 20 20 6d 61 | 73 6b 20 3c 3c 3d 20 31 |.. ma|sk <<= 1|
|000038c0| 3b 0a 58 09 09 20 20 20 | 20 2b 2b 72 75 6c 65 6e |;.X.. | ++rulen|
|000038d0| 6f 3b 0a 58 09 20 20 20 | 20 7d 0a 58 09 7d 0a 58 |o;.X. | }.X.}.X|
|000038e0| 20 20 20 20 7d 0a 58 0a | 58 20 20 20 20 77 68 69 | }.X.|X whi|
|000038f0| 6c 65 20 28 63 73 70 20 | 3c 20 63 73 65 6e 64 29 |le (csp |< csend)|
|00003900| 0a 58 09 2a 69 74 65 6d | 73 65 74 65 6e 64 2b 2b |.X.*item|setend++|
|00003910| 20 3d 20 2a 63 73 70 2b | 2b 3b 0a 58 0a 58 23 69 | = *csp+|+;.X.X#i|
|00003920| 66 64 65 66 09 44 45 42 | 55 47 0a 58 20 20 70 72 |fdef.DEB|UG.X pr|
|00003930| 69 6e 74 5f 63 6c 6f 73 | 75 72 65 28 6e 29 3b 0a |int_clos|ure(n);.|
|00003940| 58 23 65 6e 64 69 66 0a | 58 7d 0a 58 0a 58 0a 58 |X#endif.|X}.X.X.X|
|00003950| 0a 58 66 69 6e 61 6c 69 | 7a 65 5f 63 6c 6f 73 75 |.Xfinali|ze_closu|
|00003960| 72 65 28 29 0a 58 7b 0a | 58 20 20 46 52 45 45 28 |re().X{.|X FREE(|
|00003970| 69 74 65 6d 73 65 74 29 | 3b 0a 58 20 20 46 52 45 |itemset)|;.X FRE|
|00003980| 45 28 72 75 6c 65 73 65 | 74 29 3b 0a 58 20 20 46 |E(rulese|t);.X F|
|00003990| 52 45 45 28 66 69 72 73 | 74 5f 64 65 72 69 76 65 |REE(firs|t_derive|
|000039a0| 73 20 2b 20 6e 74 6f 6b | 65 6e 73 20 2a 20 57 4f |s + ntok|ens * WO|
|000039b0| 52 44 53 49 5a 45 28 6e | 72 75 6c 65 73 29 29 3b |RDSIZE(n|rules));|
|000039c0| 0a 58 7d 0a 58 0a 58 0a | 58 23 69 66 64 65 66 09 |.X}.X.X.|X#ifdef.|
|000039d0| 44 45 42 55 47 0a 58 0a | 58 70 72 69 6e 74 5f 63 |DEBUG.X.|Xprint_c|
|000039e0| 6c 6f 73 75 72 65 28 6e | 29 0a 58 69 6e 74 20 6e |losure(n|).Xint n|
|000039f0| 3b 0a 58 7b 0a 58 20 20 | 72 65 67 69 73 74 65 72 |;.X{.X |register|
|00003a00| 20 73 68 6f 72 74 20 2a | 69 73 70 3b 0a 58 0a 58 | short *|isp;.X.X|
|00003a10| 20 20 70 72 69 6e 74 66 | 28 22 5c 6e 5c 6e 6e 20 | printf|("\n\nn |
|00003a20| 3d 20 25 64 5c 6e 5c 6e | 22 2c 20 6e 29 3b 0a 58 |= %d\n\n|", n);.X|
|00003a30| 20 20 66 6f 72 20 28 69 | 73 70 20 3d 20 69 74 65 | for (i|sp = ite|
|00003a40| 6d 73 65 74 3b 20 69 73 | 70 20 3c 20 69 74 65 6d |mset; is|p < item|
|00003a50| 73 65 74 65 6e 64 3b 20 | 69 73 70 2b 2b 29 0a 58 |setend; |isp++).X|
|00003a60| 20 20 20 20 70 72 69 6e | 74 66 28 22 20 20 20 25 | prin|tf(" %|
|00003a70| 64 5c 6e 22 2c 20 2a 69 | 73 70 29 3b 0a 58 7d 0a |d\n", *i|sp);.X}.|
|00003a80| 58 0a 58 0a 58 70 72 69 | 6e 74 5f 45 46 46 28 29 |X.X.Xpri|nt_EFF()|
|00003a90| 0a 58 7b 0a 58 20 20 20 | 20 72 65 67 69 73 74 65 |.X{.X | registe|
|00003aa0| 72 20 69 6e 74 20 69 2c | 20 6a 2c 20 6b 3b 0a 58 |r int i,| j, k;.X|
|00003ab0| 20 20 20 20 72 65 67 69 | 73 74 65 72 20 75 6e 73 | regi|ster uns|
|00003ac0| 69 67 6e 65 64 20 2a 72 | 6f 77 70 3b 0a 58 20 20 |igned *r|owp;.X |
|00003ad0| 20 20 72 65 67 69 73 74 | 65 72 20 75 6e 73 69 67 | regist|er unsig|
|00003ae0| 6e 65 64 20 77 6f 72 64 | 3b 0a 58 20 20 20 20 72 |ned word|;.X r|
|00003af0| 65 67 69 73 74 65 72 20 | 75 6e 73 69 67 6e 65 64 |egister |unsigned|
|00003b00| 20 6d 61 73 6b 3b 0a 58 | 0a 58 20 20 20 20 70 72 | mask;.X|.X pr|
|00003b10| 69 6e 74 66 28 22 5c 6e | 5c 6e 45 70 73 69 6c 6f |intf("\n|\nEpsilo|
|00003b20| 6e 20 46 72 65 65 20 46 | 69 72 73 74 73 5c 6e 22 |n Free F|irsts\n"|
|00003b30| 29 3b 0a 58 0a 58 20 20 | 20 20 66 6f 72 20 28 69 |);.X.X | for (i|
|00003b40| 20 3d 20 73 74 61 72 74 | 5f 73 79 6d 62 6f 6c 3b | = start|_symbol;|
|00003b50| 20 69 20 3c 20 6e 73 79 | 6d 73 3b 20 69 2b 2b 29 | i < nsy|ms; i++)|
|00003b60| 0a 58 20 20 20 20 7b 0a | 58 09 70 72 69 6e 74 66 |.X {.|X.printf|
|00003b70| 28 22 5c 6e 25 73 22 2c | 20 73 79 6d 62 6f 6c 5f |("\n%s",| symbol_|
|00003b80| 6e 61 6d 65 5b 69 5d 29 | 3b 0a 58 09 72 6f 77 70 |name[i])|;.X.rowp|
|00003b90| 20 3d 20 45 46 46 20 2b | 20 28 28 69 20 2d 20 73 | = EFF +| ((i - s|
|00003ba0| 74 61 72 74 5f 73 79 6d | 62 6f 6c 29 20 2a 20 57 |tart_sym|bol) * W|
|00003bb0| 4f 52 44 53 49 5a 45 28 | 6e 76 61 72 73 29 29 3b |ORDSIZE(|nvars));|
|00003bc0| 0a 58 09 77 6f 72 64 20 | 3d 20 2a 72 6f 77 70 2b |.X.word |= *rowp+|
|00003bd0| 2b 3b 0a 58 0a 58 09 6d | 61 73 6b 20 3d 20 31 3b |+;.X.X.m|ask = 1;|
|00003be0| 0a 58 09 66 6f 72 20 28 | 6a 20 3d 20 30 3b 20 6a |.X.for (|j = 0; j|
|00003bf0| 20 3c 20 6e 76 61 72 73 | 3b 20 6a 2b 2b 29 0a 58 | < nvars|; j++).X|
|00003c00| 09 7b 0a 58 09 20 20 20 | 20 69 66 20 28 77 6f 72 |.{.X. | if (wor|
|00003c10| 64 20 26 20 6d 61 73 6b | 29 0a 58 09 09 70 72 69 |d & mask|).X..pri|
|00003c20| 6e 74 66 28 22 20 20 25 | 73 22 2c 20 73 79 6d 62 |ntf(" %|s", symb|
|00003c30| 6f 6c 5f 6e 61 6d 65 5b | 73 74 61 72 74 5f 73 79 |ol_name[|start_sy|
|00003c40| 6d 62 6f 6c 20 2b 20 6a | 5d 29 3b 0a 58 0a 58 09 |mbol + j|]);.X.X.|
|00003c50| 20 20 20 20 6d 61 73 6b | 20 3c 3c 3d 20 31 3b 0a | mask| <<= 1;.|
|00003c60| 58 09 20 20 20 20 69 66 | 20 28 6d 61 73 6b 20 3d |X. if| (mask =|
|00003c70| 3d 20 30 29 0a 58 09 20 | 20 20 20 7b 0a 58 09 09 |= 0).X. | {.X..|
|00003c80| 77 6f 72 64 20 3d 20 2a | 72 6f 77 70 2b 2b 3b 0a |word = *|rowp++;.|
|00003c90| 58 09 09 6d 61 73 6b 20 | 3d 20 31 3b 0a 58 09 20 |X..mask |= 1;.X. |
|00003ca0| 20 20 20 7d 0a 58 09 7d | 0a 58 20 20 20 20 7d 0a | }.X.}|.X }.|
|00003cb0| 58 7d 0a 58 0a 58 0a 58 | 70 72 69 6e 74 5f 66 69 |X}.X.X.X|print_fi|
|00003cc0| 72 73 74 5f 64 65 72 69 | 76 65 73 28 29 0a 58 7b |rst_deri|ves().X{|
|00003cd0| 0a 58 20 20 72 65 67 69 | 73 74 65 72 20 69 6e 74 |.X regi|ster int|
|00003ce0| 20 69 3b 0a 58 20 20 72 | 65 67 69 73 74 65 72 20 | i;.X r|egister |
|00003cf0| 69 6e 74 20 6a 3b 0a 58 | 20 20 72 65 67 69 73 74 |int j;.X| regist|
|00003d00| 65 72 20 75 6e 73 69 67 | 6e 65 64 20 2a 72 70 3b |er unsig|ned *rp;|
|00003d10| 0a 58 20 20 72 65 67 69 | 73 74 65 72 20 75 6e 73 |.X regi|ster uns|
|00003d20| 69 67 6e 65 64 20 63 77 | 6f 72 64 3b 0a 58 20 20 |igned cw|ord;.X |
|00003d30| 72 65 67 69 73 74 65 72 | 20 75 6e 73 69 67 6e 65 |register| unsigne|
|00003d40| 64 20 6d 61 73 6b 3b 0a | 58 0a 58 20 20 70 72 69 |d mask;.|X.X pri|
|00003d50| 6e 74 66 28 22 5c 6e 5c | 6e 5c 6e 46 69 72 73 74 |ntf("\n\|n\nFirst|
|00003d60| 20 44 65 72 69 76 65 73 | 5c 6e 22 29 3b 0a 58 0a | Derives|\n");.X.|
|00003d70| 58 20 20 66 6f 72 20 28 | 69 20 3d 20 73 74 61 72 |X for (|i = star|
|00003d80| 74 5f 73 79 6d 62 6f 6c | 3b 20 69 20 3c 20 6e 73 |t_symbol|; i < ns|
|00003d90| 79 6d 73 3b 20 69 2b 2b | 29 0a 58 20 20 20 20 7b |yms; i++|).X {|
|00003da0| 0a 58 20 20 20 20 20 20 | 70 72 69 6e 74 66 28 22 |.X |printf("|
|00003db0| 5c 6e 25 73 20 64 65 72 | 69 76 65 73 5c 6e 22 2c |\n%s der|ives\n",|
|00003dc0| 20 73 79 6d 62 6f 6c 5f | 6e 61 6d 65 5b 69 5d 29 | symbol_|name[i])|
|00003dd0| 3b 0a 58 20 20 20 20 20 | 20 72 70 20 3d 20 66 69 |;.X | rp = fi|
|00003de0| 72 73 74 5f 64 65 72 69 | 76 65 73 20 2b 20 69 20 |rst_deri|ves + i |
|00003df0| 2a 20 57 4f 52 44 53 49 | 5a 45 28 6e 72 75 6c 65 |* WORDSI|ZE(nrule|
|00003e00| 73 29 3b 0a 58 20 20 20 | 20 20 20 63 77 6f 72 64 |s);.X | cword|
|00003e10| 20 3d 20 2a 72 70 2b 2b | 3b 0a 58 20 20 20 20 20 | = *rp++|;.X |
|00003e20| 20 6d 61 73 6b 20 3d 20 | 31 3b 0a 58 20 20 20 20 | mask = |1;.X |
|00003e30| 20 20 66 6f 72 20 28 6a | 20 3d 20 30 3b 20 6a 20 | for (j| = 0; j |
|00003e40| 3c 3d 20 6e 72 75 6c 65 | 73 3b 20 6a 2b 2b 29 0a |<= nrule|s; j++).|
|00003e50| 58 20 20 20 20 20 20 20 | 20 7b 0a 58 09 20 20 69 |X | {.X. i|
|00003e60| 66 20 28 63 77 6f 72 64 | 20 26 20 6d 61 73 6b 29 |f (cword| & mask)|
|00003e70| 0a 58 09 20 20 20 20 70 | 72 69 6e 74 66 28 22 20 |.X. p|rintf(" |
|00003e80| 20 20 25 64 5c 6e 22 2c | 20 6a 29 3b 0a 58 0a 58 | %d\n",| j);.X.X|
|00003e90| 09 20 20 6d 61 73 6b 20 | 3c 3c 3d 20 31 3b 0a 58 |. mask |<<= 1;.X|
|00003ea0| 09 20 20 69 66 20 28 6d | 61 73 6b 20 3d 3d 20 30 |. if (m|ask == 0|
|00003eb0| 29 0a 58 09 20 20 20 20 | 7b 0a 58 09 20 20 20 20 |).X. |{.X. |
|00003ec0| 20 20 63 77 6f 72 64 20 | 3d 20 2a 72 70 2b 2b 3b | cword |= *rp++;|
|00003ed0| 0a 58 09 20 20 20 20 20 | 20 6d 61 73 6b 20 3d 20 |.X. | mask = |
|00003ee0| 31 3b 0a 58 09 20 20 20 | 20 7d 0a 58 09 7d 0a 58 |1;.X. | }.X.}.X|
|00003ef0| 20 20 20 20 7d 0a 58 0a | 58 20 20 66 66 6c 75 73 | }.X.|X fflus|
|00003f00| 68 28 73 74 64 6f 75 74 | 29 3b 0a 58 7d 0a 58 0a |h(stdout|);.X}.X.|
|00003f10| 58 23 65 6e 64 69 66 0a | 45 4e 44 5f 4f 46 5f 46 |X#endif.|END_OF_F|
|00003f20| 49 4c 45 0a 69 66 20 74 | 65 73 74 20 34 33 35 38 |ILE.if t|est 4358|
|00003f30| 20 2d 6e 65 20 60 77 63 | 20 2d 63 20 3c 27 63 6c | -ne `wc| -c <'cl|
|00003f40| 6f 73 75 72 65 2e 63 27 | 60 3b 20 74 68 65 6e 0a |osure.c'|`; then.|
|00003f50| 20 20 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 5c | echo| shar: \|
|00003f60| 22 27 63 6c 6f 73 75 72 | 65 2e 63 27 5c 22 20 75 |"'closur|e.c'\" u|
|00003f70| 6e 70 61 63 6b 65 64 20 | 77 69 74 68 20 77 72 6f |npacked |with wro|
|00003f80| 6e 67 20 73 69 7a 65 21 | 0a 66 69 0a 23 20 65 6e |ng size!|.fi.# en|
|00003f90| 64 20 6f 66 20 27 63 6c | 6f 73 75 72 65 2e 63 27 |d of 'cl|osure.c'|
|00003fa0| 0a 66 69 0a 69 66 20 74 | 65 73 74 20 2d 66 20 27 |.fi.if t|est -f '|
|00003fb0| 64 65 66 73 2e 68 27 20 | 2d 61 20 22 24 7b 31 7d |defs.h' |-a "${1}|
|00003fc0| 22 20 21 3d 20 22 2d 63 | 22 20 3b 20 74 68 65 6e |" != "-c|" ; then|
|00003fd0| 20 0a 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 57 | . echo| shar: W|
|00003fe0| 69 6c 6c 20 6e 6f 74 20 | 63 6c 6f 62 62 65 72 20 |ill not |clobber |
|00003ff0| 65 78 69 73 74 69 6e 67 | 20 66 69 6c 65 20 5c 22 |existing| file \"|
|00004000| 27 64 65 66 73 2e 68 27 | 5c 22 0a 65 6c 73 65 0a |'defs.h'|\".else.|
|00004010| 65 63 68 6f 20 73 68 61 | 72 3a 20 45 78 74 72 61 |echo sha|r: Extra|
|00004020| 63 74 69 6e 67 20 5c 22 | 27 64 65 66 73 2e 68 27 |cting \"|'defs.h'|
|00004030| 5c 22 20 5c 28 35 37 33 | 38 20 63 68 61 72 61 63 |\" \(573|8 charac|
|00004040| 74 65 72 73 5c 29 0a 73 | 65 64 20 22 73 2f 5e 58 |ters\).s|ed "s/^X|
|00004050| 2f 2f 22 20 3e 27 64 65 | 66 73 2e 68 27 20 3c 3c |//" >'de|fs.h' <<|
|00004060| 27 45 4e 44 5f 4f 46 5f | 46 49 4c 45 27 0a 58 23 |'END_OF_|FILE'.X#|
|00004070| 69 6e 63 6c 75 64 65 20 | 3c 61 73 73 65 72 74 2e |include |<assert.|
|00004080| 68 3e 0a 58 23 69 6e 63 | 6c 75 64 65 20 3c 63 74 |h>.X#inc|lude <ct|
|00004090| 79 70 65 2e 68 3e 0a 58 | 23 69 6e 63 6c 75 64 65 |ype.h>.X|#include|
|000040a0| 20 3c 73 74 64 69 6f 2e | 68 3e 0a 58 0a 58 0a 58 | <stdio.|h>.X.X.X|
|000040b0| 2f 2a 20 20 6d 61 63 68 | 69 6e 65 20 64 65 70 65 |/* mach|ine depe|
|000040c0| 6e 64 65 6e 74 20 64 65 | 66 69 6e 69 74 69 6f 6e |ndent de|finition|
|000040d0| 73 09 09 09 2a 2f 0a 58 | 2f 2a 20 20 74 68 65 20 |s...*/.X|/* the |
|000040e0| 66 6f 6c 6c 6f 77 69 6e | 67 20 64 65 66 69 6e 69 |followin|g defini|
|000040f0| 74 69 6f 6e 73 20 61 72 | 65 20 66 6f 72 20 74 68 |tions ar|e for th|
|00004100| 65 20 56 41 58 09 09 2a | 2f 0a 58 2f 2a 20 20 74 |e VAX..*|/.X/* t|
|00004110| 68 65 79 20 6d 69 67 68 | 74 20 68 61 76 65 20 74 |hey migh|t have t|
|00004120| 6f 20 62 65 20 63 68 61 | 6e 67 65 64 20 66 6f 72 |o be cha|nged for|
|00004130| 20 6f 74 68 65 72 20 6d | 61 63 68 69 6e 65 73 09 | other m|achines.|
|00004140| 2a 2f 0a 58 0a 58 2f 2a | 20 20 4d 41 58 43 48 41 |*/.X.X/*| MAXCHA|
|00004150| 52 20 69 73 20 74 68 65 | 20 6c 61 72 67 65 73 74 |R is the| largest|
|00004160| 20 63 68 61 72 61 63 74 | 65 72 20 76 61 6c 75 65 | charact|er value|
|00004170| 09 09 2a 2f 0a 58 2f 2a | 20 20 4d 41 58 53 48 4f |..*/.X/*| MAXSHO|
|00004180| 52 54 20 69 73 20 74 68 | 65 20 6c 61 72 67 65 73 |RT is th|e larges|
|00004190| 74 20 76 61 6c 75 65 20 | 6f 66 20 61 20 43 20 73 |t value |of a C s|
|000041a0| 68 6f 72 74 09 09 2a 2f | 0a 58 2f 2a 20 20 4d 49 |hort..*/|.X/* MI|
|000041b0| 4e 53 48 4f 52 54 20 69 | 73 20 74 68 65 20 6d 6f |NSHORT i|s the mo|
|000041c0| 73 74 20 6e 65 67 61 74 | 69 76 65 20 76 61 6c 75 |st negat|ive valu|
|000041d0| 65 20 6f 66 20 61 20 43 | 20 73 68 6f 72 74 09 2a |e of a C| short.*|
|000041e0| 2f 0a 58 2f 2a 20 20 4d | 41 58 54 41 42 4c 45 20 |/.X/* M|AXTABLE |
|000041f0| 69 73 20 74 68 65 20 6d | 61 78 69 6d 75 6d 20 74 |is the m|aximum t|
|00004200| 61 62 6c 65 20 73 69 7a | 65 09 09 09 2a 2f 0a 58 |able siz|e...*/.X|
|00004210| 2f 2a 20 20 42 49 54 53 | 5f 50 45 52 5f 57 4f 52 |/* BITS|_PER_WOR|
|00004220| 44 20 69 73 20 74 68 65 | 20 6e 75 6d 62 65 72 20 |D is the| number |
|00004230| 6f 66 20 62 69 74 73 20 | 69 6e 20 61 20 43 20 75 |of bits |in a C u|
|00004240| 6e 73 69 67 6e 65 64 09 | 2a 2f 0a 58 2f 2a 20 20 |nsigned.|*/.X/* |
|00004250| 57 4f 52 44 53 49 5a 45 | 20 63 6f 6d 70 75 74 65 |WORDSIZE| compute|
|00004260| 73 20 74 68 65 20 6e 75 | 6d 62 65 72 20 6f 66 20 |s the nu|mber of |
|00004270| 77 6f 72 64 73 20 6e 65 | 65 64 65 64 20 74 6f 09 |words ne|eded to.|
|00004280| 2a 2f 0a 58 2f 2a 09 73 | 74 6f 72 65 20 6e 20 62 |*/.X/*.s|tore n b|
|00004290| 69 74 73 09 09 09 09 09 | 2a 2f 0a 58 2f 2a 20 20 |its.....|*/.X/* |
|000042a0| 42 49 54 20 72 65 74 75 | 72 6e 73 20 74 68 65 20 |BIT retu|rns the |
|000042b0| 76 61 6c 75 65 20 6f 66 | 20 74 68 65 20 6e 2d 74 |value of| the n-t|
|000042c0| 68 20 62 69 74 20 73 74 | 61 72 74 69 6e 67 09 2a |h bit st|arting.*|
|000042d0| 2f 0a 58 2f 2a 09 66 72 | 6f 6d 20 72 20 28 30 2d |/.X/*.fr|om r (0-|
|000042e0| 69 6e 64 65 78 65 64 29 | 09 09 09 09 2a 2f 0a 58 |indexed)|....*/.X|
|000042f0| 2f 2a 20 20 53 45 54 42 | 49 54 20 73 65 74 73 20 |/* SETB|IT sets |
|00004300| 74 68 65 20 6e 2d 74 68 | 20 62 69 74 20 73 74 61 |the n-th| bit sta|
|00004310| 72 74 69 6e 67 20 66 72 | 6f 6d 20 72 09 09 2a 2f |rting fr|om r..*/|
|00004320| 0a 58 0a 58 23 64 65 66 | 69 6e 65 09 4d 41 58 43 |.X.X#def|ine.MAXC|
|00004330| 48 41 52 09 09 32 35 35 | 0a 58 23 64 65 66 69 6e |HAR..255|.X#defin|
|00004340| 65 09 4d 41 58 53 48 4f | 52 54 09 33 32 37 36 37 |e.MAXSHO|RT.32767|
|00004350| 0a 58 23 64 65 66 69 6e | 65 20 4d 49 4e 53 48 4f |.X#defin|e MINSHO|
|00004360| 52 54 09 2d 33 32 37 36 | 38 0a 58 23 64 65 66 69 |RT.-3276|8.X#defi|
|00004370| 6e 65 20 4d 41 58 54 41 | 42 4c 45 09 33 32 35 30 |ne MAXTA|BLE.3250|
|00004380| 30 0a 58 23 64 65 66 69 | 6e 65 20 42 49 54 53 5f |0.X#defi|ne BITS_|
|00004390| 50 45 52 5f 57 4f 52 44 | 09 33 32 0a 58 23 64 65 |PER_WORD|.32.X#de|
|000043a0| 66 69 6e 65 09 57 4f 52 | 44 53 49 5a 45 28 6e 29 |fine.WOR|DSIZE(n)|
|000043b0| 09 28 28 28 6e 29 2b 28 | 42 49 54 53 5f 50 45 52 |.(((n)+(|BITS_PER|
|000043c0| 5f 57 4f 52 44 2d 31 29 | 29 2f 42 49 54 53 5f 50 |_WORD-1)|)/BITS_P|
|000043d0| 45 52 5f 57 4f 52 44 29 | 0a 58 23 64 65 66 69 6e |ER_WORD)|.X#defin|
|000043e0| 65 09 42 49 54 28 72 2c | 20 6e 29 09 28 28 28 28 |e.BIT(r,| n).((((|
|000043f0| 72 29 5b 28 6e 29 20 3e | 3e 20 35 5d 29 20 3e 3e |r)[(n) >|> 5]) >>|
|00004400| 20 28 28 6e 29 20 26 20 | 33 31 29 29 20 26 20 31 | ((n) & |31)) & 1|
|00004410| 29 0a 58 23 64 65 66 69 | 6e 65 09 53 45 54 42 49 |).X#defi|ne.SETBI|
|00004420| 54 28 72 2c 20 6e 29 09 | 28 28 72 29 5b 28 6e 29 |T(r, n).|((r)[(n)|
|00004430| 20 3e 3e 20 35 5d 20 7c | 3d 20 28 31 20 3c 3c 20 | >> 5] ||= (1 << |
|00004440| 28 28 6e 29 20 26 20 33 | 31 29 29 29 0a 58 0a 58 |((n) & 3|1))).X.X|
|00004450| 0a 58 2f 2a 20 20 63 68 | 61 72 61 63 74 65 72 20 |.X/* ch|aracter |
|00004460| 6e 61 6d 65 73 20 20 2a | 2f 0a 58 0a 58 23 64 65 |names *|/.X.X#de|
|00004470| 66 69 6e 65 09 4e 55 4c | 09 09 27 5c 30 27 20 20 |fine.NUL|..'\0' |
|00004480| 20 20 2f 2a 20 20 74 68 | 65 20 6e 75 6c 6c 20 63 | /* th|e null c|
|00004490| 68 61 72 61 63 74 65 72 | 20 20 2a 2f 0a 58 23 64 |haracter| */.X#d|
|000044a0| 65 66 69 6e 65 09 4e 45 | 57 4c 49 4e 45 09 09 27 |efine.NE|WLINE..'|
|000044b0| 5c 6e 27 20 20 20 20 2f | 2a 20 20 6c 69 6e 65 20 |\n' /|* line |
|000044c0| 66 65 65 64 20 20 2a 2f | 0a 58 23 64 65 66 69 6e |feed */|.X#defin|
|000044d0| 65 09 53 50 09 09 27 20 | 27 20 20 20 20 20 2f 2a |e.SP..' |' /*|
|000044e0| 20 20 73 70 61 63 65 20 | 20 2a 2f 0a 58 23 64 65 | space | */.X#de|
|000044f0| 66 69 6e 65 09 42 53 09 | 09 27 5c 62 27 20 20 20 |fine.BS.|.'\b' |
|00004500| 20 2f 2a 20 20 62 61 63 | 6b 73 70 61 63 65 20 20 | /* bac|kspace |
|00004510| 2a 2f 0a 58 23 64 65 66 | 69 6e 65 09 48 54 09 09 |*/.X#def|ine.HT..|
|00004520| 27 5c 74 27 20 20 20 20 | 2f 2a 20 20 68 6f 72 69 |'\t' |/* hori|
|00004530| 7a 6f 6e 74 61 6c 20 74 | 61 62 20 20 2a 2f 0a 58 |zontal t|ab */.X|
|00004540| 23 64 65 66 69 6e 65 09 | 56 54 09 09 27 5c 30 31 |#define.|VT..'\01|
|00004550| 33 27 20 20 2f 2a 20 20 | 76 65 72 74 69 63 61 6c |3' /* |vertical|
|00004560| 20 74 61 62 20 20 2a 2f | 0a 58 23 64 65 66 69 6e | tab */|.X#defin|
|00004570| 65 09 43 52 09 09 27 5c | 72 27 20 20 20 20 2f 2a |e.CR..'\|r' /*|
|00004580| 20 20 63 61 72 72 69 61 | 67 65 20 72 65 74 75 72 | carria|ge retur|
|00004590| 6e 20 20 2a 2f 0a 58 23 | 64 65 66 69 6e 65 09 46 |n */.X#|define.F|
|000045a0| 46 09 09 27 5c 66 27 20 | 20 20 20 2f 2a 20 20 66 |F..'\f' | /* f|
|000045b0| 6f 72 6d 20 66 65 65 64 | 20 20 2a 2f 0a 58 23 64 |orm feed| */.X#d|
|000045c0| 65 66 69 6e 65 09 51 55 | 4f 54 45 09 09 27 5c 27 |efine.QU|OTE..'\'|
|000045d0| 27 20 20 20 20 2f 2a 20 | 20 73 69 6e 67 6c 65 20 |' /* | single |
|000045e0| 71 75 6f 74 65 20 20 2a | 2f 0a 58 23 64 65 66 69 |quote *|/.X#defi|
|000045f0| 6e 65 09 44 4f 55 42 4c | 45 5f 51 55 4f 54 45 09 |ne.DOUBL|E_QUOTE.|
|00004600| 27 5c 22 27 20 20 20 20 | 2f 2a 20 20 64 6f 75 62 |'\"' |/* doub|
|00004610| 6c 65 20 71 75 6f 74 65 | 20 20 2a 2f 0a 58 23 64 |le quote| */.X#d|
|00004620| 65 66 69 6e 65 09 42 41 | 43 4b 53 4c 41 53 48 09 |efine.BA|CKSLASH.|
|00004630| 27 5c 5c 27 20 20 20 20 | 2f 2a 20 20 62 61 63 6b |'\\' |/* back|
|00004640| 73 6c 61 73 68 20 20 2a | 2f 0a 58 0a 58 0a 58 2f |slash *|/.X.X.X/|
|00004650| 2a 20 64 65 66 69 6e 65 | 73 20 66 6f 72 20 63 6f |* define|s for co|
|00004660| 6e 73 74 72 75 63 74 69 | 6e 67 20 66 69 6c 65 6e |nstructi|ng filen|
|00004670| 61 6d 65 73 20 2a 2f 0a | 58 0a 58 23 64 65 66 69 |ames */.|X.X#defi|
|00004680| 6e 65 09 44 45 46 49 4e | 45 53 5f 53 55 46 46 49 |ne.DEFIN|ES_SUFFI|
|00004690| 58 09 22 2e 74 61 62 2e | 68 22 0a 58 23 64 65 66 |X.".tab.|h".X#def|
|000046a0| 69 6e 65 09 4f 55 54 50 | 55 54 5f 53 55 46 46 49 |ine.OUTP|UT_SUFFI|
|000046b0| 58 09 22 2e 74 61 62 2e | 63 22 0a 58 23 64 65 66 |X.".tab.|c".X#def|
|000046c0| 69 6e 65 09 56 45 52 42 | 4f 53 45 5f 53 55 46 46 |ine.VERB|OSE_SUFF|
|000046d0| 49 58 09 22 2e 6f 75 74 | 70 75 74 22 0a 58 0a 58 |IX.".out|put".X.X|
|000046e0| 0a 58 2f 2a 20 6b 65 79 | 77 6f 72 64 20 63 6f 64 |.X/* key|word cod|
|000046f0| 65 73 20 2a 2f 0a 58 0a | 58 23 64 65 66 69 6e 65 |es */.X.|X#define|
|00004700| 20 54 4f 4b 45 4e 20 30 | 0a 58 23 64 65 66 69 6e | TOKEN 0|.X#defin|
|00004710| 65 20 4c 45 46 54 20 31 | 0a 58 23 64 65 66 69 6e |e LEFT 1|.X#defin|
|00004720| 65 20 52 49 47 48 54 20 | 32 0a 58 23 64 65 66 69 |e RIGHT |2.X#defi|
|00004730| 6e 65 20 4e 4f 4e 41 53 | 53 4f 43 20 33 0a 58 23 |ne NONAS|SOC 3.X#|
|00004740| 64 65 66 69 6e 65 20 4d | 41 52 4b 20 34 0a 58 23 |define M|ARK 4.X#|
|00004750| 64 65 66 69 6e 65 20 54 | 45 58 54 20 35 0a 58 23 |define T|EXT 5.X#|
|00004760| 64 65 66 69 6e 65 20 54 | 59 50 45 20 36 0a 58 23 |define T|YPE 6.X#|
|00004770| 64 65 66 69 6e 65 20 53 | 54 41 52 54 20 37 0a 58 |define S|TART 7.X|
|00004780| 23 64 65 66 69 6e 65 20 | 55 4e 49 4f 4e 20 38 0a |#define |UNION 8.|
|00004790| 58 23 64 65 66 69 6e 65 | 20 49 44 45 4e 54 20 39 |X#define| IDENT 9|
|000047a0| 0a 58 0a 58 0a 58 2f 2a | 20 20 73 79 6d 62 6f 6c |.X.X.X/*| symbol|
|000047b0| 20 63 6c 61 73 73 65 73 | 20 20 2a 2f 0a 58 0a 58 | classes| */.X.X|
|000047c0| 23 64 65 66 69 6e 65 20 | 55 4e 4b 4e 4f 57 4e 20 |#define |UNKNOWN |
|000047d0| 30 0a 58 23 64 65 66 69 | 6e 65 20 54 45 52 4d 20 |0.X#defi|ne TERM |
|000047e0| 31 0a 58 23 64 65 66 69 | 6e 65 20 4e 4f 4e 54 45 |1.X#defi|ne NONTE|
|000047f0| 52 4d 20 32 0a 58 0a 58 | 0a 58 2f 2a 20 20 74 68 |RM 2.X.X|.X/* th|
|00004800| 65 20 75 6e 64 65 66 69 | 6e 65 64 20 76 61 6c 75 |e undefi|ned valu|
|00004810| 65 20 20 2a 2f 0a 58 0a | 58 23 64 65 66 69 6e 65 |e */.X.|X#define|
|00004820| 20 55 4e 44 45 46 49 4e | 45 44 20 28 2d 31 29 0a | UNDEFIN|ED (-1).|
|00004830| 58 0a 58 0a 58 2f 2a 20 | 20 61 63 74 69 6f 6e 20 |X.X.X/* | action |
|00004840| 63 6f 64 65 73 20 20 2a | 2f 0a 58 0a 58 23 64 65 |codes *|/.X.X#de|
|00004850| 66 69 6e 65 20 53 48 49 | 46 54 20 31 0a 58 23 64 |fine SHI|FT 1.X#d|
|00004860| 65 66 69 6e 65 20 52 45 | 44 55 43 45 20 32 0a 58 |efine RE|DUCE 2.X|
|00004870| 23 64 65 66 69 6e 65 20 | 45 52 52 4f 52 20 33 0a |#define |ERROR 3.|
|00004880| 58 0a 58 0a 58 2f 2a 20 | 20 63 68 61 72 61 63 74 |X.X.X/* | charact|
|00004890| 65 72 20 6d 61 63 72 6f | 73 20 20 2a 2f 0a 58 0a |er macro|s */.X.|
|000048a0| 58 23 64 65 66 69 6e 65 | 20 49 53 5f 49 44 45 4e |X#define| IS_IDEN|
|000048b0| 54 28 63 29 09 28 69 73 | 61 6c 6e 75 6d 28 63 29 |T(c).(is|alnum(c)|
|000048c0| 20 7c 7c 20 28 63 29 20 | 3d 3d 20 27 5f 27 20 7c | || (c) |== '_' ||
|000048d0| 7c 20 28 63 29 20 3d 3d | 20 27 2e 27 20 7c 7c 20 || (c) ==| '.' || |
|000048e0| 28 63 29 20 3d 3d 20 27 | 24 27 29 0a 58 23 64 65 |(c) == '|$').X#de|
|000048f0| 66 69 6e 65 09 49 53 5f | 4f 43 54 41 4c 28 63 29 |fine.IS_|OCTAL(c)|
|00004900| 09 28 28 63 29 20 3e 3d | 20 27 30 27 20 26 26 20 |.((c) >=| '0' && |
|00004910| 28 63 29 20 3c 3d 20 27 | 37 27 29 0a 58 23 64 65 |(c) <= '|7').X#de|
|00004920| 66 69 6e 65 09 4e 55 4d | 45 52 49 43 5f 56 41 4c |fine.NUM|ERIC_VAL|
|00004930| 55 45 28 63 29 09 28 28 | 63 29 20 2d 20 27 30 27 |UE(c).((|c) - '0'|
|00004940| 29 0a 58 0a 58 0a 58 2f | 2a 20 20 73 79 6d 62 6f |).X.X.X/|* symbo|
|00004950| 6c 20 6d 61 63 72 6f 73 | 20 20 2a 2f 0a 58 0a 58 |l macros| */.X.X|
|00004960| 23 64 65 66 69 6e 65 20 | 49 53 54 4f 4b 45 4e 28 |#define |ISTOKEN(|
|00004970| 73 29 09 28 28 73 29 20 | 3c 20 73 74 61 72 74 5f |s).((s) |< start_|
|00004980| 73 79 6d 62 6f 6c 29 0a | 58 23 64 65 66 69 6e 65 |symbol).|X#define|
|00004990| 20 49 53 56 41 52 28 73 | 29 09 28 28 73 29 20 3e | ISVAR(s|).((s) >|
|000049a0| 3d 20 73 74 61 72 74 5f | 73 79 6d 62 6f 6c 29 0a |= start_|symbol).|
|000049b0| 58 0a 58 0a 58 2f 2a 20 | 20 73 74 6f 72 61 67 65 |X.X.X/* | storage|
|000049c0| 20 61 6c 6c 6f 63 61 74 | 69 6f 6e 20 6d 61 63 72 | allocat|ion macr|
|000049d0| 6f 73 20 20 2a 2f 0a 58 | 0a 58 23 64 65 66 69 6e |os */.X|.X#defin|
|000049e0| 65 09 46 52 45 45 28 78 | 29 09 09 28 66 72 65 65 |e.FREE(x|)..(free|
|000049f0| 28 28 63 68 61 72 2a 29 | 28 78 29 29 29 0a 58 23 |((char*)|(x))).X#|
|00004a00| 64 65 66 69 6e 65 20 4d | 41 4c 4c 4f 43 28 6e 29 |define M|ALLOC(n)|
|00004a10| 09 28 6d 61 6c 6c 6f 63 | 28 28 75 6e 73 69 67 6e |.(malloc|((unsign|
|00004a20| 65 64 29 28 6e 29 29 29 | 0a 58 23 64 65 66 69 6e |ed)(n)))|.X#defin|
|00004a30| 65 09 4e 45 57 28 74 29 | 09 09 28 28 74 2a 29 61 |e.NEW(t)|..((t*)a|
|00004a40| 6c 6c 6f 63 61 74 65 28 | 73 69 7a 65 6f 66 28 74 |llocate(|sizeof(t|
|00004a50| 29 29 29 0a 58 23 64 65 | 66 69 6e 65 09 4e 45 57 |))).X#de|fine.NEW|
|00004a60| 32 28 6e 2c 74 29 09 28 | 28 74 2a 29 61 6c 6c 6f |2(n,t).(|(t*)allo|
|00004a70| 63 61 74 65 28 28 75 6e | 73 69 67 6e 65 64 29 28 |cate((un|signed)(|
|00004a80| 28 6e 29 2a 73 69 7a 65 | 6f 66 28 74 29 29 29 29 |(n)*size|of(t))))|
|00004a90| 0a 58 23 64 65 66 69 6e | 65 20 52 45 41 4c 4c 4f |.X#defin|e REALLO|
|00004aa0| 43 28 70 2c 6e 29 09 28 | 72 65 61 6c 6c 6f 63 28 |C(p,n).(|realloc(|
|00004ab0| 28 63 68 61 72 2a 29 28 | 70 29 2c 28 75 6e 73 69 |(char*)(|p),(unsi|
|00004ac0| 67 6e 65 64 29 28 6e 29 | 29 29 0a 58 0a 58 0a 58 |gned)(n)|)).X.X.X|
|00004ad0| 2f 2a 20 20 74 68 65 20 | 73 74 72 75 63 74 75 72 |/* the |structur|
|00004ae0| 65 20 6f 66 20 61 20 73 | 79 6d 62 6f 6c 20 74 61 |e of a s|ymbol ta|
|00004af0| 62 6c 65 20 65 6e 74 72 | 79 20 20 2a 2f 0a 58 0a |ble entr|y */.X.|
|00004b00| 58 74 79 70 65 64 65 66 | 20 73 74 72 75 63 74 20 |Xtypedef| struct |
|00004b10| 62 75 63 6b 65 74 20 62 | 75 63 6b 65 74 3b 0a 58 |bucket b|ucket;.X|
|00004b20| 73 74 72 75 63 74 20 62 | 75 63 6b 65 74 0a 58 7b |struct b|ucket.X{|
|00004b30| 0a 58 20 20 20 20 73 74 | 72 75 63 74 20 62 75 63 |.X st|ruct buc|
|00004b40| 6b 65 74 20 2a 6c 69 6e | 6b 3b 0a 58 20 20 20 20 |ket *lin|k;.X |
|00004b50| 73 74 72 75 63 74 20 62 | 75 63 6b 65 74 20 2a 6e |struct b|ucket *n|
|00004b60| 65 78 74 3b 0a 58 20 20 | 20 20 63 68 61 72 20 2a |ext;.X | char *|
|00004b70| 6e 61 6d 65 3b 0a 58 20 | 20 20 20 63 68 61 72 20 |name;.X | char |
|00004b80| 2a 74 61 67 3b 0a 58 20 | 20 20 20 73 68 6f 72 74 |*tag;.X | short|
|00004b90| 20 76 61 6c 75 65 3b 0a | 58 20 20 20 20 73 68 6f | value;.|X sho|
|00004ba0| 72 74 20 69 6e 64 65 78 | 3b 0a 58 20 20 20 20 73 |rt index|;.X s|
|00004bb0| 68 6f 72 74 20 70 72 65 | 63 3b 0a 58 20 20 20 20 |hort pre|c;.X |
|00004bc0| 63 68 61 72 20 63 6c 61 | 73 73 3b 0a 58 20 20 20 |char cla|ss;.X |
|00004bd0| 20 63 68 61 72 20 61 73 | 73 6f 63 3b 0a 58 7d 3b | char as|soc;.X};|
|00004be0| 0a 58 0a 58 0a 58 2f 2a | 20 20 74 68 65 20 73 74 |.X.X.X/*| the st|
|00004bf0| 72 75 63 74 75 72 65 20 | 6f 66 20 74 68 65 20 4c |ructure |of the L|
|00004c00| 52 28 30 29 20 73 74 61 | 74 65 20 6d 61 63 68 69 |R(0) sta|te machi|
|00004c10| 6e 65 20 20 2a 2f 0a 58 | 0a 58 74 79 70 65 64 65 |ne */.X|.Xtypede|
|00004c20| 66 20 73 74 72 75 63 74 | 20 63 6f 72 65 20 63 6f |f struct| core co|
|00004c30| 72 65 3b 0a 58 73 74 72 | 75 63 74 20 63 6f 72 65 |re;.Xstr|uct core|
|00004c40| 0a 58 7b 0a 58 20 20 20 | 20 73 74 72 75 63 74 20 |.X{.X | struct |
|00004c50| 63 6f 72 65 20 2a 6e 65 | 78 74 3b 0a 58 20 20 20 |core *ne|xt;.X |
|00004c60| 20 73 74 72 75 63 74 20 | 63 6f 72 65 20 2a 6c 69 | struct |core *li|
|00004c70| 6e 6b 3b 0a 58 20 20 20 | 20 73 68 6f 72 74 20 6e |nk;.X | short n|
|00004c80| 75 6d 62 65 72 3b 0a 58 | 20 20 20 20 73 68 6f 72 |umber;.X| shor|
|00004c90| 74 20 61 63 63 65 73 73 | 69 6e 67 5f 73 79 6d 62 |t access|ing_symb|
|00004ca0| 6f 6c 3b 0a 58 20 20 20 | 20 73 68 6f 72 74 20 6e |ol;.X | short n|
|00004cb0| 69 74 65 6d 73 3b 0a 58 | 20 20 20 20 73 68 6f 72 |items;.X| shor|
|00004cc0| 74 20 69 74 65 6d 73 5b | 31 5d 3b 0a 58 7d 3b 0a |t items[|1];.X};.|
|00004cd0| 58 0a 58 0a 58 2f 2a 20 | 20 74 68 65 20 73 74 72 |X.X.X/* | the str|
|00004ce0| 75 63 74 75 72 65 20 75 | 73 65 64 20 74 6f 20 72 |ucture u|sed to r|
|00004cf0| 65 63 6f 72 64 20 73 68 | 69 66 74 73 20 20 2a 2f |ecord sh|ifts */|
|00004d00| 0a 58 0a 58 74 79 70 65 | 64 65 66 20 73 74 72 75 |.X.Xtype|def stru|
|00004d10| 63 74 20 73 68 69 66 74 | 73 20 73 68 69 66 74 73 |ct shift|s shifts|
|00004d20| 3b 0a 58 73 74 72 75 63 | 74 20 73 68 69 66 74 73 |;.Xstruc|t shifts|
|00004d30| 0a 58 7b 0a 58 20 20 20 | 20 73 74 72 75 63 74 20 |.X{.X | struct |
|00004d40| 73 68 69 66 74 73 20 2a | 6e 65 78 74 3b 0a 58 20 |shifts *|next;.X |
|00004d50| 20 20 20 73 68 6f 72 74 | 20 6e 75 6d 62 65 72 3b | short| number;|
|00004d60| 0a 58 20 20 20 20 73 68 | 6f 72 74 20 6e 73 68 69 |.X sh|ort nshi|
|00004d70| 66 74 73 3b 0a 58 20 20 | 20 20 73 68 6f 72 74 20 |fts;.X | short |
|00004d80| 73 68 69 66 74 5b 31 5d | 3b 0a 58 7d 3b 0a 58 0a |shift[1]|;.X};.X.|
|00004d90| 58 0a 58 2f 2a 20 20 74 | 68 65 20 73 74 72 75 63 |X.X/* t|he struc|
|00004da0| 74 75 72 65 20 75 73 65 | 64 20 74 6f 20 73 74 6f |ture use|d to sto|
|00004db0| 72 65 20 72 65 64 75 63 | 74 69 6f 6e 73 20 20 2a |re reduc|tions *|
|00004dc0| 2f 0a 58 0a 58 74 79 70 | 65 64 65 66 20 73 74 72 |/.X.Xtyp|edef str|
|00004dd0| 75 63 74 20 72 65 64 75 | 63 74 69 6f 6e 73 20 72 |uct redu|ctions r|
|00004de0| 65 64 75 63 74 69 6f 6e | 73 3b 0a 58 73 74 72 75 |eduction|s;.Xstru|
|00004df0| 63 74 20 72 65 64 75 63 | 74 69 6f 6e 73 0a 58 7b |ct reduc|tions.X{|
|00004e00| 0a 58 20 20 20 20 73 74 | 72 75 63 74 20 72 65 64 |.X st|ruct red|
|00004e10| 75 63 74 69 6f 6e 73 20 | 2a 6e 65 78 74 3b 0a 58 |uctions |*next;.X|
|00004e20| 20 20 20 20 73 68 6f 72 | 74 20 6e 75 6d 62 65 72 | shor|t number|
|00004e30| 3b 0a 58 20 20 20 20 73 | 68 6f 72 74 20 6e 72 65 |;.X s|hort nre|
|00004e40| 64 73 3b 0a 58 20 20 20 | 20 73 68 6f 72 74 20 72 |ds;.X | short r|
|00004e50| 75 6c 65 73 5b 31 5d 3b | 0a 58 7d 3b 0a 58 0a 58 |ules[1];|.X};.X.X|
|00004e60| 0a 58 2f 2a 20 20 74 68 | 65 20 73 74 72 75 63 74 |.X/* th|e struct|
|00004e70| 75 72 65 20 75 73 65 64 | 20 74 6f 20 72 65 70 72 |ure used| to repr|
|00004e80| 65 73 65 6e 74 20 70 61 | 72 73 65 72 20 61 63 74 |esent pa|rser act|
|00004e90| 69 6f 6e 73 20 20 2a 2f | 0a 58 0a 58 74 79 70 65 |ions */|.X.Xtype|
|00004ea0| 64 65 66 20 73 74 72 75 | 63 74 20 61 63 74 69 6f |def stru|ct actio|
|00004eb0| 6e 20 61 63 74 69 6f 6e | 3b 0a 58 73 74 72 75 63 |n action|;.Xstruc|
|00004ec0| 74 20 61 63 74 69 6f 6e | 0a 58 7b 0a 58 20 20 20 |t action|.X{.X |
|00004ed0| 20 73 74 72 75 63 74 20 | 61 63 74 69 6f 6e 20 2a | struct |action *|
|00004ee0| 6e 65 78 74 3b 0a 58 20 | 20 20 20 73 68 6f 72 74 |next;.X | short|
|00004ef0| 20 73 79 6d 62 6f 6c 3b | 0a 58 20 20 20 20 73 68 | symbol;|.X sh|
|00004f00| 6f 72 74 20 6e 75 6d 62 | 65 72 3b 0a 58 20 20 20 |ort numb|er;.X |
|00004f10| 20 73 68 6f 72 74 20 70 | 72 65 63 3b 0a 58 20 20 | short p|rec;.X |
|00004f20| 20 20 63 68 61 72 20 61 | 63 74 69 6f 6e 5f 63 6f | char a|ction_co|
|00004f30| 64 65 3b 0a 58 20 20 20 | 20 63 68 61 72 20 61 73 |de;.X | char as|
|00004f40| 73 6f 63 3b 0a 58 20 20 | 20 20 63 68 61 72 20 73 |soc;.X | char s|
|00004f50| 75 70 70 72 65 73 73 65 | 64 3b 0a 58 7d 3b 0a 58 |uppresse|d;.X};.X|
|00004f60| 0a 58 0a 58 2f 2a 20 67 | 6c 6f 62 61 6c 20 76 61 |.X.X/* g|lobal va|
|00004f70| 72 69 61 62 6c 65 73 20 | 2a 2f 0a 58 0a 58 65 78 |riables |*/.X.Xex|
|00004f80| 74 65 72 6e 20 63 68 61 | 72 20 64 66 6c 61 67 3b |tern cha|r dflag;|
|00004f90| 0a 58 65 78 74 65 72 6e | 20 63 68 61 72 20 6c 66 |.Xextern| char lf|
|00004fa0| 6c 61 67 3b 0a 58 65 78 | 74 65 72 6e 20 63 68 61 |lag;.Xex|tern cha|
|00004fb0| 72 20 74 66 6c 61 67 3b | 0a 58 65 78 74 65 72 6e |r tflag;|.Xextern|
|00004fc0| 20 63 68 61 72 20 76 66 | 6c 61 67 3b 0a 58 0a 58 | char vf|lag;.X.X|
|00004fd0| 65 78 74 65 72 6e 20 63 | 68 61 72 20 2a 6d 79 6e |extern c|har *myn|
|00004fe0| 61 6d 65 3b 0a 58 65 78 | 74 65 72 6e 20 63 68 61 |ame;.Xex|tern cha|
|00004ff0| 72 20 2a 63 70 74 72 3b | 0a 58 65 78 74 65 72 6e |r *cptr;|.Xextern|
|00005000| 20 63 68 61 72 20 2a 6c | 69 6e 65 3b 0a 58 65 78 | char *l|ine;.Xex|
|00005010| 74 65 72 6e 20 69 6e 74 | 20 6c 69 6e 65 6e 6f 3b |tern int| lineno;|
|00005020| 0a 58 65 78 74 65 72 6e | 20 69 6e 74 20 6f 75 74 |.Xextern| int out|
|00005030| 6c 69 6e 65 3b 0a 58 0a | 58 65 78 74 65 72 6e 20 |line;.X.|Xextern |
|00005040| 63 68 61 72 20 2a 62 61 | 6e 6e 65 72 5b 5d 3b 0a |char *ba|nner[];.|
|00005050| 58 65 78 74 65 72 6e 20 | 63 68 61 72 20 2a 68 65 |Xextern |char *he|
|00005060| 61 64 65 72 5b 5d 3b 0a | 58 65 78 74 65 72 6e 20 |ader[];.|Xextern |
|00005070| 63 68 61 72 20 2a 62 6f | 64 79 5b 5d 3b 0a 58 65 |char *bo|dy[];.Xe|
|00005080| 78 74 65 72 6e 20 63 68 | 61 72 20 2a 74 72 61 69 |xtern ch|ar *trai|
|00005090| 6c 65 72 5b 5d 3b 0a 58 | 0a 58 65 78 74 65 72 6e |ler[];.X|.Xextern|
|000050a0| 20 63 68 61 72 20 2a 61 | 63 74 69 6f 6e 5f 66 69 | char *a|ction_fi|
|000050b0| 6c 65 5f 6e 61 6d 65 3b | 0a 58 65 78 74 65 72 6e |le_name;|.Xextern|
|000050c0| 20 63 68 61 72 20 2a 64 | 65 66 69 6e 65 73 5f 66 | char *d|efines_f|
|000050d0| 69 6c 65 5f 6e 61 6d 65 | 3b 0a 58 65 78 74 65 72 |ile_name|;.Xexter|
|000050e0| 6e 20 63 68 61 72 20 2a | 69 6e 70 75 74 5f 66 69 |n char *|input_fi|
|000050f0| 6c 65 5f 6e 61 6d 65 3b | 0a 58 65 78 74 65 72 6e |le_name;|.Xextern|
|00005100| 20 63 68 61 72 20 2a 6f | 75 74 70 75 74 5f 66 69 | char *o|utput_fi|
|00005110| 6c 65 5f 6e 61 6d 65 3b | 0a 58 65 78 74 65 72 6e |le_name;|.Xextern|
|00005120| 20 63 68 61 72 20 2a 74 | 65 78 74 5f 66 69 6c 65 | char *t|ext_file|
|00005130| 5f 6e 61 6d 65 3b 0a 58 | 65 78 74 65 72 6e 20 63 |_name;.X|extern c|
|00005140| 68 61 72 20 2a 75 6e 69 | 6f 6e 5f 66 69 6c 65 5f |har *uni|on_file_|
|00005150| 6e 61 6d 65 3b 0a 58 65 | 78 74 65 72 6e 20 63 68 |name;.Xe|xtern ch|
|00005160| 61 72 20 2a 76 65 72 62 | 6f 73 65 5f 66 69 6c 65 |ar *verb|ose_file|
|00005170| 5f 6e 61 6d 65 3b 0a 58 | 0a 58 65 78 74 65 72 6e |_name;.X|.Xextern|
|00005180| 20 46 49 4c 45 20 2a 61 | 63 74 69 6f 6e 5f 66 69 | FILE *a|ction_fi|
|00005190| 6c 65 3b 0a 58 65 78 74 | 65 72 6e 20 46 49 4c 45 |le;.Xext|ern FILE|
|000051a0| 20 2a 64 65 66 69 6e 65 | 73 5f 66 69 6c 65 3b 0a | *define|s_file;.|
|000051b0| 58 65 78 74 65 72 6e 20 | 46 49 4c 45 20 2a 69 6e |Xextern |FILE *in|
|000051c0| 70 75 74 5f 66 69 6c 65 | 3b 0a 58 65 78 74 65 72 |put_file|;.Xexter|
|000051d0| 6e 20 46 49 4c 45 20 2a | 6f 75 74 70 75 74 5f 66 |n FILE *|output_f|
|000051e0| 69 6c 65 3b 0a 58 65 78 | 74 65 72 6e 20 46 49 4c |ile;.Xex|tern FIL|
|000051f0| 45 20 2a 74 65 78 74 5f | 66 69 6c 65 3b 0a 58 65 |E *text_|file;.Xe|
|00005200| 78 74 65 72 6e 20 46 49 | 4c 45 20 2a 75 6e 69 6f |xtern FI|LE *unio|
|00005210| 6e 5f 66 69 6c 65 3b 0a | 58 65 78 74 65 72 6e 20 |n_file;.|Xextern |
|00005220| 46 49 4c 45 20 2a 76 65 | 72 62 6f 73 65 5f 66 69 |FILE *ve|rbose_fi|
|00005230| 6c 65 3b 0a 58 0a 58 65 | 78 74 65 72 6e 20 69 6e |le;.X.Xe|xtern in|
|00005240| 74 20 6e 69 74 65 6d 73 | 3b 0a 58 65 78 74 65 72 |t nitems|;.Xexter|
|00005250| 6e 20 69 6e 74 20 6e 72 | 75 6c 65 73 3b 0a 58 65 |n int nr|ules;.Xe|
|00005260| 78 74 65 72 6e 20 69 6e | 74 20 6e 73 79 6d 73 3b |xtern in|t nsyms;|
|00005270| 0a 58 65 78 74 65 72 6e | 20 69 6e 74 20 6e 74 6f |.Xextern| int nto|
|00005280| 6b 65 6e 73 3b 0a 58 65 | 78 74 65 72 6e 20 69 6e |kens;.Xe|xtern in|
|00005290| 74 20 6e 76 61 72 73 3b | 0a 58 65 78 74 65 72 6e |t nvars;|.Xextern|
|000052a0| 20 69 6e 74 20 6e 74 61 | 67 73 3b 0a 58 0a 58 65 | int nta|gs;.X.Xe|
|000052b0| 78 74 65 72 6e 20 63 68 | 61 72 20 75 6e 69 6f 6e |xtern ch|ar union|
|000052c0| 69 7a 65 64 3b 0a 58 65 | 78 74 65 72 6e 20 63 68 |ized;.Xe|xtern ch|
|000052d0| 61 72 20 6c 69 6e 65 5f | 66 6f 72 6d 61 74 5b 5d |ar line_|format[]|
|000052e0| 3b 0a 58 0a 58 65 78 74 | 65 72 6e 20 69 6e 74 20 |;.X.Xext|ern int |
|000052f0| 20 20 73 74 61 72 74 5f | 73 79 6d 62 6f 6c 3b 0a | start_|symbol;.|
|00005300| 58 65 78 74 65 72 6e 20 | 63 68 61 72 20 20 2a 2a |Xextern |char **|
|00005310| 73 79 6d 62 6f 6c 5f 6e | 61 6d 65 3b 0a 58 65 78 |symbol_n|ame;.Xex|
|00005320| 74 65 72 6e 20 73 68 6f | 72 74 20 2a 73 79 6d 62 |tern sho|rt *symb|
|00005330| 6f 6c 5f 76 61 6c 75 65 | 3b 0a 58 65 78 74 65 72 |ol_value|;.Xexter|
|00005340| 6e 20 73 68 6f 72 74 20 | 2a 73 79 6d 62 6f 6c 5f |n short |*symbol_|
|00005350| 70 72 65 63 3b 0a 58 65 | 78 74 65 72 6e 20 63 68 |prec;.Xe|xtern ch|
|00005360| 61 72 20 20 2a 73 79 6d | 62 6f 6c 5f 61 73 73 6f |ar *sym|bol_asso|
|00005370| 63 3b 0a 58 0a 58 65 78 | 74 65 72 6e 20 73 68 6f |c;.X.Xex|tern sho|
|00005380| 72 74 20 2a 72 69 74 65 | 6d 3b 0a 58 65 78 74 65 |rt *rite|m;.Xexte|
|00005390| 72 6e 20 73 68 6f 72 74 | 20 2a 72 6c 68 73 3b 0a |rn short| *rlhs;.|
|000053a0| 58 65 78 74 65 72 6e 20 | 73 68 6f 72 74 20 2a 72 |Xextern |short *r|
|000053b0| 72 68 73 3b 0a 58 65 78 | 74 65 72 6e 20 73 68 6f |rhs;.Xex|tern sho|
|000053c0| 72 74 20 2a 72 70 72 65 | 63 3b 0a 58 65 78 74 65 |rt *rpre|c;.Xexte|
|000053d0| 72 6e 20 63 68 61 72 20 | 20 2a 72 61 73 73 6f 63 |rn char | *rassoc|
|000053e0| 3b 0a 58 0a 58 65 78 74 | 65 72 6e 20 73 68 6f 72 |;.X.Xext|ern shor|
|000053f0| 74 20 2a 2a 64 65 72 69 | 76 65 73 3b 0a 58 65 78 |t **deri|ves;.Xex|
|00005400| 74 65 72 6e 20 63 68 61 | 72 20 2a 6e 75 6c 6c 61 |tern cha|r *nulla|
|00005410| 62 6c 65 3b 0a 58 0a 58 | 65 78 74 65 72 6e 20 62 |ble;.X.X|extern b|
|00005420| 75 63 6b 65 74 20 2a 66 | 69 72 73 74 5f 73 79 6d |ucket *f|irst_sym|
|00005430| 62 6f 6c 3b 0a 58 65 78 | 74 65 72 6e 20 62 75 63 |bol;.Xex|tern buc|
|00005440| 6b 65 74 20 2a 6c 61 73 | 74 5f 73 79 6d 62 6f 6c |ket *las|t_symbol|
|00005450| 3b 0a 58 0a 58 65 78 74 | 65 72 6e 20 69 6e 74 20 |;.X.Xext|ern int |
|00005460| 6e 73 74 61 74 65 73 3b | 0a 58 65 78 74 65 72 6e |nstates;|.Xextern|
|00005470| 20 63 6f 72 65 20 2a 66 | 69 72 73 74 5f 73 74 61 | core *f|irst_sta|
|00005480| 74 65 3b 0a 58 65 78 74 | 65 72 6e 20 73 68 69 66 |te;.Xext|ern shif|
|00005490| 74 73 20 2a 66 69 72 73 | 74 5f 73 68 69 66 74 3b |ts *firs|t_shift;|
|000054a0| 0a 58 65 78 74 65 72 6e | 20 72 65 64 75 63 74 69 |.Xextern| reducti|
|000054b0| 6f 6e 73 20 2a 66 69 72 | 73 74 5f 72 65 64 75 63 |ons *fir|st_reduc|
|000054c0| 74 69 6f 6e 3b 0a 58 65 | 78 74 65 72 6e 20 73 68 |tion;.Xe|xtern sh|
|000054d0| 6f 72 74 20 2a 61 63 63 | 65 73 73 69 6e 67 5f 73 |ort *acc|essing_s|
|000054e0| 79 6d 62 6f 6c 3b 0a 58 | 65 78 74 65 72 6e 20 63 |ymbol;.X|extern c|
|000054f0| 6f 72 65 20 2a 2a 73 74 | 61 74 65 5f 74 61 62 6c |ore **st|ate_tabl|
|00005500| 65 3b 0a 58 65 78 74 65 | 72 6e 20 73 68 69 66 74 |e;.Xexte|rn shift|
|00005510| 73 20 2a 2a 73 68 69 66 | 74 5f 74 61 62 6c 65 3b |s **shif|t_table;|
|00005520| 0a 58 65 78 74 65 72 6e | 20 72 65 64 75 63 74 69 |.Xextern| reducti|
|00005530| 6f 6e 73 20 2a 2a 72 65 | 64 75 63 74 69 6f 6e 5f |ons **re|duction_|
|00005540| 74 61 62 6c 65 3b 0a 58 | 65 78 74 65 72 6e 20 75 |table;.X|extern u|
|00005550| 6e 73 69 67 6e 65 64 20 | 2a 4c 41 3b 0a 58 65 78 |nsigned |*LA;.Xex|
|00005560| 74 65 72 6e 20 73 68 6f | 72 74 20 2a 4c 41 72 75 |tern sho|rt *LAru|
|00005570| 6c 65 6e 6f 3b 0a 58 65 | 78 74 65 72 6e 20 73 68 |leno;.Xe|xtern sh|
|00005580| 6f 72 74 20 2a 6c 6f 6f | 6b 61 68 65 61 64 73 3b |ort *loo|kaheads;|
|00005590| 0a 58 65 78 74 65 72 6e | 20 73 68 6f 72 74 20 2a |.Xextern| short *|
|000055a0| 67 6f 74 6f 5f 6d 61 70 | 3b 0a 58 65 78 74 65 72 |goto_map|;.Xexter|
|000055b0| 6e 20 73 68 6f 72 74 20 | 2a 66 72 6f 6d 5f 73 74 |n short |*from_st|
|000055c0| 61 74 65 3b 0a 58 65 78 | 74 65 72 6e 20 73 68 6f |ate;.Xex|tern sho|
|000055d0| 72 74 20 2a 74 6f 5f 73 | 74 61 74 65 3b 0a 58 0a |rt *to_s|tate;.X.|
|000055e0| 58 65 78 74 65 72 6e 20 | 61 63 74 69 6f 6e 20 2a |Xextern |action *|
|000055f0| 2a 70 61 72 73 65 72 3b | 0a 58 65 78 74 65 72 6e |*parser;|.Xextern|
|00005600| 20 69 6e 74 20 53 52 74 | 6f 74 61 6c 3b 0a 58 65 | int SRt|otal;.Xe|
|00005610| 78 74 65 72 6e 20 69 6e | 74 20 52 52 74 6f 74 61 |xtern in|t RRtota|
|00005620| 6c 3b 0a 58 65 78 74 65 | 72 6e 20 73 68 6f 72 74 |l;.Xexte|rn short|
|00005630| 20 2a 53 52 63 6f 6e 66 | 6c 69 63 74 73 3b 0a 58 | *SRconf|licts;.X|
|00005640| 65 78 74 65 72 6e 20 73 | 68 6f 72 74 20 2a 52 52 |extern s|hort *RR|
|00005650| 63 6f 6e 66 6c 69 63 74 | 73 3b 0a 58 65 78 74 65 |conflict|s;.Xexte|
|00005660| 72 6e 20 73 68 6f 72 74 | 20 2a 64 65 66 72 65 64 |rn short| *defred|
|00005670| 3b 0a 58 65 78 74 65 72 | 6e 20 73 68 6f 72 74 20 |;.Xexter|n short |
|00005680| 2a 72 75 6c 65 73 5f 75 | 73 65 64 3b 0a 58 65 78 |*rules_u|sed;.Xex|
|00005690| 74 65 72 6e 20 73 68 6f | 72 74 20 6e 75 6e 75 73 |tern sho|rt nunus|
|000056a0| 65 64 3b 0a 58 65 78 74 | 65 72 6e 20 73 68 6f 72 |ed;.Xext|ern shor|
|000056b0| 74 20 66 69 6e 61 6c 5f | 73 74 61 74 65 3b 0a 58 |t final_|state;.X|
|000056c0| 0a 58 2f 2a 20 67 6c 6f | 62 61 6c 20 66 75 6e 63 |.X/* glo|bal func|
|000056d0| 74 69 6f 6e 73 20 2a 2f | 0a 58 0a 58 65 78 74 65 |tions */|.X.Xexte|
|000056e0| 72 6e 20 63 68 61 72 20 | 2a 61 6c 6c 6f 63 61 74 |rn char |*allocat|
|000056f0| 65 28 29 3b 0a 58 65 78 | 74 65 72 6e 20 62 75 63 |e();.Xex|tern buc|
|00005700| 6b 65 74 20 2a 6c 6f 6f | 6b 75 70 28 29 3b 0a 58 |ket *loo|kup();.X|
|00005710| 65 78 74 65 72 6e 20 62 | 75 63 6b 65 74 20 2a 6d |extern b|ucket *m|
|00005720| 61 6b 65 5f 62 75 63 6b | 65 74 28 29 3b 0a 58 0a |ake_buck|et();.X.|
|00005730| 58 0a 58 2f 2a 20 73 79 | 73 74 65 6d 20 76 61 72 |X.X/* sy|stem var|
|00005740| 69 61 62 6c 65 73 20 2a | 2f 0a 58 0a 58 65 78 74 |iables *|/.X.Xext|
|00005750| 65 72 6e 20 69 6e 74 20 | 65 72 72 6e 6f 3b 0a 58 |ern int |errno;.X|
|00005760| 0a 58 0a 58 2f 2a 20 73 | 79 73 74 65 6d 20 66 75 |.X.X/* s|ystem fu|
|00005770| 6e 63 74 69 6f 6e 73 20 | 2a 2f 0a 58 0a 58 65 78 |nctions |*/.X.Xex|
|00005780| 74 65 72 6e 20 76 6f 69 | 64 20 66 72 65 65 28 29 |tern voi|d free()|
|00005790| 3b 0a 58 65 78 74 65 72 | 6e 20 63 68 61 72 20 2a |;.Xexter|n char *|
|000057a0| 63 61 6c 6c 6f 63 28 29 | 3b 0a 58 65 78 74 65 72 |calloc()|;.Xexter|
|000057b0| 6e 20 63 68 61 72 20 2a | 6d 61 6c 6c 6f 63 28 29 |n char *|malloc()|
|000057c0| 3b 0a 58 65 78 74 65 72 | 6e 20 63 68 61 72 20 2a |;.Xexter|n char *|
|000057d0| 72 65 61 6c 6c 6f 63 28 | 29 3b 0a 58 65 78 74 65 |realloc(|);.Xexte|
|000057e0| 72 6e 20 63 68 61 72 20 | 2a 73 74 72 63 70 79 28 |rn char |*strcpy(|
|000057f0| 29 3b 0a 45 4e 44 5f 4f | 46 5f 46 49 4c 45 0a 69 |);.END_O|F_FILE.i|
|00005800| 66 20 74 65 73 74 20 35 | 37 33 38 20 2d 6e 65 20 |f test 5|738 -ne |
|00005810| 60 77 63 20 2d 63 20 3c | 27 64 65 66 73 2e 68 27 |`wc -c <|'defs.h'|
|00005820| 60 3b 20 74 68 65 6e 0a | 20 20 20 20 65 63 68 6f |`; then.| echo|
|00005830| 20 73 68 61 72 3a 20 5c | 22 27 64 65 66 73 2e 68 | shar: \|"'defs.h|
|00005840| 27 5c 22 20 75 6e 70 61 | 63 6b 65 64 20 77 69 74 |'\" unpa|cked wit|
|00005850| 68 20 77 72 6f 6e 67 20 | 73 69 7a 65 21 0a 66 69 |h wrong |size!.fi|
|00005860| 0a 23 20 65 6e 64 20 6f | 66 20 27 64 65 66 73 2e |.# end o|f 'defs.|
|00005870| 68 27 0a 66 69 0a 69 66 | 20 74 65 73 74 20 2d 66 |h'.fi.if| test -f|
|00005880| 20 27 65 72 72 6f 72 2e | 63 27 20 2d 61 20 22 24 | 'error.|c' -a "$|
|00005890| 7b 31 7d 22 20 21 3d 20 | 22 2d 63 22 20 3b 20 74 |{1}" != |"-c" ; t|
|000058a0| 68 65 6e 20 0a 20 20 65 | 63 68 6f 20 73 68 61 72 |hen . e|cho shar|
|000058b0| 3a 20 57 69 6c 6c 20 6e | 6f 74 20 63 6c 6f 62 62 |: Will n|ot clobb|
|000058c0| 65 72 20 65 78 69 73 74 | 69 6e 67 20 66 69 6c 65 |er exist|ing file|
|000058d0| 20 5c 22 27 65 72 72 6f | 72 2e 63 27 5c 22 0a 65 | \"'erro|r.c'\".e|
|000058e0| 6c 73 65 0a 65 63 68 6f | 20 73 68 61 72 3a 20 45 |lse.echo| shar: E|
|000058f0| 78 74 72 61 63 74 69 6e | 67 20 5c 22 27 65 72 72 |xtractin|g \"'err|
|00005900| 6f 72 2e 63 27 5c 22 20 | 5c 28 36 30 35 31 20 63 |or.c'\" |\(6051 c|
|00005910| 68 61 72 61 63 74 65 72 | 73 5c 29 0a 73 65 64 20 |haracter|s\).sed |
|00005920| 22 73 2f 5e 58 2f 2f 22 | 20 3e 27 65 72 72 6f 72 |"s/^X//"| >'error|
|00005930| 2e 63 27 20 3c 3c 27 45 | 4e 44 5f 4f 46 5f 46 49 |.c' <<'E|ND_OF_FI|
|00005940| 4c 45 27 0a 58 2f 2a 20 | 72 6f 75 74 69 6e 65 73 |LE'.X/* |routines|
|00005950| 20 66 6f 72 20 70 72 69 | 6e 74 69 6e 67 20 65 72 | for pri|nting er|
|00005960| 72 6f 72 20 6d 65 73 73 | 61 67 65 73 20 20 2a 2f |ror mess|ages */|
|00005970| 0a 58 0a 58 23 69 6e 63 | 6c 75 64 65 20 22 64 65 |.X.X#inc|lude "de|
|00005980| 66 73 2e 68 22 0a 58 0a | 58 0a 58 66 61 74 61 6c |fs.h".X.|X.Xfatal|
|00005990| 28 6d 73 67 29 0a 58 63 | 68 61 72 20 2a 6d 73 67 |(msg).Xc|har *msg|
|000059a0| 3b 0a 58 7b 0a 58 20 20 | 20 20 66 70 72 69 6e 74 |;.X{.X | fprint|
|000059b0| 66 28 73 74 64 65 72 72 | 2c 20 22 25 73 3a 20 66 |f(stderr|, "%s: f|
|000059c0| 20 2d 20 25 73 5c 6e 22 | 2c 20 6d 79 6e 61 6d 65 | - %s\n"|, myname|
|000059d0| 2c 20 6d 73 67 29 3b 0a | 58 20 20 20 20 64 6f 6e |, msg);.|X don|
|000059e0| 65 28 32 29 3b 0a 58 7d | 0a 58 0a 58 0a 58 6e 6f |e(2);.X}|.X.X.Xno|
|000059f0| 5f 73 70 61 63 65 28 29 | 0a 58 7b 0a 58 20 20 20 |_space()|.X{.X |
|00005a00| 20 66 70 72 69 6e 74 66 | 28 73 74 64 65 72 72 2c | fprintf|(stderr,|
|00005a10| 20 22 25 73 3a 20 66 20 | 2d 20 6f 75 74 20 6f 66 | "%s: f |- out of|
|00005a20| 20 73 70 61 63 65 5c 6e | 22 2c 20 6d 79 6e 61 6d | space\n|", mynam|
|00005a30| 65 29 3b 0a 58 20 20 20 | 20 64 6f 6e 65 28 32 29 |e);.X | done(2)|
|00005a40| 3b 0a 58 7d 0a 58 0a 58 | 0a 58 6f 70 65 6e 5f 65 |;.X}.X.X|.Xopen_e|
|00005a50| 72 72 6f 72 28 66 69 6c | 65 6e 61 6d 65 29 0a 58 |rror(fil|ename).X|
|00005a60| 63 68 61 72 20 2a 66 69 | 6c 65 6e 61 6d 65 3b 0a |char *fi|lename;.|
|00005a70| 58 7b 0a 58 20 20 20 20 | 66 70 72 69 6e 74 66 28 |X{.X |fprintf(|
|00005a80| 73 74 64 65 72 72 2c 20 | 22 25 73 3a 20 66 20 2d |stderr, |"%s: f -|
|00005a90| 20 63 61 6e 6e 6f 74 20 | 6f 70 65 6e 20 5c 22 25 | cannot |open \"%|
|00005aa0| 73 5c 22 5c 6e 22 2c 20 | 6d 79 6e 61 6d 65 2c 20 |s\"\n", |myname, |
|00005ab0| 66 69 6c 65 6e 61 6d 65 | 29 3b 0a 58 20 20 20 20 |filename|);.X |
|00005ac0| 64 6f 6e 65 28 32 29 3b | 0a 58 7d 0a 58 0a 58 0a |done(2);|.X}.X.X.|
|00005ad0| 58 75 6e 65 78 70 65 63 | 74 65 64 5f 45 4f 46 28 |Xunexpec|ted_EOF(|
|00005ae0| 29 0a 58 7b 0a 58 20 20 | 20 20 66 70 72 69 6e 74 |).X{.X | fprint|
|00005af0| 66 28 73 74 64 65 72 72 | 2c 20 22 25 73 3a 20 65 |f(stderr|, "%s: e|
|00005b00| 20 2d 20 6c 69 6e 65 20 | 25 64 20 6f 66 20 5c 22 | - line |%d of \"|
|00005b10| 25 73 5c 22 2c 20 75 6e | 65 78 70 65 63 74 65 64 |%s\", un|expected|
|00005b20| 20 65 6e 64 2d 6f 66 2d | 66 69 6c 65 5c 6e 22 2c | end-of-|file\n",|
|00005b30| 0a 58 09 20 20 20 20 6d | 79 6e 61 6d 65 2c 20 6c |.X. m|yname, l|
|00005b40| 69 6e 65 6e 6f 2c 20 69 | 6e 70 75 74 5f 66 69 6c |ineno, i|nput_fil|
|00005b50| 65 5f 6e 61 6d 65 29 3b | 0a 58 20 20 20 20 64 6f |e_name);|.X do|
|00005b60| 6e 65 28 31 29 3b 0a 58 | 7d 0a 58 0a 58 0a 58 70 |ne(1);.X|}.X.X.Xp|
|00005b70| 72 69 6e 74 5f 70 6f 73 | 28 73 74 5f 6c 69 6e 65 |rint_pos|(st_line|
|00005b80| 2c 20 73 74 5f 63 70 74 | 72 29 0a 58 63 68 61 72 |, st_cpt|r).Xchar|
|00005b90| 20 2a 73 74 5f 6c 69 6e | 65 3b 0a 58 63 68 61 72 | *st_lin|e;.Xchar|
|00005ba0| 20 2a 73 74 5f 63 70 74 | 72 3b 0a 58 7b 0a 58 20 | *st_cpt|r;.X{.X |
|00005bb0| 20 20 20 72 65 67 69 73 | 74 65 72 20 63 68 61 72 | regis|ter char|
|00005bc0| 20 2a 73 3b 0a 58 0a 58 | 20 20 20 20 69 66 20 28 | *s;.X.X| if (|
|00005bd0| 73 74 5f 6c 69 6e 65 20 | 3d 3d 20 30 29 20 72 65 |st_line |== 0) re|
|00005be0| 74 75 72 6e 3b 0a 58 20 | 20 20 20 66 6f 72 20 28 |turn;.X | for (|
|00005bf0| 73 20 3d 20 73 74 5f 6c | 69 6e 65 3b 20 2a 73 20 |s = st_l|ine; *s |
|00005c00| 21 3d 20 27 5c 6e 27 3b | 20 2b 2b 73 29 0a 58 20 |!= '\n';| ++s).X |
|00005c10| 20 20 20 7b 0a 58 09 69 | 66 20 28 69 73 70 72 69 | {.X.i|f (ispri|
|00005c20| 6e 74 28 2a 73 29 20 7c | 7c 20 2a 73 20 3d 3d 20 |nt(*s) ||| *s == |
|00005c30| 27 5c 74 27 29 0a 58 09 | 20 20 20 20 70 75 74 63 |'\t').X.| putc|
|00005c40| 28 2a 73 2c 20 73 74 64 | 65 72 72 29 3b 0a 58 09 |(*s, std|err);.X.|
|00005c50| 65 6c 73 65 0a 58 09 20 | 20 20 20 70 75 74 63 28 |else.X. | putc(|
|00005c60| 27 3f 27 2c 20 73 74 64 | 65 72 72 29 3b 0a 58 20 |'?', std|err);.X |
|00005c70| 20 20 20 7d 0a 58 20 20 | 20 20 70 75 74 63 28 27 | }.X | putc('|
|00005c80| 5c 6e 27 2c 20 73 74 64 | 65 72 72 29 3b 0a 58 20 |\n', std|err);.X |
|00005c90| 20 20 20 66 6f 72 20 28 | 73 20 3d 20 73 74 5f 6c | for (|s = st_l|
|00005ca0| 69 6e 65 3b 20 73 20 3c | 20 73 74 5f 63 70 74 72 |ine; s <| st_cptr|
|00005cb0| 3b 20 2b 2b 73 29 0a 58 | 20 20 20 20 7b 0a 58 09 |; ++s).X| {.X.|
|00005cc0| 69 66 20 28 2a 73 20 3d | 3d 20 27 5c 74 27 29 0a |if (*s =|= '\t').|
|00005cd0| 58 09 20 20 20 20 70 75 | 74 63 28 27 5c 74 27 2c |X. pu|tc('\t',|
|00005ce0| 20 73 74 64 65 72 72 29 | 3b 0a 58 09 65 6c 73 65 | stderr)|;.X.else|
|00005cf0| 0a 58 09 20 20 20 20 70 | 75 74 63 28 27 20 27 2c |.X. p|utc(' ',|
|00005d00| 20 73 74 64 65 72 72 29 | 3b 0a 58 20 20 20 20 7d | stderr)|;.X }|
|00005d10| 0a 58 20 20 20 20 70 75 | 74 63 28 27 5e 27 2c 20 |.X pu|tc('^', |
|00005d20| 73 74 64 65 72 72 29 3b | 0a 58 20 20 20 20 70 75 |stderr);|.X pu|
|00005d30| 74 63 28 27 5c 6e 27 2c | 20 73 74 64 65 72 72 29 |tc('\n',| stderr)|
|00005d40| 3b 0a 58 7d 0a 58 0a 58 | 0a 58 73 79 6e 74 61 78 |;.X}.X.X|.Xsyntax|
|00005d50| 5f 65 72 72 6f 72 28 73 | 74 5f 6c 69 6e 65 6e 6f |_error(s|t_lineno|
|00005d60| 2c 20 73 74 5f 6c 69 6e | 65 2c 20 73 74 5f 63 70 |, st_lin|e, st_cp|
|00005d70| 74 72 29 0a 58 69 6e 74 | 20 73 74 5f 6c 69 6e 65 |tr).Xint| st_line|
|00005d80| 6e 6f 3b 0a 58 63 68 61 | 72 20 2a 73 74 5f 6c 69 |no;.Xcha|r *st_li|
|00005d90| 6e 65 3b 0a 58 63 68 61 | 72 20 2a 73 74 5f 63 70 |ne;.Xcha|r *st_cp|
|00005da0| 74 72 3b 0a 58 7b 0a 58 | 20 20 20 20 66 70 72 69 |tr;.X{.X| fpri|
|00005db0| 6e 74 66 28 73 74 64 65 | 72 72 2c 20 22 25 73 3a |ntf(stde|rr, "%s:|
|00005dc0| 20 65 20 2d 20 6c 69 6e | 65 20 25 64 20 6f 66 20 | e - lin|e %d of |
|00005dd0| 5c 22 25 73 5c 22 2c 20 | 73 79 6e 74 61 78 20 65 |\"%s\", |syntax e|
|00005de0| 72 72 6f 72 5c 6e 22 2c | 0a 58 09 20 20 20 20 6d |rror\n",|.X. m|
|00005df0| 79 6e 61 6d 65 2c 20 73 | 74 5f 6c 69 6e 65 6e 6f |yname, s|t_lineno|
|00005e00| 2c 20 69 6e 70 75 74 5f | 66 69 6c 65 5f 6e 61 6d |, input_|file_nam|
|00005e10| 65 29 3b 0a 58 20 20 20 | 20 70 72 69 6e 74 5f 70 |e);.X | print_p|
|00005e20| 6f 73 28 73 74 5f 6c 69 | 6e 65 2c 20 73 74 5f 63 |os(st_li|ne, st_c|
|00005e30| 70 74 72 29 3b 0a 58 20 | 20 20 20 64 6f 6e 65 28 |ptr);.X | done(|
|00005e40| 31 29 3b 0a 58 7d 0a 58 | 0a 58 0a 58 75 6e 74 65 |1);.X}.X|.X.Xunte|
|00005e50| 72 6d 69 6e 61 74 65 64 | 5f 63 6f 6d 6d 65 6e 74 |rminated|_comment|
|00005e60| 28 63 5f 6c 69 6e 65 6e | 6f 2c 20 63 5f 6c 69 6e |(c_linen|o, c_lin|
|00005e70| 65 2c 20 63 5f 63 70 74 | 72 29 0a 58 69 6e 74 20 |e, c_cpt|r).Xint |
|00005e80| 63 5f 6c 69 6e 65 6e 6f | 3b 0a 58 63 68 61 72 20 |c_lineno|;.Xchar |
|00005e90| 2a 63 5f 6c 69 6e 65 3b | 0a 58 63 68 61 72 20 2a |*c_line;|.Xchar *|
|00005ea0| 63 5f 63 70 74 72 3b 0a | 58 7b 0a 58 20 20 20 20 |c_cptr;.|X{.X |
|00005eb0| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 20 |fprintf(|stderr, |
|00005ec0| 22 25 73 3a 20 65 20 2d | 20 6c 69 6e 65 20 25 64 |"%s: e -| line %d|
|00005ed0| 20 6f 66 20 5c 22 25 73 | 5c 22 2c 20 75 6e 6d 61 | of \"%s|\", unma|
|00005ee0| 74 63 68 65 64 20 2f 2a | 5c 6e 22 2c 0a 58 09 20 |tched /*|\n",.X. |
|00005ef0| 20 20 20 6d 79 6e 61 6d | 65 2c 20 63 5f 6c 69 6e | mynam|e, c_lin|
|00005f00| 65 6e 6f 2c 20 69 6e 70 | 75 74 5f 66 69 6c 65 5f |eno, inp|ut_file_|
|00005f10| 6e 61 6d 65 29 3b 0a 58 | 20 20 20 20 70 72 69 6e |name);.X| prin|
|00005f20| 74 5f 70 6f 73 28 63 5f | 6c 69 6e 65 2c 20 63 5f |t_pos(c_|line, c_|
|00005f30| 63 70 74 72 29 3b 0a 58 | 20 20 20 20 64 6f 6e 65 |cptr);.X| done|
|00005f40| 28 31 29 3b 0a 58 7d 0a | 58 0a 58 0a 58 75 6e 74 |(1);.X}.|X.X.Xunt|
|00005f50| 65 72 6d 69 6e 61 74 65 | 64 5f 73 74 72 69 6e 67 |erminate|d_string|
|00005f60| 28 73 5f 6c 69 6e 65 6e | 6f 2c 20 73 5f 6c 69 6e |(s_linen|o, s_lin|
|00005f70| 65 2c 20 73 5f 63 70 74 | 72 29 0a 58 69 6e 74 20 |e, s_cpt|r).Xint |
|00005f80| 73 5f 6c 69 6e 65 6e 6f | 3b 0a 58 63 68 61 72 20 |s_lineno|;.Xchar |
|00005f90| 2a 73 5f 6c 69 6e 65 3b | 0a 58 63 68 61 72 20 2a |*s_line;|.Xchar *|
|00005fa0| 73 5f 63 70 74 72 3b 0a | 58 7b 0a 58 20 20 20 20 |s_cptr;.|X{.X |
|00005fb0| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 20 |fprintf(|stderr, |
|00005fc0| 22 25 73 3a 20 65 20 2d | 20 6c 69 6e 65 20 25 64 |"%s: e -| line %d|
|00005fd0| 20 6f 66 20 5c 22 25 73 | 5c 22 2c 20 75 6e 74 65 | of \"%s|\", unte|
|00005fe0| 72 6d 69 6e 61 74 65 64 | 20 73 74 72 69 6e 67 5c |rminated| string\|
|00005ff0| 6e 22 2c 0a 58 09 20 20 | 20 20 6d 79 6e 61 6d 65 |n",.X. | myname|
|00006000| 2c 20 73 5f 6c 69 6e 65 | 6e 6f 2c 20 69 6e 70 75 |, s_line|no, inpu|
|00006010| 74 5f 66 69 6c 65 5f 6e | 61 6d 65 29 3b 0a 58 20 |t_file_n|ame);.X |
|00006020| 20 20 20 70 72 69 6e 74 | 5f 70 6f 73 28 73 5f 6c | print|_pos(s_l|
|00006030| 69 6e 65 2c 20 73 5f 63 | 70 74 72 29 3b 0a 58 20 |ine, s_c|ptr);.X |
|00006040| 20 20 20 64 6f 6e 65 28 | 31 29 3b 0a 58 7d 0a 58 | done(|1);.X}.X|
|00006050| 0a 58 0a 58 75 6e 74 65 | 72 6d 69 6e 61 74 65 64 |.X.Xunte|rminated|
|00006060| 5f 74 65 78 74 28 74 5f | 6c 69 6e 65 6e 6f 2c 20 |_text(t_|lineno, |
|00006070| 74 5f 6c 69 6e 65 2c 20 | 74 5f 63 70 74 72 29 0a |t_line, |t_cptr).|
|00006080| 58 69 6e 74 20 74 5f 6c | 69 6e 65 6e 6f 3b 0a 58 |Xint t_l|ineno;.X|
|00006090| 63 68 61 72 20 2a 74 5f | 6c 69 6e 65 3b 0a 58 63 |char *t_|line;.Xc|
|000060a0| 68 61 72 20 2a 74 5f 63 | 70 74 72 3b 0a 58 7b 0a |har *t_c|ptr;.X{.|
|000060b0| 58 20 20 20 20 66 70 72 | 69 6e 74 66 28 73 74 64 |X fpr|intf(std|
|000060c0| 65 72 72 2c 20 22 25 73 | 3a 20 65 20 2d 20 6c 69 |err, "%s|: e - li|
|000060d0| 6e 65 20 25 64 20 6f 66 | 20 5c 22 25 73 5c 22 2c |ne %d of| \"%s\",|
|000060e0| 20 75 6e 6d 61 74 63 68 | 65 64 20 25 25 7b 5c 6e | unmatch|ed %%{\n|
|000060f0| 22 2c 0a 58 09 20 20 20 | 20 6d 79 6e 61 6d 65 2c |",.X. | myname,|
|00006100| 20 74 5f 6c 69 6e 65 6e | 6f 2c 20 69 6e 70 75 74 | t_linen|o, input|
|00006110| 5f 66 69 6c 65 5f 6e 61 | 6d 65 29 3b 0a 58 20 20 |_file_na|me);.X |
|00006120| 20 20 70 72 69 6e 74 5f | 70 6f 73 28 74 5f 6c 69 | print_|pos(t_li|
|00006130| 6e 65 2c 20 74 5f 63 70 | 74 72 29 3b 0a 58 20 20 |ne, t_cp|tr);.X |
|00006140| 20 20 64 6f 6e 65 28 31 | 29 3b 0a 58 7d 0a 58 0a | done(1|);.X}.X.|
|00006150| 58 0a 58 75 6e 74 65 72 | 6d 69 6e 61 74 65 64 5f |X.Xunter|minated_|
|00006160| 75 6e 69 6f 6e 28 75 5f | 6c 69 6e 65 6e 6f 2c 20 |union(u_|lineno, |
|00006170| 75 5f 6c 69 6e 65 2c 20 | 75 5f 63 70 74 72 29 0a |u_line, |u_cptr).|
|00006180| 58 69 6e 74 20 75 5f 6c | 69 6e 65 6e 6f 3b 0a 58 |Xint u_l|ineno;.X|
|00006190| 63 68 61 72 20 2a 75 5f | 6c 69 6e 65 3b 0a 58 63 |char *u_|line;.Xc|
|000061a0| 68 61 72 20 2a 75 5f 63 | 70 74 72 3b 0a 58 7b 0a |har *u_c|ptr;.X{.|
|000061b0| 58 20 20 20 20 66 70 72 | 69 6e 74 66 28 73 74 64 |X fpr|intf(std|
|000061c0| 65 72 72 2c 20 22 25 73 | 3a 20 65 20 2d 20 6c 69 |err, "%s|: e - li|
|000061d0| 6e 65 20 25 64 20 6f 66 | 20 5c 22 25 73 5c 22 2c |ne %d of| \"%s\",|
|000061e0| 20 75 6e 74 65 72 6d 69 | 6e 61 74 65 64 20 25 25 | untermi|nated %%|
|000061f0| 75 6e 69 6f 6e 20 5c 0a | 58 64 65 63 6c 61 72 61 |union \.|Xdeclara|
|00006200| 74 69 6f 6e 5c 6e 22 2c | 20 6d 79 6e 61 6d 65 2c |tion\n",| myname,|
|00006210| 20 75 5f 6c 69 6e 65 6e | 6f 2c 20 69 6e 70 75 74 | u_linen|o, input|
|00006220| 5f 66 69 6c 65 5f 6e 61 | 6d 65 29 3b 0a 58 20 20 |_file_na|me);.X |
|00006230| 20 20 70 72 69 6e 74 5f | 70 6f 73 28 75 5f 6c 69 | print_|pos(u_li|
|00006240| 6e 65 2c 20 75 5f 63 70 | 74 72 29 3b 0a 58 20 20 |ne, u_cp|tr);.X |
|00006250| 20 20 64 6f 6e 65 28 31 | 29 3b 0a 58 7d 0a 58 0a | done(1|);.X}.X.|
|00006260| 58 0a 58 6f 76 65 72 5f | 75 6e 69 6f 6e 69 7a 65 |X.Xover_|unionize|
|00006270| 64 28 75 5f 63 70 74 72 | 29 0a 58 63 68 61 72 20 |d(u_cptr|).Xchar |
|00006280| 2a 75 5f 63 70 74 72 3b | 0a 58 7b 0a 58 20 20 20 |*u_cptr;|.X{.X |
|00006290| 20 66 70 72 69 6e 74 66 | 28 73 74 64 65 72 72 2c | fprintf|(stderr,|
|000062a0| 20 22 25 73 3a 20 65 20 | 2d 20 6c 69 6e 65 20 25 | "%s: e |- line %|
|000062b0| 64 20 6f 66 20 5c 22 25 | 73 5c 22 2c 20 74 6f 6f |d of \"%|s\", too|
|000062c0| 20 6d 61 6e 79 20 25 25 | 75 6e 69 6f 6e 20 5c 0a | many %%|union \.|
|000062d0| 58 64 65 63 6c 61 72 61 | 74 69 6f 6e 73 5c 6e 22 |Xdeclara|tions\n"|
|000062e0| 2c 20 6d 79 6e 61 6d 65 | 2c 20 6c 69 6e 65 6e 6f |, myname|, lineno|
|000062f0| 2c 20 69 6e 70 75 74 5f | 66 69 6c 65 5f 6e 61 6d |, input_|file_nam|
|00006300| 65 29 3b 0a 58 20 20 20 | 20 70 72 69 6e 74 5f 70 |e);.X | print_p|
|00006310| 6f 73 28 6c 69 6e 65 2c | 20 75 5f 63 70 74 72 29 |os(line,| u_cptr)|
|00006320| 3b 0a 58 20 20 20 20 64 | 6f 6e 65 28 31 29 3b 0a |;.X d|one(1);.|
|00006330| 58 7d 0a 58 0a 58 0a 58 | 69 6c 6c 65 67 61 6c 5f |X}.X.X.X|illegal_|
|00006340| 74 61 67 28 74 5f 6c 69 | 6e 65 6e 6f 2c 20 74 5f |tag(t_li|neno, t_|
|00006350| 6c 69 6e 65 2c 20 74 5f | 63 70 74 72 29 0a 58 69 |line, t_|cptr).Xi|
|00006360| 6e 74 20 74 5f 6c 69 6e | 65 6e 6f 3b 0a 58 63 68 |nt t_lin|eno;.Xch|
|00006370| 61 72 20 2a 74 5f 6c 69 | 6e 65 3b 0a 58 63 68 61 |ar *t_li|ne;.Xcha|
|00006380| 72 20 2a 74 5f 63 70 74 | 72 3b 0a 58 7b 0a 58 20 |r *t_cpt|r;.X{.X |
|00006390| 20 20 20 66 70 72 69 6e | 74 66 28 73 74 64 65 72 | fprin|tf(stder|
|000063a0| 72 2c 20 22 25 73 3a 20 | 65 20 2d 20 6c 69 6e 65 |r, "%s: |e - line|
|000063b0| 20 25 64 20 6f 66 20 5c | 22 25 73 5c 22 2c 20 69 | %d of \|"%s\", i|
|000063c0| 6c 6c 65 67 61 6c 20 74 | 61 67 5c 6e 22 2c 0a 58 |llegal t|ag\n",.X|
|000063d0| 09 20 20 20 20 6d 79 6e | 61 6d 65 2c 20 74 5f 6c |. myn|ame, t_l|
|000063e0| 69 6e 65 6e 6f 2c 20 69 | 6e 70 75 74 5f 66 69 6c |ineno, i|nput_fil|
|000063f0| 65 5f 6e 61 6d 65 29 3b | 0a 58 20 20 20 20 70 72 |e_name);|.X pr|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.