home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume2 / basic / part2 < prev    next >
SHell self-extracting ARchive  |  1986-11-30  |  45.0 KB

view JSON data     |     view as text     |     open on a Mac     |     open on a PC

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

You can browse this item here: part2

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 text default
99% file C source text default
98% file C source, ASCII text default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime message/rfc822 default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 3a 20 75 6b | 6d 61 21 64 61 76 69 64 |From: uk|ma!david|
|00000010| 20 28 44 61 76 69 64 20 | 48 65 72 72 6f 6e 2c 20 | (David |Herron, |
|00000020| 4e 50 52 20 4c 6f 76 65 | 72 29 0a 53 75 62 6a 65 |NPR Love|r).Subje|
|00000030| 63 74 3a 20 41 20 42 41 | 53 49 43 20 69 6e 74 65 |ct: A BA|SIC inte|
|00000040| 72 70 72 65 74 6f 72 20 | 28 50 61 72 74 20 32 20 |rpretor |(Part 2 |
|00000050| 6f 66 20 34 29 0a 4e 65 | 77 73 67 72 6f 75 70 73 |of 4).Ne|wsgroups|
|00000060| 3a 20 6d 6f 64 2e 73 6f | 75 72 63 65 73 0a 41 70 |: mod.so|urces.Ap|
|00000070| 70 72 6f 76 65 64 3a 20 | 6a 6f 68 6e 40 67 65 6e |proved: |john@gen|
|00000080| 72 61 64 2e 55 55 43 50 | 0a 0a 4d 6f 64 2e 73 6f |rad.UUCP|..Mod.so|
|00000090| 75 72 63 65 73 3a 20 20 | 56 6f 6c 75 6d 65 20 32 |urces: |Volume 2|
|000000a0| 2c 20 49 73 73 75 65 20 | 32 34 0a 53 75 62 6d 69 |, Issue |24.Submi|
|000000b0| 74 74 65 64 20 62 79 3a | 20 75 6b 6d 61 21 64 61 |tted by:| ukma!da|
|000000c0| 76 69 64 20 28 44 61 76 | 69 64 20 48 65 72 72 6f |vid (Dav|id Herro|
|000000d0| 6e 29 0a 0a 0a 23 21 20 | 2f 62 69 6e 2f 73 68 0a |n)...#! |/bin/sh.|
|000000e0| 23 20 54 68 69 73 20 69 | 73 20 61 20 73 68 65 6c |# This i|s a shel|
|000000f0| 6c 20 61 72 63 68 69 76 | 65 2c 20 6d 65 61 6e 69 |l archiv|e, meani|
|00000100| 6e 67 3a 0a 23 20 31 2e | 20 52 65 6d 6f 76 65 20 |ng:.# 1.| Remove |
|00000110| 65 76 65 72 79 74 68 69 | 6e 67 20 61 62 6f 76 65 |everythi|ng above|
|00000120| 20 74 68 65 20 23 21 20 | 2f 62 69 6e 2f 73 68 20 | the #! |/bin/sh |
|00000130| 6c 69 6e 65 2e 0a 23 20 | 32 2e 20 53 61 76 65 20 |line..# |2. Save |
|00000140| 74 68 65 20 72 65 73 75 | 6c 74 69 6e 67 20 74 65 |the resu|lting te|
|00000150| 78 74 20 69 6e 20 61 20 | 66 69 6c 65 2e 0a 23 20 |xt in a |file..# |
|00000160| 33 2e 20 45 78 65 63 75 | 74 65 20 74 68 65 20 66 |3. Execu|te the f|
|00000170| 69 6c 65 20 77 69 74 68 | 20 2f 62 69 6e 2f 73 68 |ile with| /bin/sh|
|00000180| 20 28 6e 6f 74 20 63 73 | 68 29 20 74 6f 20 63 72 | (not cs|h) to cr|
|00000190| 65 61 74 65 20 74 68 65 | 20 66 69 6c 65 73 3a 0a |eate the| files:.|
|000001a0| 23 09 6e 65 77 62 73 2f | 62 73 64 65 66 73 2e 63 |#.newbs/|bsdefs.c|
|000001b0| 0a 23 09 6e 65 77 62 73 | 2f 62 73 64 65 66 73 2e |.#.newbs|/bsdefs.|
|000001c0| 68 0a 23 09 6e 65 77 62 | 73 2f 62 73 67 72 61 6d |h.#.newb|s/bsgram|
|000001d0| 2e 79 0a 23 09 6e 65 77 | 62 73 2f 62 73 6c 61 73 |.y.#.new|bs/bslas|
|000001e0| 68 2e 63 0a 23 09 6e 65 | 77 62 73 2f 62 73 6c 69 |h.c.#.ne|wbs/bsli|
|000001f0| 62 2e 63 0a 23 09 6e 65 | 77 62 73 2f 67 65 74 70 |b.c.#.ne|wbs/getp|
|00000200| 6c 61 63 65 2e 63 0a 23 | 09 6e 65 77 62 73 2f 67 |lace.c.#|.newbs/g|
|00000210| 76 61 64 72 2e 63 0a 23 | 09 6e 65 77 62 73 2f 6d |vadr.c.#|.newbs/m|
|00000220| 61 6b 65 66 69 6c 65 0a | 23 09 6e 65 77 62 73 2f |akefile.|#.newbs/|
|00000230| 6d 61 6b 65 66 69 6c 65 | 2e 6f 6c 64 0a 23 09 6e |makefile|.old.#.n|
|00000240| 65 77 62 73 2f 6d 6b 6f | 70 2e 63 0a 23 09 6e 65 |ewbs/mko|p.c.#.ne|
|00000250| 77 62 73 2f 6d 6b 6f 70 | 2e 73 68 0a 23 09 6e 65 |wbs/mkop|.sh.#.ne|
|00000260| 77 62 73 2f 6d 6b 73 6f | 70 2e 63 0a 23 09 6e 65 |wbs/mkso|p.c.#.ne|
|00000270| 77 62 73 2f 6e 75 6d 5f | 69 6e 73 2e 63 0a 23 09 |wbs/num_|ins.c.#.|
|00000280| 6e 65 77 62 73 2f 6f 70 | 32 2e 63 0a 23 09 6e 65 |newbs/op|2.c.#.ne|
|00000290| 77 62 73 2f 6f 70 65 72 | 61 74 2e 63 0a 23 09 6e |wbs/oper|at.c.#.n|
|000002a0| 65 77 62 73 2f 73 63 6f | 6e 5f 69 6e 2e 63 0a 23 |ewbs/sco|n_in.c.#|
|000002b0| 20 54 68 69 73 20 61 72 | 63 68 69 76 65 20 63 72 | This ar|chive cr|
|000002c0| 65 61 74 65 64 3a 20 54 | 75 65 20 4a 75 6c 20 33 |eated: T|ue Jul 3|
|000002d0| 30 20 31 33 3a 30 32 3a | 33 34 20 31 39 38 35 0a |0 13:02:|34 1985.|
|000002e0| 65 78 70 6f 72 74 20 50 | 41 54 48 3b 20 50 41 54 |export P|ATH; PAT|
|000002f0| 48 3d 2f 62 69 6e 3a 24 | 50 41 54 48 0a 69 66 20 |H=/bin:$|PATH.if |
|00000300| 74 65 73 74 20 21 20 2d | 64 20 27 6e 65 77 62 73 |test ! -|d 'newbs|
|00000310| 27 0a 74 68 65 6e 0a 09 | 65 63 68 6f 20 73 68 61 |'.then..|echo sha|
|00000320| 72 3a 20 63 72 65 61 74 | 69 6e 67 20 64 69 72 65 |r: creat|ing dire|
|00000330| 63 74 6f 72 79 20 22 27 | 6e 65 77 62 73 27 22 0a |ctory "'|newbs'".|
|00000340| 09 6d 6b 64 69 72 20 27 | 6e 65 77 62 73 27 0a 66 |.mkdir '|newbs'.f|
|00000350| 69 0a 65 63 68 6f 20 73 | 68 61 72 3a 20 65 78 74 |i.echo s|har: ext|
|00000360| 72 61 63 74 69 6e 67 20 | 22 27 6e 65 77 62 73 2f |racting |"'newbs/|
|00000370| 62 73 64 65 66 73 2e 63 | 27 22 20 27 28 31 31 32 |bsdefs.c|'" '(112|
|00000380| 38 20 63 68 61 72 61 63 | 74 65 72 73 29 27 0a 69 |8 charac|ters)'.i|
|00000390| 66 20 74 65 73 74 20 2d | 66 20 27 6e 65 77 62 73 |f test -|f 'newbs|
|000003a0| 2f 62 73 64 65 66 73 2e | 63 27 0a 74 68 65 6e 0a |/bsdefs.|c'.then.|
|000003b0| 09 65 63 68 6f 20 73 68 | 61 72 3a 20 77 69 6c 6c |.echo sh|ar: will|
|000003c0| 20 6e 6f 74 20 6f 76 65 | 72 2d 77 72 69 74 65 20 | not ove|r-write |
|000003d0| 65 78 69 73 74 69 6e 67 | 20 66 69 6c 65 20 22 27 |existing| file "'|
|000003e0| 6e 65 77 62 73 2f 62 73 | 64 65 66 73 2e 63 27 22 |newbs/bs|defs.c'"|
|000003f0| 0a 65 6c 73 65 0a 73 65 | 64 20 27 73 2f 5e 58 2f |.else.se|d 's/^X/|
|00000400| 2f 27 20 3c 3c 20 5c 53 | 48 41 52 5f 45 4f 46 20 |/' << \S|HAR_EOF |
|00000410| 3e 20 27 6e 65 77 62 73 | 2f 62 73 64 65 66 73 2e |> 'newbs|/bsdefs.|
|00000420| 63 27 0a 2f 2a 20 62 73 | 64 65 66 73 2e 63 20 2d |c'./* bs|defs.c -|
|00000430| 2d 20 41 63 74 75 61 6c | 20 64 65 66 69 6e 69 74 |- Actual| definit|
|00000440| 69 6f 6e 73 20 6f 66 20 | 61 6c 6c 20 74 68 65 20 |ions of |all the |
|00000450| 76 61 72 69 61 62 6c 65 | 73 2e 0a 20 2a 0a 20 2a |variable|s.. *. *|
|00000460| 20 62 73 64 65 66 73 2e | 68 20 6f 6e 6c 79 20 68 | bsdefs.|h only h|
|00000470| 61 73 20 74 68 65 20 22 | 65 78 74 65 72 6e 27 73 |as the "|extern's|
|00000480| 22 20 6f 66 20 74 68 65 | 20 74 68 69 6e 67 73 20 |" of the| things |
|00000490| 64 65 63 6c 61 72 65 64 | 20 69 6e 20 68 65 72 65 |declared| in here|
|000004a0| 2e 0a 20 2a 2f 0a 0a 23 | 69 6e 63 6c 75 64 65 20 |.. */..#|include |
|000004b0| 22 62 73 64 65 66 73 2e | 68 22 0a 0a 0a 2f 2a 20 |"bsdefs.|h".../* |
|000004c0| 49 6e 69 74 69 61 6c 20 | 73 74 75 66 66 20 66 6f |Initial |stuff fo|
|000004d0| 72 20 6c 69 6e 65 20 6e | 75 6d 62 65 72 20 74 61 |r line n|umber ta|
|000004e0| 62 6c 65 2e 0a 20 2a 0a | 20 2a 20 54 68 65 20 6c |ble.. *.| * The l|
|000004f0| 69 6e 65 20 6e 75 6d 62 | 65 72 20 74 61 62 6c 65 |ine numb|er table|
|00000500| 20 69 73 20 61 20 73 69 | 6e 67 6c 79 2d 6c 69 6e | is a si|ngly-lin|
|00000510| 6b 65 64 20 6c 69 73 74 | 2e 20 20 54 68 65 20 68 |ked list|. The h|
|00000520| 65 61 64 20 69 73 20 22 | 66 69 72 73 74 6c 69 6e |ead is "|firstlin|
|00000530| 65 22 2c 0a 20 2a 20 61 | 6e 64 20 74 68 65 20 74 |e",. * a|nd the t|
|00000540| 61 69 6c 20 69 73 20 22 | 6c 61 73 74 6c 69 6e 65 |ail is "|lastline|
|00000550| 22 2e 20 20 54 68 65 20 | 70 72 6f 70 65 72 20 77 |". The |proper w|
|00000560| 61 79 20 74 6f 20 63 68 | 65 63 6b 20 66 6f 72 20 |ay to ch|eck for |
|00000570| 74 68 65 20 65 6e 64 20 | 6f 66 20 74 68 65 0a 20 |the end |of the. |
|00000580| 2a 20 6c 69 73 74 20 69 | 73 20 74 6f 20 63 6f 6d |* list i|s to com|
|00000590| 70 61 72 65 20 69 74 20 | 74 6f 20 4c 41 53 54 4c |pare it |to LASTL|
|000005a0| 49 4e 45 2e 20 20 4c 61 | 73 74 6c 69 6e 65 20 70 |INE. La|stline p|
|000005b0| 6f 69 6e 74 73 20 74 6f | 20 69 74 73 65 6c 66 20 |oints to| itself |
|000005c0| 69 6e 20 63 61 73 65 0a | 20 2a 20 49 20 66 6f 72 |in case.| * I for|
|000005d0| 67 65 74 20 61 6e 64 20 | 63 6f 64 65 20 73 6f 6d |get and |code som|
|000005e0| 65 74 68 69 6e 67 20 64 | 69 66 66 65 72 65 6e 74 |ething d|ifferent|
|000005f0| 6c 79 20 28 69 74 20 61 | 6c 73 6f 20 6e 65 61 74 |ly (it a|lso neat|
|00000600| 6c 79 20 74 69 65 73 20 | 75 70 20 74 68 65 20 65 |ly ties |up the e|
|00000610| 6e 64 0a 20 2a 20 6f 66 | 20 74 68 65 20 6c 69 73 |nd. * of| the lis|
|00000620| 74 29 2e 0a 20 2a 2f 0a | 0a 23 64 65 66 69 6e 65 |t).. */.|.#define|
|00000630| 20 4c 41 53 54 4c 49 4e | 45 09 28 73 74 72 75 63 | LASTLIN|E.(struc|
|00000640| 74 20 6c 69 6e 65 20 2a | 29 28 26 6c 61 73 74 6c |t line *|)(&lastl|
|00000650| 69 6e 65 29 0a 0a 73 74 | 72 75 63 74 20 6c 69 6e |ine)..st|ruct lin|
|00000660| 65 20 6c 61 73 74 6c 69 | 6e 65 20 3d 20 7b 20 26 |e lastli|ne = { &|
|00000670| 6c 61 73 74 6c 69 6e 65 | 2c 30 30 37 37 37 37 37 |lastline|,0077777|
|00000680| 2c 22 22 2c 5f 6e 75 6c | 6c 69 6e 65 20 7d 3b 0a |,"",_nul|line };.|
|00000690| 73 74 72 75 63 74 20 6c | 69 6e 65 20 66 69 72 73 |struct l|ine firs|
|000006a0| 74 6c 69 6e 65 20 3d 20 | 7b 20 26 6c 61 73 74 6c |tline = |{ &lastl|
|000006b0| 69 6e 65 2c 30 2c 22 22 | 2c 5f 6e 75 6c 6c 69 6e |ine,0,""|,_nullin|
|000006c0| 65 20 7d 3b 0a 73 74 72 | 75 63 74 20 6c 69 6e 65 |e };.str|uct line|
|000006d0| 20 2a 63 75 72 6c 69 6e | 65 20 3d 20 4c 41 53 54 | *curlin|e = LAST|
|000006e0| 4c 49 4e 45 3b 0a 0a 0a | 2f 2a 20 49 6e 69 74 69 |LINE;...|/* Initi|
|000006f0| 61 6c 20 73 74 75 66 66 | 20 66 6f 72 20 64 61 74 |al stuff| for dat|
|00000700| 61 20 73 74 61 74 65 6d | 65 6e 74 73 2e 0a 20 2a |a statem|ents.. *|
|00000710| 0a 20 2a 20 22 64 6c 69 | 73 74 5b 5d 22 20 68 6f |. * "dli|st[]" ho|
|00000720| 6c 64 73 20 70 6f 69 6e | 74 65 72 73 20 74 6f 20 |lds poin|ters to |
|00000730| 6c 69 6e 65 73 20 74 68 | 61 74 20 68 61 76 65 20 |lines th|at have |
|00000740| 64 61 74 61 20 6f 6e 20 | 74 68 65 6d 2e 20 20 49 |data on |them. I|
|00000750| 74 20 69 73 20 69 6e 69 | 74 69 61 6c 69 7a 65 64 |t is ini|tialized|
|00000760| 0a 20 2a 20 69 6e 20 4d | 5f 46 49 58 55 50 2e 20 |. * in M|_FIXUP. |
|00000770| 20 22 64 6c 70 22 20 75 | 73 65 64 20 74 6f 20 61 | "dlp" u|sed to a|
|00000780| 6c 6c 6f 63 61 74 65 20 | 65 6e 74 72 69 65 73 20 |llocate |entries |
|00000790| 66 72 6f 6d 20 64 6c 69 | 73 74 5b 5d 2c 20 69 74 |from dli|st[], it|
|000007a0| 20 70 6f 69 6e 74 73 20 | 74 6f 20 74 68 65 0a 20 | points |to the. |
|000007b0| 2a 20 66 69 72 73 74 20 | 66 72 65 65 20 65 6e 74 |* first |free ent|
|000007c0| 72 79 2e 20 20 22 64 6c | 69 6e 64 78 22 20 70 6f |ry. "dl|indx" po|
|000007d0| 69 6e 74 73 20 77 69 74 | 68 69 6e 20 74 68 65 20 |ints wit|hin the |
|000007e0| 63 75 72 72 65 6e 74 20 | 64 61 74 61 20 6c 69 6e |current |data lin|
|000007f0| 65 20 74 6f 20 74 68 65 | 20 6e 65 78 74 0a 20 2a |e to the| next. *|
|00000800| 20 64 61 74 61 20 69 74 | 65 6d 2e 0a 20 2a 20 22 | data it|em.. * "|
|00000810| 64 74 79 70 65 22 20 69 | 6e 64 69 63 61 74 65 73 |dtype" i|ndicates|
|00000820| 20 74 68 65 20 64 61 74 | 61 20 74 79 70 65 20 66 | the dat|a type f|
|00000830| 6f 72 20 74 68 65 20 6c | 61 73 74 20 64 61 74 61 |or the l|ast data|
|00000840| 20 69 74 65 6d 2e 0a 20 | 2a 2f 0a 0a 73 74 72 75 | item.. |*/..stru|
|00000850| 63 74 20 6c 69 6e 65 20 | 2a 64 6c 69 73 74 5b 44 |ct line |*dlist[D|
|00000860| 4c 53 49 5a 5d 3b 0a 69 | 6e 74 20 64 6c 70 20 3d |LSIZ];.i|nt dlp =|
|00000870| 20 30 2c 64 6c 69 6e 64 | 78 20 3d 20 30 2c 20 64 | 0,dlind|x = 0, d|
|00000880| 74 79 70 65 20 3d 20 30 | 3b 0a 0a 53 48 41 52 5f |type = 0|;..SHAR_|
|00000890| 45 4f 46 0a 69 66 20 74 | 65 73 74 20 31 31 32 38 |EOF.if t|est 1128|
|000008a0| 20 2d 6e 65 20 22 60 77 | 63 20 2d 63 20 3c 20 27 | -ne "`w|c -c < '|
|000008b0| 6e 65 77 62 73 2f 62 73 | 64 65 66 73 2e 63 27 60 |newbs/bs|defs.c'`|
|000008c0| 22 0a 74 68 65 6e 0a 09 | 65 63 68 6f 20 73 68 61 |".then..|echo sha|
|000008d0| 72 3a 20 65 72 72 6f 72 | 20 74 72 61 6e 73 6d 69 |r: error| transmi|
|000008e0| 74 74 69 6e 67 20 22 27 | 6e 65 77 62 73 2f 62 73 |tting "'|newbs/bs|
|000008f0| 64 65 66 73 2e 63 27 22 | 20 27 28 73 68 6f 75 6c |defs.c'"| '(shoul|
|00000900| 64 20 68 61 76 65 20 62 | 65 65 6e 20 31 31 32 38 |d have b|een 1128|
|00000910| 20 63 68 61 72 61 63 74 | 65 72 73 29 27 0a 66 69 | charact|ers)'.fi|
|00000920| 0a 66 69 20 23 20 65 6e | 64 20 6f 66 20 6f 76 65 |.fi # en|d of ove|
|00000930| 72 77 72 69 74 69 6e 67 | 20 63 68 65 63 6b 0a 65 |rwriting| check.e|
|00000940| 63 68 6f 20 73 68 61 72 | 3a 20 65 78 74 72 61 63 |cho shar|: extrac|
|00000950| 74 69 6e 67 20 22 27 6e | 65 77 62 73 2f 62 73 64 |ting "'n|ewbs/bsd|
|00000960| 65 66 73 2e 68 27 22 20 | 27 28 34 36 34 38 20 63 |efs.h'" |'(4648 c|
|00000970| 68 61 72 61 63 74 65 72 | 73 29 27 0a 69 66 20 74 |haracter|s)'.if t|
|00000980| 65 73 74 20 2d 66 20 27 | 6e 65 77 62 73 2f 62 73 |est -f '|newbs/bs|
|00000990| 64 65 66 73 2e 68 27 0a | 74 68 65 6e 0a 09 65 63 |defs.h'.|then..ec|
|000009a0| 68 6f 20 73 68 61 72 3a | 20 77 69 6c 6c 20 6e 6f |ho shar:| will no|
|000009b0| 74 20 6f 76 65 72 2d 77 | 72 69 74 65 20 65 78 69 |t over-w|rite exi|
|000009c0| 73 74 69 6e 67 20 66 69 | 6c 65 20 22 27 6e 65 77 |sting fi|le "'new|
|000009d0| 62 73 2f 62 73 64 65 66 | 73 2e 68 27 22 0a 65 6c |bs/bsdef|s.h'".el|
|000009e0| 73 65 0a 73 65 64 20 27 | 73 2f 5e 58 2f 2f 27 20 |se.sed '|s/^X//' |
|000009f0| 3c 3c 20 5c 53 48 41 52 | 5f 45 4f 46 20 3e 20 27 |<< \SHAR|_EOF > '|
|00000a00| 6e 65 77 62 73 2f 62 73 | 64 65 66 73 2e 68 27 0a |newbs/bs|defs.h'.|
|00000a10| 2f 2a 20 62 73 64 65 66 | 73 2e 68 20 2d 2d 20 64 |/* bsdef|s.h -- d|
|00000a20| 65 66 69 6e 69 74 69 6f | 6e 20 66 69 6c 65 20 66 |efinitio|n file f|
|00000a30| 6f 72 20 62 73 2e 0a 20 | 2a 2f 0a 0a 23 69 6e 63 |or bs.. |*/..#inc|
|00000a40| 6c 75 64 65 20 3c 73 74 | 64 69 6f 2e 68 3e 0a 23 |lude <st|dio.h>.#|
|00000a50| 69 6e 63 6c 75 64 65 20 | 3c 63 74 79 70 65 2e 68 |include |<ctype.h|
|00000a60| 3e 0a 0a 2f 2a 20 27 4d | 61 63 68 69 6e 65 27 20 |>../* 'M|achine' |
|00000a70| 73 74 61 74 75 73 20 2a | 2f 0a 65 78 74 65 72 6e |status *|/.extern|
|00000a80| 20 69 6e 74 20 73 74 61 | 74 75 73 3b 0a 23 64 65 | int sta|tus;.#de|
|00000a90| 66 69 6e 65 20 4d 5f 43 | 4f 4d 50 49 4c 45 09 28 |fine M_C|OMPILE.(|
|00000aa0| 31 3c 3c 30 29 0a 23 64 | 65 66 69 6e 65 20 4d 5f |1<<0).#d|efine M_|
|00000ab0| 45 58 45 43 55 54 45 09 | 28 31 3c 3c 31 29 0a 23 |EXECUTE.|(1<<1).#|
|00000ac0| 64 65 66 69 6e 65 20 4d | 5f 49 4e 50 55 54 09 09 |define M|_INPUT..|
|00000ad0| 28 31 3c 3c 32 29 0a 23 | 64 65 66 69 6e 65 20 4d |(1<<2).#|define M|
|00000ae0| 5f 46 49 58 55 50 09 09 | 28 31 3c 3c 33 29 0a 23 |_FIXUP..|(1<<3).#|
|00000af0| 64 65 66 69 6e 65 20 4d | 5f 52 45 41 44 09 09 28 |define M|_READ..(|
|00000b00| 31 3c 3c 34 29 0a 0a 23 | 64 65 66 69 6e 65 20 58 |1<<4)..#|define X|
|00000b10| 4d 4f 44 45 09 28 4d 5f | 43 4f 4d 50 49 4c 45 7c |MODE.(M_|COMPILE||
|00000b20| 4d 5f 45 58 45 43 55 54 | 45 7c 4d 5f 49 4e 50 55 |M_EXECUT|E|M_INPU|
|00000b30| 54 7c 4d 5f 46 49 58 55 | 50 7c 4d 5f 52 45 41 44 |T|M_FIXU|P|M_READ|
|00000b40| 29 0a 0a 0a 2f 2a 20 6c | 69 6e 65 20 74 61 62 6c |).../* l|ine tabl|
|00000b50| 65 2e 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 4c 41 |e. */.#d|efine LA|
|00000b60| 53 54 4c 49 4e 45 09 28 | 73 74 72 75 63 74 20 6c |STLINE.(|struct l|
|00000b70| 69 6e 65 20 2a 29 28 26 | 6c 61 73 74 6c 69 6e 65 |ine *)(&|lastline|
|00000b80| 29 0a 0a 73 74 72 75 63 | 74 20 6c 69 6e 65 20 7b |)..struc|t line {|
|00000b90| 0a 20 20 20 20 73 74 72 | 75 63 74 20 6c 69 6e 65 |. str|uct line|
|00000ba0| 20 2a 6e 65 78 74 6c 69 | 6e 65 3b 09 2f 2a 20 6e | *nextli|ne;./* n|
|00000bb0| 65 78 74 20 65 6e 74 72 | 79 20 69 6e 20 6c 69 73 |ext entr|y in lis|
|00000bc0| 74 2e 20 2a 2f 0a 20 20 | 20 20 69 6e 74 20 6c 6e |t. */. | int ln|
|00000bd0| 75 6d 3b 09 09 09 2f 2a | 20 69 74 73 27 20 6e 75 |um;.../*| its' nu|
|00000be0| 6d 62 65 72 20 2a 2f 0a | 20 20 20 20 69 6e 74 20 |mber */.| int |
|00000bf0| 28 2a 6c 69 73 74 29 28 | 29 3b 09 09 2f 2a 20 69 |(*list)(|);../* i|
|00000c00| 74 73 27 20 64 65 66 69 | 6e 69 74 69 6f 6e 20 2a |ts' defi|nition *|
|00000c10| 2f 0a 20 20 20 20 63 68 | 61 72 20 2a 74 65 78 74 |/. ch|ar *text|
|00000c20| 3b 09 09 09 2f 2a 20 74 | 68 65 20 6f 72 69 67 69 |;.../* t|he origi|
|00000c30| 6e 61 6c 20 64 65 66 69 | 6e 69 74 69 6f 6e 20 2a |nal defi|nition *|
|00000c40| 2f 0a 7d 3b 0a 0a 65 78 | 74 65 72 6e 20 73 74 72 |/.};..ex|tern str|
|00000c50| 75 63 74 20 6c 69 6e 65 | 20 66 69 72 73 74 6c 69 |uct line| firstli|
|00000c60| 6e 65 2c 6c 61 73 74 6c | 69 6e 65 2c 2a 63 75 72 |ne,lastl|ine,*cur|
|00000c70| 6c 69 6e 65 3b 0a 0a 0a | 2f 2a 20 56 61 72 69 61 |line;...|/* Varia|
|00000c80| 62 6c 65 20 74 79 70 65 | 73 20 2a 2f 0a 23 64 65 |ble type|s */.#de|
|00000c90| 66 69 6e 65 20 51 5f 4e | 52 4d 09 30 09 2f 2a 20 |fine Q_N|RM.0./* |
|00000ca0| 6e 69 63 65 2c 20 6f 72 | 64 69 6e 61 72 79 20 76 |nice, or|dinary v|
|00000cb0| 61 72 69 61 62 6c 65 20 | 2a 2f 0a 23 64 65 66 69 |ariable |*/.#defi|
|00000cc0| 6e 65 20 51 5f 41 52 59 | 09 31 09 2f 2a 20 61 72 |ne Q_ARY|.1./* ar|
|00000cd0| 72 61 79 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 51 |ray */.#|define Q|
|00000ce0| 5f 42 46 09 32 09 2f 2a | 20 62 75 69 6c 74 69 6e |_BF.2./*| builtin|
|00000cf0| 2d 66 75 6e 63 74 69 6f | 6e 20 2a 2f 0a 23 64 65 |-functio|n */.#de|
|00000d00| 66 69 6e 65 20 51 5f 55 | 46 4c 09 33 09 2f 2a 20 |fine Q_U|FL.3./* |
|00000d10| 6c 6f 6e 67 20 75 73 65 | 72 20 66 75 6e 63 74 69 |long use|r functi|
|00000d20| 6f 6e 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 51 5f |on */.#d|efine Q_|
|00000d30| 55 46 53 09 34 09 2f 2a | 20 73 68 6f 72 74 20 75 |UFS.4./*| short u|
|00000d40| 73 65 72 20 66 75 6e 63 | 74 69 6f 6e 20 2a 2f 0a |ser func|tion */.|
|00000d50| 0a 09 09 09 2f 2a 20 69 | 6e 20 74 79 70 65 20 70 |..../* i|n type p|
|00000d60| 61 72 74 2c 20 61 20 7a | 65 72 6f 20 76 61 6c 75 |art, a z|ero valu|
|00000d70| 65 20 69 73 20 61 6e 20 | 75 6e 64 65 66 69 6e 65 |e is an |undefine|
|00000d80| 64 20 74 79 70 65 2e 20 | 2a 2f 0a 23 64 65 66 69 |d type. |*/.#defi|
|00000d90| 6e 65 20 54 5f 49 4e 54 | 09 28 31 3c 3c 36 29 0a |ne T_INT|.(1<<6).|
|00000da0| 23 64 65 66 69 6e 65 20 | 54 5f 43 48 52 09 28 32 |#define |T_CHR.(2|
|00000db0| 3c 3c 36 29 0a 23 64 65 | 66 69 6e 65 20 54 5f 44 |<<6).#de|fine T_D|
|00000dc0| 42 4c 09 28 33 3c 3c 36 | 29 0a 23 64 65 66 69 6e |BL.(3<<6|).#defin|
|00000dd0| 65 20 54 5f 4c 42 4c 09 | 28 34 3c 3c 36 29 0a 0a |e T_LBL.|(4<<6)..|
|00000de0| 23 64 65 66 69 6e 65 20 | 54 5f 51 4d 41 53 4b 09 |#define |T_QMASK.|
|00000df0| 09 30 33 37 09 09 2f 2a | 20 6c 6f 77 65 72 20 35 |.037../*| lower 5|
|00000e00| 20 62 69 74 73 20 66 6f | 72 20 74 79 70 65 20 71 | bits fo|r type q|
|00000e10| 75 61 6c 69 66 69 65 72 | 20 2a 2f 0a 23 64 65 66 |ualifier| */.#def|
|00000e20| 69 6e 65 20 54 5f 54 4d | 41 53 4b 09 09 28 54 5f |ine T_TM|ASK..(T_|
|00000e30| 49 4e 54 7c 54 5f 43 48 | 52 7c 54 5f 44 42 4c 7c |INT|T_CH|R|T_DBL||
|00000e40| 54 5f 4c 42 4c 29 0a 0a | 2f 2a 20 76 61 72 69 61 |T_LBL)..|/* varia|
|00000e50| 62 6c 65 20 74 61 62 6c | 65 20 2a 2f 0a 23 64 65 |ble tabl|e */.#de|
|00000e60| 66 69 6e 65 20 56 4c 53 | 49 5a 09 31 35 30 0a 0a |fine VLS|IZ.150..|
|00000e70| 73 74 72 75 63 74 20 6c | 61 62 65 6c 20 7b 0a 20 |struct l|abel {. |
|00000e80| 20 20 20 63 68 61 72 20 | 2a 6e 61 6d 65 3b 09 09 | char |*name;..|
|00000e90| 09 2f 2a 20 77 68 61 74 | 20 64 6f 20 77 65 20 63 |./* what| do we c|
|00000ea0| 61 6c 6c 20 69 74 20 62 | 79 2e 20 2a 2f 0a 20 20 |all it b|y. */. |
|00000eb0| 20 20 69 6e 74 20 28 2a | 77 68 65 72 65 29 28 29 | int (*|where)()|
|00000ec0| 3b 09 09 2f 2a 20 61 6e | 64 20 77 68 65 72 65 20 |;../* an|d where |
|00000ed0| 64 6f 65 73 20 69 74 20 | 6c 69 76 65 20 2a 2f 0a |does it |live */.|
|00000ee0| 7d 3b 0a 2f 2a 20 46 6f | 72 20 61 72 72 61 79 73 |};./* Fo|r arrays|
|00000ef0| 2c 20 73 74 6f 72 61 67 | 65 20 6f 66 20 74 68 65 |, storag|e of the|
|00000f00| 6d 20 69 73 20 64 65 66 | 69 6e 65 64 20 61 73 20 |m is def|ined as |
|00000f10| 66 6f 6c 6c 6f 77 73 3a | 0a 20 2a 0a 20 2a 20 20 |follows:|. *. * |
|00000f20| 20 31 73 74 20 69 74 65 | 6d 3a 20 6e 75 6d 62 65 | 1st ite|m: numbe|
|00000f30| 72 20 6f 66 20 64 69 6d | 65 6e 73 69 6f 6e 73 20 |r of dim|ensions |
|00000f40| 69 6e 20 61 72 72 61 79 | 20 3c 4e 44 49 4d 53 3e |in array| <NDIMS>|
|00000f50| 2e 0a 20 2a 20 20 20 6e | 65 78 74 20 3c 4e 44 49 |.. * n|ext <NDI|
|00000f60| 4d 53 3e 20 69 74 65 6d | 73 3a 20 73 69 7a 65 20 |MS> item|s: size |
|00000f70| 6f 66 20 65 61 63 68 20 | 64 69 6d 65 6e 73 69 6f |of each |dimensio|
|00000f80| 6e 2e 0a 20 2a 20 20 20 | 72 65 73 74 20 6f 66 20 |n.. * |rest of |
|00000f90| 69 74 65 6d 73 3a 20 74 | 68 65 20 61 63 74 75 61 |items: t|he actua|
|00000fa0| 6c 20 76 61 6c 75 65 73 | 2e 0a 20 2a 0a 20 2a 20 |l values|.. *. * |
|00000fb0| 55 6e 74 69 6c 20 77 65 | 20 63 61 6e 20 73 75 70 |Until we| can sup|
|00000fc0| 70 6f 72 74 20 76 61 72 | 72 79 69 6e 67 20 73 69 |port var|rying si|
|00000fd0| 7a 65 64 20 61 72 72 61 | 79 73 20 74 68 69 73 20 |zed arra|ys this |
|00000fe0| 69 73 20 74 68 65 20 73 | 65 74 75 70 3a 0a 20 2a |is the s|etup:. *|
|00000ff0| 0a 20 2a 20 20 20 31 2c | 31 30 2c 78 30 2c 78 31 |. * 1,|10,x0,x1|
|00001000| 2c 78 32 2c 78 33 2c 78 | 34 2c 78 35 2c 78 36 2c |,x2,x3,x|4,x5,x6,|
|00001010| 78 37 2c 78 38 2c 78 39 | 2c 78 31 30 0a 20 2a 0a |x7,x8,x9|,x10. *.|
|00001020| 20 2a 20 66 6f 72 20 61 | 20 74 6f 74 61 6c 20 73 | * for a| total s|
|00001030| 69 7a 65 20 6f 66 20 31 | 33 20 69 74 65 6d 73 2e |ize of 1|3 items.|
|00001040| 0a 20 2a 2f 0a 75 6e 69 | 6f 6e 20 76 61 6c 75 65 |. */.uni|on value|
|00001050| 20 7b 0a 20 20 20 20 6c | 6f 6e 67 20 69 76 61 6c | {. l|ong ival|
|00001060| 3b 09 09 2f 2a 20 54 5f | 49 4e 54 20 2a 2f 0a 20 |;../* T_|INT */. |
|00001070| 20 20 20 64 6f 75 62 6c | 65 20 72 76 61 6c 3b 09 | doubl|e rval;.|
|00001080| 2f 2a 20 54 5f 44 42 4c | 20 2a 2f 0a 20 20 20 20 |/* T_DBL| */. |
|00001090| 63 68 61 72 20 2a 73 76 | 61 6c 3b 09 09 2f 2a 20 |char *sv|al;../* |
|000010a0| 54 5f 43 48 52 20 2a 2f | 0a 20 20 20 20 73 74 72 |T_CHR */|. str|
|000010b0| 75 63 74 20 6c 61 62 65 | 6c 20 6c 76 61 6c 3b 20 |uct labe|l lval; |
|000010c0| 20 2f 2a 20 54 5f 4c 42 | 4c 20 2a 2f 0a 20 20 20 | /* T_LB|L */. |
|000010d0| 20 73 74 72 75 63 74 20 | 6c 69 6e 65 20 2a 6c 6f | struct |line *lo|
|000010e0| 63 76 61 6c 3b 20 2f 2a | 20 66 6f 72 20 70 75 73 |cval; /*| for pus|
|000010f0| 68 69 6e 67 20 6c 69 6e | 65 23 20 6c 69 73 74 20 |hing lin|e# list |
|00001100| 65 6e 74 72 69 65 73 20 | 2a 2f 0a 20 20 20 20 75 |entries |*/. u|
|00001110| 6e 69 6f 6e 20 76 61 6c | 75 65 20 2a 61 72 76 61 |nion val|ue *arva|
|00001120| 6c 3b 20 2f 2a 20 61 6e | 79 2b 51 5f 41 52 59 20 |l; /* an|y+Q_ARY |
|00001130| 2a 2f 0a 20 20 20 20 73 | 74 72 75 63 74 20 64 69 |*/. s|truct di|
|00001140| 63 74 6e 6f 64 65 20 2a | 76 70 76 61 6c 3b 20 2f |ctnode *|vpval; /|
|00001150| 2a 20 66 6f 72 20 75 73 | 65 20 77 68 65 6e 20 70 |* for us|e when p|
|00001160| 75 73 68 69 6e 67 20 76 | 61 72 69 61 62 6c 65 20 |ushing v|ariable |
|00001170| 70 6f 69 6e 74 65 72 73 | 20 2a 2f 0a 20 20 20 20 |pointers| */. |
|00001180| 75 6e 69 6f 6e 20 76 61 | 6c 75 65 20 2a 70 6c 76 |union va|lue *plv|
|00001190| 61 6c 3b 20 2f 2a 20 66 | 6f 72 20 75 73 65 20 77 |al; /* f|or use w|
|000011a0| 68 65 6e 20 70 75 73 68 | 69 6e 67 20 70 6f 69 6e |hen push|ing poin|
|000011b0| 74 65 72 73 20 74 6f 20 | 61 20 76 61 6c 75 65 20 |ters to |a value |
|000011c0| 2a 2f 0a 7d 3b 0a 0a 73 | 74 72 75 63 74 20 64 69 |*/.};..s|truct di|
|000011d0| 63 74 6e 6f 64 65 20 7b | 09 2f 2a 20 66 6f 72 6d |ctnode {|./* form|
|000011e0| 61 74 20 6f 66 20 76 6c | 69 73 74 20 65 6e 74 72 |at of vl|ist entr|
|000011f0| 79 20 2a 2f 0a 20 20 20 | 20 73 74 72 75 63 74 20 |y */. | struct |
|00001200| 64 69 63 74 6e 6f 64 65 | 20 2a 66 61 74 68 65 72 |dictnode| *father|
|00001210| 2c 2a 64 61 75 67 68 74 | 65 72 3b 09 2f 2a 20 64 |,*daught|er;./* d|
|00001220| 6f 75 62 6c 79 2d 6c 69 | 6e 6b 65 64 20 6c 69 73 |oubly-li|nked lis|
|00001230| 74 2e 20 2a 2f 0a 20 20 | 20 20 63 68 61 72 20 2a |t. */. | char *|
|00001240| 6e 61 6d 65 3b 09 09 2f | 2a 20 6e 61 6d 65 20 6f |name;../|* name o|
|00001250| 66 20 65 6e 74 72 79 2e | 20 2a 2f 0a 20 20 20 20 |f entry.| */. |
|00001260| 69 6e 74 20 74 79 70 65 | 5f 6f 66 5f 76 61 6c 75 |int type|_of_valu|
|00001270| 65 3b 09 2f 2a 20 69 74 | 73 20 74 79 70 65 2e 20 |e;./* it|s type. |
|00001280| 2a 2f 0a 20 20 20 20 75 | 6e 69 6f 6e 20 76 61 6c |*/. u|nion val|
|00001290| 75 65 20 76 61 6c 3b 09 | 2f 2a 20 61 6e 64 20 69 |ue val;.|/* and i|
|000012a0| 74 73 20 76 61 6c 75 65 | 20 2a 2f 0a 7d 3b 0a 0a |ts value| */.};..|
|000012b0| 65 78 74 65 72 6e 20 73 | 74 72 75 63 74 20 64 69 |extern s|truct di|
|000012c0| 63 74 6e 6f 64 65 20 2a | 64 69 63 74 68 65 61 64 |ctnode *|dicthead|
|000012d0| 2c 2a 64 69 63 74 61 69 | 6c 2c 2a 63 75 72 76 70 |,*dictai|l,*curvp|
|000012e0| 3b 0a 0a 2f 2a 20 27 5f | 27 20 46 75 6e 63 74 69 |;../* '_|' Functi|
|000012f0| 6f 6e 20 74 61 62 6c 65 | 20 2a 2f 0a 65 78 74 65 |on table| */.exte|
|00001300| 72 6e 0a 09 5f 70 72 69 | 6e 74 28 29 2c 20 20 09 |rn.._pri|nt(), .|
|00001310| 5f 67 6f 74 6f 28 29 2c | 09 5f 69 66 28 29 2c 09 |_goto(),|._if(),.|
|00001320| 09 5f 65 6c 73 65 28 29 | 2c 0a 09 5f 66 6f 72 28 |._else()|,.._for(|
|00001330| 29 2c 09 09 5f 6e 65 78 | 74 28 29 2c 09 5f 72 65 |),.._nex|t(),._re|
|00001340| 61 64 28 29 2c 09 5f 64 | 61 74 61 28 29 2c 0a 09 |ad(),._d|ata(),..|
|00001350| 5f 64 73 65 70 28 29 2c | 09 5f 73 70 6f 70 28 29 |_dsep(),|._spop()|
|00001360| 2c 09 5f 70 6f 70 28 29 | 2c 09 09 5f 73 74 6f 70 |,._pop()|,.._stop|
|00001370| 28 29 2c 0a 09 5f 65 6e | 64 28 29 2c 09 09 5f 64 |(),.._en|d(),.._d|
|00001380| 6c 61 62 65 6c 28 29 2c | 09 5f 72 6c 61 62 65 6c |label(),|._rlabel|
|00001390| 28 29 2c 09 5f 63 6f 6e | 74 69 6e 28 29 2c 0a 09 |(),._con|tin(),..|
|000013a0| 5f 6c 65 61 76 65 28 29 | 2c 09 5f 65 6e 74 65 72 |_leave()|,._enter|
|000013b0| 28 29 2c 09 5f 65 78 69 | 74 6c 70 28 29 2c 09 5f |(),._exi|tlp(),._|
|000013c0| 69 61 64 64 28 29 2c 0a | 09 5f 69 73 75 62 28 29 |iadd(),.|._isub()|
|000013d0| 2c 09 5f 69 6d 75 6c 74 | 28 29 2c 09 5f 69 64 69 |,._imult|(),._idi|
|000013e0| 76 28 29 2c 09 5f 69 6d | 6f 64 28 29 2c 0a 09 5f |v(),._im|od(),.._|
|000013f0| 63 6f 6d 6d 61 28 29 2c | 09 5f 72 61 64 64 28 29 |comma(),|._radd()|
|00001400| 2c 09 5f 72 73 75 62 28 | 29 2c 09 5f 72 6d 75 6c |,._rsub(|),._rmul|
|00001410| 74 28 29 2c 0a 09 5f 72 | 64 69 76 28 29 2c 09 5f |t(),.._r|div(),._|
|00001420| 73 63 6f 6c 6f 6e 28 29 | 2c 09 5f 67 6f 73 75 62 |scolon()|,._gosub|
|00001430| 28 29 2c 09 5f 72 65 74 | 75 72 6e 28 29 2c 0a 09 |(),._ret|urn(),..|
|00001440| 5f 6e 6f 74 28 29 2c 09 | 09 5f 69 65 71 28 29 2c |_not(),.|._ieq(),|
|00001450| 09 09 5f 72 65 71 28 29 | 2c 09 09 5f 73 65 71 28 |.._req()|,.._seq(|
|00001460| 29 2c 0a 09 5f 69 6e 65 | 71 28 29 2c 09 5f 72 6e |),.._ine|q(),._rn|
|00001470| 65 71 28 29 2c 09 5f 73 | 6e 65 71 28 29 2c 09 5f |eq(),._s|neq(),._|
|00001480| 69 6c 65 71 28 29 2c 0a | 09 5f 72 6c 65 71 28 29 |ileq(),.|._rleq()|
|00001490| 2c 09 5f 73 6c 65 71 28 | 29 2c 09 5f 69 6c 74 28 |,._sleq(|),._ilt(|
|000014a0| 29 2c 09 09 5f 72 6c 74 | 28 29 2c 0a 09 5f 73 6c |),.._rlt|(),.._sl|
|000014b0| 74 28 29 2c 09 09 5f 69 | 67 65 71 28 29 2c 09 5f |t(),.._i|geq(),._|
|000014c0| 72 67 65 71 28 29 2c 09 | 5f 73 67 65 71 28 29 2c |rgeq(),.|_sgeq(),|
|000014d0| 0a 09 5f 69 67 74 28 29 | 2c 09 09 5f 72 67 74 28 |.._igt()|,.._rgt(|
|000014e0| 29 2c 09 09 5f 73 67 74 | 28 29 2c 09 09 5f 6f 72 |),.._sgt|(),.._or|
|000014f0| 28 29 2c 0a 09 5f 61 6e | 64 28 29 2c 09 09 5f 69 |(),.._an|d(),.._i|
|00001500| 74 6f 61 28 29 2c 09 5f | 72 74 6f 61 28 29 2c 09 |toa(),._|rtoa(),.|
|00001510| 5f 69 74 6f 72 28 29 2c | 0a 09 5f 72 74 6f 69 28 |_itor(),|.._rtoi(|
|00001520| 29 2c 09 5f 70 75 73 68 | 73 74 61 74 65 28 29 2c |),._push|state(),|
|00001530| 09 5f 70 6f 70 73 74 61 | 74 65 28 29 2c 09 5f 73 |._popsta|te(),._s|
|00001540| 63 6f 6e 28 29 2c 0a 09 | 5f 72 63 6f 6e 28 29 2c |con(),..|_rcon(),|
|00001550| 09 5f 69 63 6f 6e 28 29 | 2c 09 5f 76 61 6c 28 29 |._icon()|,._val()|
|00001560| 2c 09 09 5f 73 74 6f 72 | 65 28 29 2c 0a 09 5f 76 |,.._stor|e(),.._v|
|00001570| 61 72 28 29 3b 0a 0a 2f | 2a 0a 20 2a 20 44 61 74 |ar();../|*. * Dat|
|00001580| 61 20 74 61 62 6c 65 2e | 0a 20 2a 20 41 72 72 61 |a table.|. * Arra|
|00001590| 79 20 6f 66 20 70 6f 69 | 6e 74 65 72 73 20 69 6e |y of poi|nters in|
|000015a0| 74 6f 20 6c 6c 69 73 74 | 2e 0a 20 2a 20 45 61 63 |to llist|.. * Eac|
|000015b0| 68 20 69 73 20 61 20 6c | 69 6e 65 20 77 68 69 63 |h is a l|ine whic|
|000015c0| 68 20 68 61 73 20 64 61 | 74 61 2e 0a 20 2a 2f 0a |h has da|ta.. */.|
|000015d0| 23 64 65 66 69 6e 65 20 | 44 4c 53 49 5a 09 31 30 |#define |DLSIZ.10|
|000015e0| 30 0a 65 78 74 65 72 6e | 20 73 74 72 75 63 74 20 |0.extern| struct |
|000015f0| 6c 69 6e 65 20 2a 64 6c | 69 73 74 5b 5d 3b 20 2f |line *dl|ist[]; /|
|00001600| 2a 20 61 63 74 75 61 6c | 20 74 61 62 6c 65 2c 20 |* actual| table, |
|00001610| 6e 75 6d 62 65 72 20 6f | 66 20 65 6c 65 6d 73 2e |number o|f elems.|
|00001620| 20 69 73 20 44 4c 53 49 | 5a 20 2a 2f 0a 65 78 74 | is DLSI|Z */.ext|
|00001630| 65 72 6e 20 69 6e 74 20 | 64 6c 70 3b 09 09 2f 2a |ern int |dlp;../*|
|00001640| 20 69 6e 64 65 78 20 69 | 6e 74 6f 20 64 6c 69 73 | index i|nto dlis|
|00001650| 74 20 66 6f 72 20 63 75 | 72 72 65 6e 74 20 6c 69 |t for cu|rrent li|
|00001660| 6e 65 20 6f 66 20 64 61 | 74 61 20 2a 2f 0a 65 78 |ne of da|ta */.ex|
|00001670| 74 65 72 6e 20 69 6e 74 | 20 64 6c 69 6e 64 78 3b |tern int| dlindx;|
|00001680| 09 2f 2a 20 69 6e 64 65 | 78 20 69 6e 74 6f 20 63 |./* inde|x into c|
|00001690| 75 72 72 65 6e 74 20 6c | 69 6e 65 20 66 6f 72 20 |urrent l|ine for |
|000016a0| 63 75 72 72 65 6e 74 20 | 64 61 74 61 20 69 74 65 |current |data ite|
|000016b0| 6d 2e 20 2a 2f 0a 65 78 | 74 65 72 6e 20 69 6e 74 |m. */.ex|tern int|
|000016c0| 20 64 74 79 70 65 3b 09 | 2f 2a 20 69 6e 20 4d 5f | dtype;.|/* in M_|
|000016d0| 52 45 41 44 2c 20 6f 70 | 65 72 61 74 6f 72 73 20 |READ, op|erators |
|000016e0| 73 65 74 20 74 68 69 73 | 20 74 6f 20 74 68 65 20 |set this| to the |
|000016f0| 74 79 70 65 20 6f 66 20 | 0a 09 09 09 20 2a 20 74 |type of |.... * t|
|00001700| 68 65 69 72 20 6f 70 65 | 72 61 74 69 6f 6e 2e 20 |heir ope|ration. |
|00001710| 20 57 68 65 6e 20 74 68 | 65 20 65 78 70 72 65 73 | When th|e expres|
|00001720| 73 69 6f 6e 20 69 73 20 | 64 6f 6e 65 0a 09 09 09 |sion is |done....|
|00001730| 20 2a 20 65 78 65 63 75 | 74 69 6e 67 2c 20 74 68 | * execu|ting, th|
|00001740| 69 73 20 76 61 72 69 61 | 62 6c 65 20 77 69 6c 6c |is varia|ble will|
|00001750| 20 69 6e 64 69 63 61 74 | 65 20 69 74 73 20 74 79 | indicat|e its ty|
|00001760| 70 65 2e 0a 09 09 09 20 | 2a 2f 0a 0a 2f 2a 20 65 |pe..... |*/../* e|
|00001770| 72 72 6f 72 20 72 6f 75 | 74 69 6e 65 73 20 2a 2f |rror rou|tines */|
|00001780| 0a 65 78 74 65 72 6e 20 | 69 6e 74 20 55 4c 65 72 |.extern |int ULer|
|00001790| 72 6f 72 28 29 3b 0a 65 | 78 74 65 72 6e 20 69 6e |ror();.e|xtern in|
|000017a0| 74 20 53 54 65 72 72 6f | 72 28 29 3b 0a 65 78 74 |t STerro|r();.ext|
|000017b0| 65 72 6e 20 69 6e 74 20 | 46 4e 65 72 72 6f 72 28 |ern int |FNerror(|
|000017c0| 29 3b 0a 65 78 74 65 72 | 6e 20 69 6e 74 20 4f 44 |);.exter|n int OD|
|000017d0| 65 72 72 6f 72 28 29 3b | 0a 65 78 74 65 72 6e 20 |error();|.extern |
|000017e0| 69 6e 74 20 42 44 65 72 | 72 6f 72 28 29 3b 0a 65 |int BDer|ror();.e|
|000017f0| 78 74 65 72 6e 20 69 6e | 74 20 56 54 65 72 72 6f |xtern in|t VTerro|
|00001800| 72 28 29 3b 0a 0a 0a 2f | 2a 0a 20 2a 20 75 6e 69 |r();.../|*. * uni|
|00001810| 6f 6e 73 20 66 6f 72 20 | 73 74 6f 72 69 6e 67 20 |ons for |storing |
|00001820| 64 61 74 61 20 74 79 70 | 65 73 20 69 6e 20 74 68 |data typ|es in th|
|00001830| 65 20 63 6f 64 65 20 6c | 69 73 74 20 0a 20 2a 0a |e code l|ist . *.|
|00001840| 20 2a 20 55 73 65 64 20 | 74 6f 20 63 6f 6e 76 65 | * Used |to conve|
|00001850| 72 74 20 66 72 6f 6d 20 | 61 20 64 6f 75 62 6c 65 |rt from |a double|
|00001860| 20 28 66 6f 72 20 69 6e | 73 74 61 6e 63 65 29 20 | (for in|stance) |
|00001870| 69 6e 74 6f 20 22 69 6e | 74 22 20 73 69 7a 65 64 |into "in|t" sized|
|00001880| 20 63 68 75 6e 6b 73 0a | 20 2a 20 66 6f 72 20 74 | chunks.| * for t|
|00001890| 68 65 20 70 75 72 70 6f | 73 65 20 6f 66 20 6d 61 |he purpo|se of ma|
|000018a0| 6e 69 70 75 6c 61 74 69 | 6e 67 20 69 6e 73 74 61 |nipulati|ng insta|
|000018b0| 6e 63 65 73 20 6f 66 20 | 74 68 65 6d 20 69 6e 20 |nces of |them in |
|000018c0| 63 6f 64 65 20 6c 69 73 | 74 73 2e 0a 20 2a 2f 0a |code lis|ts.. */.|
|000018d0| 0a 0a 75 6e 69 6f 6e 20 | 64 6f 6e 69 20 7b 0a 20 |..union |doni {. |
|000018e0| 20 20 20 64 6f 75 62 6c | 65 20 64 5f 69 6e 5f 64 | doubl|e d_in_d|
|000018f0| 6f 6e 69 3b 0a 20 20 20 | 20 69 6e 74 20 69 5f 69 |oni;. | int i_i|
|00001900| 6e 5f 64 6f 6e 69 5b 73 | 69 7a 65 6f 66 28 64 6f |n_doni[s|izeof(do|
|00001910| 75 62 6c 65 29 2f 73 69 | 7a 65 6f 66 28 69 6e 74 |uble)/si|zeof(int|
|00001920| 29 5d 3b 0a 7d 3b 0a 75 | 6e 69 6f 6e 20 6c 6f 6e |)];.};.u|nion lon|
|00001930| 69 20 7b 0a 20 20 20 20 | 6c 6f 6e 67 20 6c 5f 69 |i {. |long l_i|
|00001940| 6e 5f 6c 6f 6e 69 3b 0a | 20 20 20 20 69 6e 74 20 |n_loni;.| int |
|00001950| 69 5f 69 6e 5f 6c 6f 6e | 69 5b 73 69 7a 65 6f 66 |i_in_lon|i[sizeof|
|00001960| 28 6c 6f 6e 67 29 2f 73 | 69 7a 65 6f 66 28 69 6e |(long)/s|izeof(in|
|00001970| 74 29 5d 3b 0a 7d 3b 0a | 75 6e 69 6f 6e 20 76 6f |t)];.};.|union vo|
|00001980| 6e 69 20 7b 0a 20 20 20 | 20 75 6e 69 6f 6e 20 76 |ni {. | union v|
|00001990| 61 6c 75 65 20 76 5f 69 | 6e 5f 76 6f 6e 69 3b 0a |alue v_i|n_voni;.|
|000019a0| 20 20 20 20 69 6e 74 20 | 69 5f 69 6e 5f 76 6f 6e | int |i_in_von|
|000019b0| 69 5b 73 69 7a 65 6f 66 | 28 75 6e 69 6f 6e 20 76 |i[sizeof|(union v|
|000019c0| 61 6c 75 65 29 2f 73 69 | 7a 65 6f 66 28 69 6e 74 |alue)/si|zeof(int|
|000019d0| 29 5d 3b 0a 7d 3b 0a 0a | 0a 2f 2a 20 6d 69 73 63 |)];.};..|./* misc|
|000019e0| 65 6c 6c 61 6e 65 6f 75 | 73 20 64 65 66 69 6e 69 |ellaneou|s defini|
|000019f0| 74 69 6f 6e 73 2e 20 2a | 2f 0a 0a 23 64 65 66 69 |tions. *|/..#defi|
|00001a00| 6e 65 20 53 54 4b 53 49 | 5a 09 35 30 30 0a 65 78 |ne STKSI|Z.500.ex|
|00001a10| 74 65 72 6e 20 75 6e 69 | 6f 6e 20 76 61 6c 75 65 |tern uni|on value|
|00001a20| 20 73 74 61 63 6b 5b 5d | 3b 0a 65 78 74 65 72 6e | stack[]|;.extern|
|00001a30| 20 69 6e 74 20 73 74 61 | 63 6b 70 3b 0a 65 78 74 | int sta|ckp;.ext|
|00001a40| 65 72 6e 20 69 6e 74 20 | 70 75 73 68 28 29 3b 0a |ern int |push();.|
|00001a50| 65 78 74 65 72 6e 20 75 | 6e 69 6f 6e 20 76 61 6c |extern u|nion val|
|00001a60| 75 65 20 70 6f 70 28 29 | 3b 0a 0a 23 64 65 66 69 |ue pop()|;..#defi|
|00001a70| 6e 65 20 43 53 54 4b 53 | 49 5a 09 35 0a 23 64 65 |ne CSTKS|IZ.5.#de|
|00001a80| 66 69 6e 65 20 42 46 53 | 49 5a 09 32 30 30 09 2f |fine BFS|IZ.200./|
|00001a90| 2a 20 69 6e 70 75 74 20 | 62 75 66 66 65 72 20 2a |* input |buffer *|
|00001aa0| 2f 0a 65 78 74 65 72 6e | 20 63 68 61 72 20 70 62 |/.extern| char pb|
|00001ab0| 62 75 66 5b 5d 3b 09 2f | 2a 20 75 6e 70 75 74 28 |buf[];./|* unput(|
|00001ac0| 29 20 62 75 66 66 65 72 | 20 2a 2f 0a 65 78 74 65 |) buffer| */.exte|
|00001ad0| 72 6e 20 63 68 61 72 20 | 69 62 75 66 5b 5d 3b 0a |rn char |ibuf[];.|
|00001ae0| 65 78 74 65 72 6e 20 69 | 6e 74 20 69 70 74 72 2c |extern i|nt iptr,|
|00001af0| 70 62 70 74 72 3b 0a 65 | 78 74 65 72 6e 20 63 68 |pbptr;.e|xtern ch|
|00001b00| 61 72 20 69 6e 70 75 74 | 28 29 3b 0a 65 78 74 65 |ar input|();.exte|
|00001b10| 72 6e 20 72 64 6c 69 6e | 28 29 2c 75 6e 70 75 74 |rn rdlin|(),unput|
|00001b20| 28 29 3b 0a 0a 65 78 74 | 65 72 6e 20 62 6c 63 70 |();..ext|ern blcp|
|00001b30| 79 28 29 3b 0a 0a 65 78 | 74 65 72 6e 20 63 68 61 |y();..ex|tern cha|
|00001b40| 72 20 62 73 6c 61 73 68 | 28 29 3b 0a 65 78 74 65 |r bslash|();.exte|
|00001b50| 72 6e 20 63 68 61 72 20 | 2a 73 63 6f 6e 5f 69 6e |rn char |*scon_in|
|00001b60| 28 29 3b 0a 65 78 74 65 | 72 6e 20 69 6e 74 20 6e |();.exte|rn int n|
|00001b70| 75 6d 5f 69 6e 28 29 3b | 0a 0a 65 78 74 65 72 6e |um_in();|..extern|
|00001b80| 20 63 68 61 72 20 2a 6d | 79 61 6c 6c 6f 63 28 29 | char *m|yalloc()|
|00001b90| 3b 0a 65 78 74 65 72 6e | 20 75 6e 69 6f 6e 20 76 |;.extern| union v|
|00001ba0| 61 6c 75 65 20 2a 67 65 | 74 70 6c 61 63 65 28 29 |alue *ge|tplace()|
|00001bb0| 3b 0a 65 78 74 65 72 6e | 20 73 74 72 75 63 74 20 |;.extern| struct |
|00001bc0| 6c 69 6e 65 20 2a 67 6c | 6c 65 6e 74 72 79 28 29 |line *gl|lentry()|
|00001bd0| 3b 0a 0a 65 78 74 65 72 | 6e 20 46 49 4c 45 20 2a |;..exter|n FILE *|
|00001be0| 62 73 69 6e 3b 0a 0a 65 | 78 74 65 72 6e 20 69 6e |bsin;..e|xtern in|
|00001bf0| 74 20 64 62 67 3b 09 09 | 2f 2a 20 64 65 62 75 67 |t dbg;..|/* debug|
|00001c00| 67 69 6e 67 20 66 6c 61 | 67 2e 20 2a 2f 0a 65 78 |ging fla|g. */.ex|
|00001c10| 74 65 72 6e 20 6c 6f 6e | 67 20 61 74 6f 6c 28 29 |tern lon|g atol()|
|00001c20| 3b 0a 65 78 74 65 72 6e | 20 64 6f 75 62 6c 65 20 |;.extern| double |
|00001c30| 61 74 6f 66 28 29 3b 0a | 53 48 41 52 5f 45 4f 46 |atof();.|SHAR_EOF|
|00001c40| 0a 69 66 20 74 65 73 74 | 20 34 36 34 38 20 2d 6e |.if test| 4648 -n|
|00001c50| 65 20 22 60 77 63 20 2d | 63 20 3c 20 27 6e 65 77 |e "`wc -|c < 'new|
|00001c60| 62 73 2f 62 73 64 65 66 | 73 2e 68 27 60 22 0a 74 |bs/bsdef|s.h'`".t|
|00001c70| 68 65 6e 0a 09 65 63 68 | 6f 20 73 68 61 72 3a 20 |hen..ech|o shar: |
|00001c80| 65 72 72 6f 72 20 74 72 | 61 6e 73 6d 69 74 74 69 |error tr|ansmitti|
|00001c90| 6e 67 20 22 27 6e 65 77 | 62 73 2f 62 73 64 65 66 |ng "'new|bs/bsdef|
|00001ca0| 73 2e 68 27 22 20 27 28 | 73 68 6f 75 6c 64 20 68 |s.h'" '(|should h|
|00001cb0| 61 76 65 20 62 65 65 6e | 20 34 36 34 38 20 63 68 |ave been| 4648 ch|
|00001cc0| 61 72 61 63 74 65 72 73 | 29 27 0a 66 69 0a 66 69 |aracters|)'.fi.fi|
|00001cd0| 20 23 20 65 6e 64 20 6f | 66 20 6f 76 65 72 77 72 | # end o|f overwr|
|00001ce0| 69 74 69 6e 67 20 63 68 | 65 63 6b 0a 65 63 68 6f |iting ch|eck.echo|
|00001cf0| 20 73 68 61 72 3a 20 65 | 78 74 72 61 63 74 69 6e | shar: e|xtractin|
|00001d00| 67 20 22 27 6e 65 77 62 | 73 2f 62 73 67 72 61 6d |g "'newb|s/bsgram|
|00001d10| 2e 79 27 22 20 27 28 38 | 38 39 31 20 63 68 61 72 |.y'" '(8|891 char|
|00001d20| 61 63 74 65 72 73 29 27 | 0a 69 66 20 74 65 73 74 |acters)'|.if test|
|00001d30| 20 2d 66 20 27 6e 65 77 | 62 73 2f 62 73 67 72 61 | -f 'new|bs/bsgra|
|00001d40| 6d 2e 79 27 0a 74 68 65 | 6e 0a 09 65 63 68 6f 20 |m.y'.the|n..echo |
|00001d50| 73 68 61 72 3a 20 77 69 | 6c 6c 20 6e 6f 74 20 6f |shar: wi|ll not o|
|00001d60| 76 65 72 2d 77 72 69 74 | 65 20 65 78 69 73 74 69 |ver-writ|e existi|
|00001d70| 6e 67 20 66 69 6c 65 20 | 22 27 6e 65 77 62 73 2f |ng file |"'newbs/|
|00001d80| 62 73 67 72 61 6d 2e 79 | 27 22 0a 65 6c 73 65 0a |bsgram.y|'".else.|
|00001d90| 73 65 64 20 27 73 2f 5e | 58 2f 2f 27 20 3c 3c 20 |sed 's/^|X//' << |
|00001da0| 5c 53 48 41 52 5f 45 4f | 46 20 3e 20 27 6e 65 77 |\SHAR_EO|F > 'new|
|00001db0| 62 73 2f 62 73 67 72 61 | 6d 2e 79 27 0a 09 2f 2a |bs/bsgra|m.y'../*|
|00001dc0| 20 62 73 67 72 61 6d 2e | 79 20 2d 2d 20 67 72 61 | bsgram.|y -- gra|
|00001dd0| 6d 6d 65 72 20 73 70 65 | 63 69 66 69 63 61 74 69 |mmer spe|cificati|
|00001de0| 6f 6e 20 66 6f 72 20 62 | 73 2e 0a 09 20 2a 2f 0a |on for b|s... */.|
|00001df0| 25 7b 0a 23 69 6e 63 6c | 75 64 65 20 22 62 73 64 |%{.#incl|ude "bsd|
|00001e00| 65 66 73 2e 68 22 0a 0a | 63 68 61 72 20 2a 70 3b |efs.h"..|char *p;|
|00001e10| 09 09 2f 2a 20 74 68 65 | 20 67 65 6e 65 72 69 63 |../* the| generic|
|00001e20| 20 70 6f 69 6e 74 65 72 | 20 2a 2f 0a 69 6e 74 20 | pointer| */.int |
|00001e30| 69 3b 09 09 09 2f 2a 20 | 74 68 65 20 67 65 6e 65 |i;.../* |the gene|
|00001e40| 72 69 63 20 63 6f 75 6e | 74 65 72 20 2a 2f 0a 69 |ric coun|ter */.i|
|00001e50| 6e 74 20 28 2a 6c 5b 33 | 30 30 5d 29 28 29 3b 09 |nt (*l[3|00])();.|
|00001e60| 2f 2a 20 61 72 72 61 79 | 20 74 6f 20 67 65 6e 65 |/* array| to gene|
|00001e70| 72 61 74 65 20 74 68 65 | 20 63 6f 64 65 20 6c 69 |rate the| code li|
|00001e80| 73 74 20 69 6e 74 6f 2e | 20 2a 2f 0a 69 6e 74 20 |st into.| */.int |
|00001e90| 6c 70 3b 09 09 09 2f 2a | 20 70 6f 69 6e 74 65 72 |lp;.../*| pointer|
|00001ea0| 20 74 6f 20 63 75 72 72 | 65 6e 74 20 73 70 6f 74 | to curr|ent spot|
|00001eb0| 20 69 6e 20 6c 5b 5d 20 | 2a 2f 0a 0a 73 74 72 75 | in l[] |*/..stru|
|00001ec0| 63 74 20 73 74 6b 20 7b | 0a 20 20 20 20 69 6e 74 |ct stk {|. int|
|00001ed0| 20 73 74 61 63 6b 5b 34 | 30 5d 3b 0a 20 20 20 20 | stack[4|0];. |
|00001ee0| 69 6e 74 20 73 74 6b 70 | 3b 0a 7d 3b 0a 0a 73 74 |int stkp|;.};..st|
|00001ef0| 72 75 63 74 20 73 74 6b | 20 69 66 73 74 6b 2c 77 |ruct stk| ifstk,w|
|00001f00| 68 73 74 6b 2c 66 6f 72 | 73 74 6b 2c 72 65 70 73 |hstk,for|stk,reps|
|00001f10| 74 6b 2c 6c 70 73 74 6b | 3b 0a 69 6e 74 20 67 6f |tk,lpstk|;.int go|
|00001f20| 6d 61 78 3d 30 2c 20 69 | 66 6d 61 78 3d 30 2c 20 |max=0, i|fmax=0, |
|00001f30| 77 68 6d 61 78 3d 30 2c | 20 66 6f 72 6d 61 78 3d |whmax=0,| formax=|
|00001f40| 30 2c 20 72 65 70 6d 61 | 78 3d 30 2c 20 6c 70 6d |0, repma|x=0, lpm|
|00001f50| 61 78 3d 30 3b 0a 0a 65 | 78 74 65 72 6e 20 63 68 |ax=0;..e|xtern ch|
|00001f60| 61 72 20 2a 79 79 74 65 | 78 74 3b 0a 65 78 74 65 |ar *yyte|xt;.exte|
|00001f70| 72 6e 20 63 68 61 72 20 | 2a 62 73 79 79 73 76 61 |rn char |*bsyysva|
|00001f80| 6c 3b 0a 65 78 74 65 72 | 6e 20 69 6e 74 20 79 79 |l;.exter|n int yy|
|00001f90| 6c 65 6e 67 3b 0a 25 7d | 0a 0a 25 74 65 72 6d 20 |leng;.%}|..%term |
|00001fa0| 45 51 55 41 4c 09 4e 45 | 51 09 4c 45 09 4c 54 09 |EQUAL.NE|Q.LE.LT.|
|00001fb0| 47 45 09 57 48 49 4c 45 | 0a 25 74 65 72 6d 20 47 |GE.WHILE|.%term G|
|00001fc0| 54 09 4f 52 09 41 4e 44 | 09 4e 4f 54 09 52 45 54 |T.OR.AND|.NOT.RET|
|00001fd0| 09 52 45 50 45 41 54 0a | 25 74 65 72 6d 20 49 46 |.REPEAT.|%term IF|
|00001fe0| 09 54 48 45 4e 09 45 4c | 53 45 09 47 4f 54 4f 09 |.THEN.EL|SE.GOTO.|
|00001ff0| 47 4f 53 55 42 09 55 4e | 54 49 4c 0a 25 74 65 72 |GOSUB.UN|TIL.%ter|
|00002000| 6d 20 53 54 4f 50 09 45 | 4e 44 09 49 4e 54 45 47 |m STOP.E|ND.INTEG|
|00002010| 45 52 09 52 45 41 4c 09 | 53 43 4f 4e 53 54 09 45 |ER.REAL.|SCONST.E|
|00002020| 4c 49 48 57 0a 25 74 65 | 72 6d 20 4c 45 54 09 53 |LIHW.%te|rm LET.S|
|00002030| 57 4f 52 44 09 50 52 49 | 4e 54 09 49 4e 50 55 54 |WORD.PRI|NT.INPUT|
|00002040| 09 44 41 54 41 09 43 46 | 4f 52 0a 25 74 65 72 6d |.DATA.CF|OR.%term|
|00002050| 20 46 4f 52 09 54 4f 09 | 53 54 45 50 09 52 45 41 | FOR.TO.|STEP.REA|
|00002060| 44 09 57 52 49 54 45 09 | 4e 45 58 54 0a 25 74 65 |D.WRITE.|NEXT.%te|
|00002070| 72 6d 20 44 45 46 49 4e | 45 09 4c 46 55 4e 09 53 |rm DEFIN|E.LFUN.S|
|00002080| 46 55 4e 09 46 44 45 46 | 09 53 59 4d 42 4f 4c 09 |FUN.FDEF|.SYMBOL.|
|00002090| 44 49 4d 0a 25 74 65 72 | 6d 20 56 41 4c 55 45 09 |DIM.%ter|m VALUE.|
|000020a0| 49 57 4f 52 44 09 52 57 | 4f 52 44 09 52 4f 46 43 |IWORD.RW|ORD.ROFC|
|000020b0| 09 4c 4f 4f 50 09 45 58 | 49 54 49 46 0a 25 74 65 |.LOOP.EX|ITIF.%te|
|000020c0| 72 6d 20 49 54 4f 52 09 | 52 54 4f 49 09 49 54 4f |rm ITOR.|RTOI.ITO|
|000020d0| 41 09 52 54 4f 41 09 4c | 45 41 56 45 09 43 4f 4e |A.RTOA.L|EAVE.CON|
|000020e0| 54 49 4e 55 45 0a 25 74 | 65 72 6d 20 50 4f 4f 4c |TINUE.%t|erm POOL|
|000020f0| 0a 0a 25 6c 65 66 74 20 | 27 2c 27 20 27 3b 27 0a |..%left |',' ';'.|
|00002100| 25 72 69 67 68 74 20 27 | 3d 27 0a 25 6e 6f 6e 61 |%right '|='.%nona|
|00002110| 73 73 6f 63 20 4f 52 20 | 41 4e 44 0a 25 6e 6f 6e |ssoc OR |AND.%non|
|00002120| 61 73 73 6f 63 20 4c 45 | 20 4c 54 20 47 45 20 47 |assoc LE| LT GE G|
|00002130| 54 20 45 51 55 41 4c 20 | 4e 45 51 0a 25 6c 65 66 |T EQUAL |NEQ.%lef|
|00002140| 74 20 27 2b 27 20 27 2d | 27 0a 25 6c 65 66 74 20 |t '+' '-|'.%left |
|00002150| 27 2a 27 20 27 2f 27 20 | 27 25 27 0a 25 6c 65 66 |'*' '/' |'%'.%lef|
|00002160| 74 20 55 4e 41 52 59 0a | 25 6c 65 66 74 20 27 28 |t UNARY.|%left '(|
|00002170| 27 0a 0a 0a 25 73 74 61 | 72 74 20 6c 69 6e 65 73 |'...%sta|rt lines|
|00002180| 0a 0a 25 25 0a 0a 6c 69 | 6e 65 73 09 09 3a 20 2f |..%%..li|nes..: /|
|00002190| 2a 20 65 6d 70 74 79 20 | 2a 2f 0a 09 09 7c 20 6c |* empty |*/...| l|
|000021a0| 69 6e 65 73 20 6c 69 6e | 65 0a 09 09 3b 0a 0a 6c |ines lin|e...;..l|
|000021b0| 69 6e 65 09 09 3a 20 6c | 6e 75 6d 20 73 74 61 74 |ine..: l|num stat|
|000021c0| 20 27 5c 6e 27 0a 09 09 | 09 7b 20 70 72 69 6e 74 | '\n'...|.{ print|
|000021d0| 66 28 22 5c 6e 22 29 3b | 20 7d 0a 09 09 7c 20 27 |f("\n");| }...| '|
|000021e0| 5c 6e 27 0a 09 09 3b 0a | 0a 6c 6e 75 6d 09 09 3a |\n'...;.|.lnum..:|
|000021f0| 20 49 4e 54 45 47 45 52 | 0a 09 09 09 7b 20 62 75 | INTEGER|....{ bu|
|00002200| 6e 64 6c 65 28 32 2c 5f | 6c 69 6e 65 2c 61 74 6f |ndle(2,_|line,ato|
|00002210| 69 28 24 31 29 3b 20 7d | 0a 09 09 3b 0a 0a 73 74 |i($1); }|...;..st|
|00002220| 61 74 09 09 3a 20 4c 45 | 54 20 6c 65 74 5f 78 70 |at..: LE|T let_xp|
|00002230| 72 0a 09 09 7c 20 6c 65 | 74 5f 78 70 72 0a 09 09 |r...| le|t_xpr...|
|00002240| 7c 20 50 52 49 4e 54 20 | 70 65 0a 09 09 09 7b 20 || PRINT |pe....{ |
|00002250| 62 75 6e 64 6c 65 28 31 | 2c 5f 70 72 69 6e 74 29 |bundle(1|,_print)|
|00002260| 3b 20 7d 0a 09 09 7c 20 | 47 4f 54 4f 20 49 4e 54 |; }...| |GOTO INT|
|00002270| 45 47 45 52 0a 09 09 09 | 7b 0a 09 09 09 09 73 70 |EGER....|{.....sp|
|00002280| 72 69 6e 74 66 28 73 2c | 22 4c 4e 25 73 22 2c 24 |rintf(s,|"LN%s",$|
|00002290| 32 29 3b 0a 09 09 09 09 | 62 75 6e 64 6c 65 28 34 |2);.....|bundle(4|
|000022a0| 2c 5f 72 6c 61 62 65 6c | 2c 67 76 61 64 72 28 73 |,_rlabel|,gvadr(s|
|000022b0| 2c 54 5f 4c 42 4c 29 2c | 5f 67 6f 74 6f 2c 30 29 |,T_LBL),|_goto,0)|
|000022c0| 3b 0a 09 09 09 7d 0a 09 | 09 7c 20 47 4f 53 55 42 |;....}..|.| GOSUB|
|000022d0| 20 49 4e 54 45 47 45 52 | 0a 09 09 09 7b 0a 09 09 | INTEGER|....{...|
|000022e0| 09 09 73 70 72 69 6e 74 | 66 28 73 2c 22 4c 4e 25 |..sprint|f(s,"LN%|
|000022f0| 73 22 2c 24 32 29 3b 0a | 09 09 09 09 62 75 6e 64 |s",$2);.|....bund|
|00002300| 6c 65 28 34 2c 5f 72 6c | 61 62 65 6c 2c 67 76 61 |le(4,_rl|abel,gva|
|00002310| 64 72 28 73 2c 54 5f 4c | 42 4c 29 2c 5f 67 6f 73 |dr(s,T_L|BL),_gos|
|00002320| 75 62 2c 30 29 3b 20 0a | 09 09 09 7d 0a 09 09 7c |ub,0); .|...}...||
|00002330| 20 4c 45 41 56 45 0a 09 | 09 09 7b 20 62 75 6e 64 | LEAVE..|..{ bund|
|00002340| 6c 65 28 32 2c 5f 6c 65 | 61 76 65 2c 30 29 3b 20 |le(2,_le|ave,0); |
|00002350| 7d 0a 09 09 7c 20 43 4f | 4e 54 49 4e 55 45 0a 09 |}...| CO|NTINUE..|
|00002360| 09 09 7b 20 62 75 6e 64 | 6c 65 28 32 2c 5f 63 6f |..{ bund|le(2,_co|
|00002370| 6e 74 69 6e 2c 30 29 3b | 20 7d 0a 09 09 7c 20 52 |ntin,0);| }...| R|
|00002380| 45 54 0a 09 09 09 7b 20 | 62 75 6e 64 6c 65 28 31 |ET....{ |bundle(1|
|00002390| 2c 5f 72 65 74 75 72 6e | 29 3b 20 7d 0a 09 09 7c |,_return|); }...||
|000023a0| 20 49 46 20 62 65 78 70 | 72 0a 09 09 09 7b 0a 09 | IF bexp|r....{..|
|000023b0| 09 09 09 6c 70 75 73 68 | 28 26 69 66 73 74 6b 2c |...lpush|(&ifstk,|
|000023c0| 69 66 6d 61 78 29 3b 0a | 09 09 09 09 73 70 72 69 |ifmax);.|....spri|
|000023d0| 6e 74 66 28 73 2c 22 49 | 46 25 64 22 2c 69 66 6d |ntf(s,"I|F%d",ifm|
|000023e0| 61 78 29 3b 0a 09 09 09 | 09 62 75 6e 64 6c 65 28 |ax);....|.bundle(|
|000023f0| 34 2c 5f 72 6c 61 62 65 | 6c 2c 67 76 61 64 72 28 |4,_rlabe|l,gvadr(|
|00002400| 73 2c 54 5f 4c 42 4c 29 | 2c 5f 69 66 2c 30 29 3b |s,T_LBL)|,_if,0);|
|00002410| 0a 09 09 09 09 69 66 6d | 61 78 20 2b 3d 20 32 3b |.....ifm|ax += 2;|
|00002420| 0a 09 09 09 7d 0a 09 09 | 20 20 54 48 45 4e 20 73 |....}...| THEN s|
|00002430| 74 61 74 0a 09 09 09 7b | 0a 09 09 09 09 69 20 3d |tat....{|.....i =|
|00002440| 20 6c 74 6f 70 28 26 69 | 66 73 74 6b 29 3b 0a 09 | ltop(&i|fstk);..|
|00002450| 09 09 09 73 70 72 69 6e | 74 66 28 73 2c 22 49 46 |...sprin|tf(s,"IF|
|00002460| 25 64 22 2c 69 2b 31 29 | 3b 0a 09 09 09 09 62 75 |%d",i+1)|;.....bu|
|00002470| 6e 64 6c 65 28 34 2c 5f | 72 6c 61 62 65 6c 2c 67 |ndle(4,_|rlabel,g|
|00002480| 76 61 64 72 28 73 2c 54 | 5f 4c 42 4c 29 2c 5f 67 |vadr(s,T|_LBL),_g|
|00002490| 6f 74 6f 2c 30 29 3b 0a | 09 09 09 7d 0a 09 09 20 |oto,0);.|...}... |
|000024a0| 20 69 66 5f 65 6c 73 65 | 0a 09 09 7c 20 49 4e 50 | if_else|...| INP|
|000024b0| 55 54 20 0a 09 09 09 7b | 20 62 75 6e 64 6c 65 28 |UT ....{| bundle(|
|000024c0| 32 2c 5f 70 75 73 68 73 | 74 61 74 65 2c 4d 5f 49 |2,_pushs|tate,M_I|
|000024d0| 4e 50 55 54 29 3b 20 7d | 0a 09 09 20 20 76 61 72 |NPUT); }|... var|
|000024e0| 5f 6c 73 74 0a 09 09 09 | 7b 20 62 75 6e 64 6c 65 |_lst....|{ bundle|
|000024f0| 28 31 2c 5f 70 6f 70 73 | 74 61 74 65 29 3b 20 7d |(1,_pops|tate); }|
|00002500| 0a 09 09 7c 20 53 54 4f | 50 0a 09 09 09 7b 20 62 |...| STO|P....{ b|
|00002510| 75 6e 64 6c 65 28 31 2c | 5f 73 74 6f 70 29 3b 20 |undle(1,|_stop); |
|00002520| 7d 0a 09 09 7c 20 45 4e | 44 0a 09 09 09 7b 20 62 |}...| EN|D....{ b|
|00002530| 75 6e 64 6c 65 28 31 2c | 5f 65 6e 64 29 3b 20 7d |undle(1,|_end); }|
|00002540| 0a 09 09 7c 20 46 4f 52 | 20 6e 76 61 72 20 27 3d |...| FOR| nvar '=|
|00002550| 27 20 72 65 78 70 72 20 | 54 4f 20 72 65 78 70 72 |' rexpr |TO rexpr|
|00002560| 20 66 6f 72 5f 73 74 65 | 70 0a 09 09 09 7b 0a 09 | for_ste|p....{..|
|00002570| 09 09 09 6c 70 75 73 68 | 28 26 66 6f 72 73 74 6b |...lpush|(&forstk|
|00002580| 2c 66 6f 72 6d 61 78 29 | 3b 0a 09 09 09 09 73 70 |,formax)|;.....sp|
|00002590| 72 69 6e 74 66 28 73 2c | 22 46 4f 52 25 64 22 2c |rintf(s,|"FOR%d",|
|000025a0| 66 6f 72 6d 61 78 2b 32 | 29 3b 0a 09 09 09 09 62 |formax+2|);.....b|
|000025b0| 75 6e 64 6c 65 28 32 2c | 5f 72 6c 61 62 65 6c 2c |undle(2,|_rlabel,|
|000025c0| 67 76 61 64 72 28 73 2c | 54 5f 4c 42 4c 29 29 3b |gvadr(s,|T_LBL));|
|000025d0| 0a 09 09 09 09 73 70 72 | 69 6e 74 66 28 73 2c 22 |.....spr|intf(s,"|
|000025e0| 46 4f 52 25 64 22 2c 66 | 6f 72 6d 61 78 2b 31 29 |FOR%d",f|ormax+1)|
|000025f0| 3b 0a 09 09 09 09 62 75 | 6e 64 6c 65 28 33 2c 5f |;.....bu|ndle(3,_|
|00002600| 72 6c 61 62 65 6c 2c 67 | 76 61 64 72 28 73 2c 54 |rlabel,g|vadr(s,T|
|00002610| 5f 4c 42 4c 29 2c 5f 65 | 6e 74 65 72 29 3b 0a 09 |_LBL),_e|nter);..|
|00002620| 09 09 09 73 70 72 69 6e | 74 66 28 73 2c 22 46 4f |...sprin|tf(s,"FO|
|00002630| 52 25 64 22 2c 66 6f 72 | 6d 61 78 2b 31 29 3b 0a |R%d",for|max+1);.|
|00002640| 09 09 09 09 62 75 6e 64 | 6c 65 28 35 2c 5f 69 63 |....bund|le(5,_ic|
|00002650| 6f 6e 2c 28 6c 6f 6e 67 | 29 30 2c 5f 72 6c 61 62 |on,(long|)0,_rlab|
|00002660| 65 6c 2c 67 76 61 64 72 | 28 73 2c 54 5f 4c 42 4c |el,gvadr|(s,T_LBL|
|00002670| 29 29 3b 0a 09 09 09 09 | 73 70 72 69 6e 74 66 28 |));.....|sprintf(|
|00002680| 73 2c 22 46 4f 52 25 64 | 22 2c 66 6f 72 6d 61 78 |s,"FOR%d|",formax|
|00002690| 29 3b 0a 09 09 09 09 62 | 75 6e 64 6c 65 28 34 2c |);.....b|undle(4,|
|000026a0| 5f 64 6c 61 62 65 6c 2c | 67 76 61 64 72 28 73 2c |_dlabel,|gvadr(s,|
|000026b0| 54 5f 4c 42 4c 29 2c 5f | 66 6f 72 2c 30 29 3b 0a |T_LBL),_|for,0);.|
|000026c0| 09 09 09 09 66 6f 72 6d | 61 78 20 2b 3d 20 33 3b |....form|ax += 3;|
|000026d0| 0a 09 09 09 7d 0a 09 09 | 7c 20 4e 45 58 54 0a 09 |....}...|| NEXT..|
|000026e0| 09 09 7b 0a 09 09 09 09 | 69 20 3d 20 6c 74 6f 70 |..{.....|i = ltop|
|000026f0| 28 26 66 6f 72 73 74 6b | 29 3b 0a 09 09 09 09 73 |(&forstk|);.....s|
|00002700| 70 72 69 6e 74 66 28 73 | 2c 22 46 4f 52 25 64 22 |printf(s|,"FOR%d"|
|00002710| 2c 69 2b 32 29 3b 0a 09 | 09 09 09 62 75 6e 64 6c |,i+2);..|...bundl|
|00002720| 65 28 32 2c 5f 64 6c 61 | 62 65 6c 2c 67 76 61 64 |e(2,_dla|bel,gvad|
|00002730| 72 28 73 2c 54 5f 4c 42 | 4c 29 29 3b 0a 09 09 09 |r(s,T_LB|L));....|
|00002740| 7d 0a 09 09 20 20 6e 76 | 61 72 0a 09 09 09 7b 0a |}... nv|ar....{.|
|00002750| 09 09 09 09 69 20 3d 20 | 6c 70 6f 70 28 26 66 6f |....i = |lpop(&fo|
|00002760| 72 73 74 6b 29 3b 0a 09 | 09 09 09 73 70 72 69 6e |rstk);..|...sprin|
|00002770| 74 66 28 73 2c 22 46 4f | 52 25 64 22 2c 69 29 3b |tf(s,"FO|R%d",i);|
|00002780| 0a 09 09 09 09 62 75 6e | 64 6c 65 28 35 2c 5f 6e |.....bun|dle(5,_n|
|00002790| 65 78 74 2c 5f 72 6c 61 | 62 65 6c 2c 67 76 61 64 |ext,_rla|bel,gvad|
|000027a0| 72 28 73 2c 54 5f 4c 42 | 4c 29 2c 5f 67 6f 74 6f |r(s,T_LB|L),_goto|
|000027b0| 2c 30 29 3b 0a 09 09 09 | 09 73 70 72 69 6e 74 66 |,0);....|.sprintf|
|000027c0| 28 73 2c 22 46 4f 52 25 | 64 22 2c 69 2b 31 29 3b |(s,"FOR%|d",i+1);|
|000027d0| 0a 09 09 09 09 62 75 6e | 64 6c 65 28 33 2c 5f 64 |.....bun|dle(3,_d|
|000027e0| 6c 61 62 65 6c 2c 67 76 | 61 64 72 28 73 2c 54 5f |label,gv|adr(s,T_|
|000027f0| 4c 42 4c 29 2c 5f 65 78 | 69 74 6c 70 29 3b 0a 09 |LBL),_ex|itlp);..|
|00002800| 09 09 7d 0a 09 09 7c 20 | 52 45 41 44 20 0a 09 09 |..}...| |READ ...|
|00002810| 09 7b 20 62 75 6e 64 6c | 65 28 32 2c 5f 70 75 73 |.{ bundl|e(2,_pus|
|00002820| 68 73 74 61 74 65 2c 4d | 5f 52 45 41 44 29 3b 20 |hstate,M|_READ); |
|00002830| 7d 0a 09 09 20 20 76 61 | 72 5f 6c 73 74 0a 09 09 |}... va|r_lst...|
|00002840| 09 7b 20 62 75 6e 64 6c | 65 28 31 2c 5f 70 6f 70 |.{ bundl|e(1,_pop|
|00002850| 73 74 61 74 65 29 3b 20 | 7d 0a 09 09 7c 20 44 41 |state); |}...| DA|
|00002860| 54 41 20 0a 09 09 09 7b | 20 62 75 6e 64 6c 65 28 |TA ....{| bundle(|
|00002870| 32 2c 5f 64 61 74 61 2c | 30 29 3b 20 7d 0a 09 09 |2,_data,|0); }...|
|00002880| 20 20 20 64 61 74 61 5f | 6c 73 74 0a 09 09 7c 20 | data_|lst...| |
|00002890| 4c 4f 4f 50 0a 09 09 09 | 7b 0a 09 09 09 09 6c 70 |LOOP....|{.....lp|
|000028a0| 75 73 68 28 26 6c 70 73 | 74 6b 2c 6c 70 6d 61 78 |ush(&lps|tk,lpmax|
|000028b0| 29 3b 0a 09 09 09 09 73 | 70 72 69 6e 74 66 28 73 |);.....s|printf(s|
|000028c0| 2c 22 4c 50 25 64 22 2c | 6c 70 6d 61 78 2b 32 29 |,"LP%d",|lpmax+2)|
|000028d0| 3b 0a 09 09 09 09 62 75 | 6e 64 6c 65 28 32 2c 5f |;.....bu|ndle(2,_|
|000028e0| 72 6c 61 62 65 6c 2c 67 | 76 61 64 72 28 73 2c 54 |rlabel,g|vadr(s,T|
|000028f0| 5f 4c 42 4c 29 29 3b 0a | 09 09 09 09 73 70 72 69 |_LBL));.|....spri|
|00002900| 6e 74 66 28 73 2c 22 4c | 50 25 64 22 2c 6c 70 6d |ntf(s,"L|P%d",lpm|
|00002910| 61 78 2b 31 29 3b 0a 09 | 09 09 09 62 75 6e 64 6c |ax+1);..|...bundl|
|00002920| 65 28 33 2c 5f 72 6c 61 | 62 65 6c 2c 67 76 61 64 |e(3,_rla|bel,gvad|
|00002930| 72 28 73 2c 54 5f 4c 42 | 4c 29 2c 5f 65 6e 74 65 |r(s,T_LB|L),_ente|
|00002940| 72 29 3b 0a 09 09 09 09 | 73 70 72 69 6e 74 66 28 |r);.....|sprintf(|
|00002950| 73 2c 22 4c 50 25 64 22 | 2c 6c 70 6d 61 78 29 3b |s,"LP%d"|,lpmax);|
|00002960| 0a 09 09 09 09 62 75 6e | 64 6c 65 28 32 2c 5f 64 |.....bun|dle(2,_d|
|00002970| 6c 61 62 65 6c 2c 67 76 | 61 64 72 28 73 2c 54 5f |label,gv|adr(s,T_|
|00002980| 4c 42 4c 29 29 3b 0a 09 | 09 09 09 6c 70 6d 61 78 |LBL));..|...lpmax|
|00002990| 20 2b 3d 20 33 3b 0a 09 | 09 09 7d 0a 09 09 7c 20 | += 3;..|..}...| |
|000029a0| 45 58 49 54 49 46 20 62 | 65 78 70 72 0a 09 09 09 |EXITIF b|expr....|
|000029b0| 7b 0a 09 09 09 09 69 20 | 3d 20 6c 74 6f 70 28 26 |{.....i |= ltop(&|
|000029c0| 6c 70 73 74 6b 29 3b 0a | 09 09 09 09 73 70 72 69 |lpstk);.|....spri|
|000029d0| 6e 74 66 28 73 2c 22 4c | 50 25 64 22 2c 69 2b 31 |ntf(s,"L|P%d",i+1|
|000029e0| 29 3b 0a 09 09 09 09 62 | 75 6e 64 6c 65 28 35 2c |);.....b|undle(5,|
|000029f0| 5f 6e 6f 74 2c 5f 72 6c | 61 62 65 6c 2c 67 76 61 |_not,_rl|abel,gva|
|00002a00| 64 72 28 73 2c 54 5f 4c | 42 4c 29 2c 5f 69 66 2c |dr(s,T_L|BL),_if,|
|00002a10| 30 29 3b 0a 09 09 09 7d | 0a 09 09 7c 20 50 4f 4f |0);....}|...| POO|
|00002a20| 4c 0a 09 09 09 7b 0a 09 | 09 09 09 69 20 3d 20 6c |L....{..|...i = l|
|00002a30| 70 6f 70 28 26 6c 70 73 | 74 6b 29 3b 0a 09 09 09 |pop(&lps|tk);....|
|00002a40| 09 73 70 72 69 6e 74 66 | 28 73 2c 22 4c 50 25 64 |.sprintf|(s,"LP%d|
|00002a50| 22 2c 69 2b 32 29 3b 0a | 09 09 09 09 62 75 6e 64 |",i+2);.|....bund|
|00002a60| 6c 65 28 32 2c 5f 64 6c | 61 62 65 6c 2c 67 76 61 |le(2,_dl|abel,gva|
|00002a70| 64 72 28 73 2c 54 5f 4c | 42 4c 29 29 3b 0a 09 09 |dr(s,T_L|BL));...|
|00002a80| 09 09 73 70 72 69 6e 74 | 66 28 73 2c 22 4c 50 25 |..sprint|f(s,"LP%|
|00002a90| 64 22 2c 69 29 3b 0a 09 | 09 09 09 62 75 6e 64 6c |d",i);..|...bundl|
|00002aa0| 65 28 34 2c 5f 72 6c 61 | 62 65 6c 2c 67 76 61 64 |e(4,_rla|bel,gvad|
|00002ab0| 72 28 73 2c 54 5f 4c 42 | 4c 29 2c 5f 67 6f 74 6f |r(s,T_LB|L),_goto|
|00002ac0| 2c 30 29 3b 0a 09 09 09 | 09 73 70 72 69 6e 74 66 |,0);....|.sprintf|
|00002ad0| 28 73 2c 22 4c 50 25 64 | 22 2c 69 2b 31 29 3b 0a |(s,"LP%d|",i+1);.|
|00002ae0| 09 09 09 09 62 75 6e 64 | 6c 65 28 33 2c 5f 64 6c |....bund|le(3,_dl|
|00002af0| 61 62 65 6c 2c 67 76 61 | 64 72 28 73 2c 54 5f 4c |abel,gva|dr(s,T_L|
|00002b00| 42 4c 29 2c 5f 65 78 69 | 74 6c 70 29 3b 0a 09 09 |BL),_exi|tlp);...|
|00002b10| 09 7d 0a 09 09 7c 20 57 | 48 49 4c 45 0a 09 09 09 |.}...| W|HILE....|
|00002b20| 7b 0a 09 09 09 09 6c 70 | 75 73 68 28 26 77 68 73 |{.....lp|ush(&whs|
|00002b30| 74 6b 2c 77 68 6d 61 78 | 29 3b 0a 09 09 09 09 73 |tk,whmax|);.....s|
|00002b40| 70 72 69 6e 74 66 28 73 | 2c 22 57 48 25 64 22 2c |printf(s|,"WH%d",|
|00002b50| 77 68 6d 61 78 2b 32 29 | 3b 0a 09 09 09 09 62 75 |whmax+2)|;.....bu|
|00002b60| 6e 64 6c 65 28 32 2c 5f | 72 6c 61 62 65 6c 2c 67 |ndle(2,_|rlabel,g|
|00002b70| 76 61 64 72 28 73 2c 54 | 5f 4c 42 4c 29 29 3b 0a |vadr(s,T|_LBL));.|
|00002b80| 09 09 09 09 73 70 72 69 | 6e 74 66 28 73 2c 22 57 |....spri|ntf(s,"W|
|00002b90| 48 25 64 22 2c 77 68 6d | 61 78 2b 31 29 3b 0a 09 |H%d",whm|ax+1);..|
|00002ba0| 09 09 09 62 75 6e 64 6c | 65 28 33 2c 5f 72 6c 61 |...bundl|e(3,_rla|
|00002bb0| 62 65 6c 2c 67 76 61 64 | 72 28 73 2c 54 5f 4c 42 |bel,gvad|r(s,T_LB|
|00002bc0| 4c 29 2c 5f 65 6e 74 65 | 72 29 3b 0a 09 09 09 09 |L),_ente|r);.....|
|00002bd0| 73 70 72 69 6e 74 66 28 | 73 2c 22 57 48 25 64 22 |sprintf(|s,"WH%d"|
|00002be0| 2c 77 68 6d 61 78 29 3b | 0a 09 09 09 09 62 75 6e |,whmax);|.....bun|
|00002bf0| 64 6c 65 28 32 2c 5f 72 | 6c 61 62 65 6c 2c 67 76 |dle(2,_r|label,gv|
|00002c00| 61 64 72 28 73 2c 54 5f | 4c 42 4c 29 29 3b 0a 09 |adr(s,T_|LBL));..|
|00002c10| 09 09 09 77 68 6d 61 78 | 20 2b 3d 20 33 3b 0a 09 |...whmax| += 3;..|
|00002c20| 09 09 7d 0a 09 09 20 20 | 62 65 78 70 72 0a 09 09 |..}... |bexpr...|
|00002c30| 09 7b 0a 09 09 09 09 69 | 20 3d 20 6c 74 6f 70 28 |.{.....i| = ltop(|
|00002c40| 26 77 68 73 74 6b 29 3b | 0a 09 09 09 09 73 70 72 |&whstk);|.....spr|
|00002c50| 69 6e 74 66 28 73 2c 22 | 57 48 25 64 22 2c 69 2b |intf(s,"|WH%d",i+|
|00002c60| 31 29 3b 0a 09 09 09 09 | 62 75 6e 64 6c 65 28 34 |1);.....|bundle(4|
|00002c70| 2c 5f 72 6c 61 62 65 6c | 2c 67 76 61 64 72 28 73 |,_rlabel|,gvadr(s|
|00002c80| 2c 54 2b 4c 42 4c 29 2c | 5f 69 66 2c 30 29 3b 0a |,T+LBL),|_if,0);.|
|00002c90| 09 09 09 7d 0a 09 09 7c | 20 45 4c 49 48 57 0a 09 |...}...|| ELIHW..|
|00002ca0| 09 09 7b 0a 09 09 09 09 | 69 20 3d 20 6c 70 6f 70 |..{.....|i = lpop|
|00002cb0| 28 26 77 68 73 74 6b 29 | 3b 0a 09 09 09 09 73 70 |(&whstk)|;.....sp|
|00002cc0| 72 69 6e 74 66 28 73 2c | 22 57 48 25 64 22 2c 69 |rintf(s,|"WH%d",i|
|00002cd0| 2b 32 29 3b 0a 09 09 09 | 09 62 75 6e 64 6c 65 28 |+2);....|.bundle(|
|00002ce0| 32 2c 5f 64 6c 61 62 65 | 6c 2c 67 76 61 64 72 28 |2,_dlabe|l,gvadr(|
|00002cf0| 73 2c 54 5f 4c 42 4c 29 | 29 3b 0a 09 09 09 09 73 |s,T_LBL)|);.....s|
|00002d00| 70 72 69 6e 74 66 28 73 | 2c 22 57 48 25 64 22 2c |printf(s|,"WH%d",|
|00002d10| 69 29 0a 09 09 09 09 62 | 75 6e 64 6c 65 28 34 2c |i).....b|undle(4,|
|00002d20| 5f 72 6c 61 62 65 6c 2c | 67 76 61 64 72 28 73 2c |_rlabel,|gvadr(s,|
|00002d30| 54 5f 4c 42 4c 29 2c 5f | 67 6f 74 6f 2c 30 29 3b |T_LBL),_|goto,0);|
|00002d40| 0a 09 09 09 09 73 70 72 | 69 6e 74 66 28 73 2c 22 |.....spr|intf(s,"|
|00002d50| 57 48 25 64 22 2c 69 2b | 31 29 3b 0a 09 09 09 09 |WH%d",i+|1);.....|
|00002d60| 62 75 6e 64 6c 65 28 33 | 2c 5f 64 6c 61 62 65 6c |bundle(3|,_dlabel|
|00002d70| 2c 67 76 61 64 72 28 73 | 2c 54 5f 4c 42 4c 29 2c |,gvadr(s|,T_LBL),|
|00002d80| 5f 65 78 69 74 6c 70 29 | 3b 0a 09 09 09 7d 0a 09 |_exitlp)|;....}..|
|00002d90| 09 7c 20 52 45 50 45 41 | 54 0a 09 09 09 7b 0a 09 |.| REPEA|T....{..|
|00002da0| 09 09 09 6c 70 75 73 68 | 28 26 72 65 70 73 74 6b |...lpush|(&repstk|
|00002db0| 2c 72 65 70 6d 61 78 29 | 3b 0a 09 09 09 09 73 70 |,repmax)|;.....sp|
|00002dc0| 72 69 6e 74 66 28 73 2c | 22 52 45 50 25 64 22 2c |rintf(s,|"REP%d",|
|00002dd0| 72 65 70 6d 61 78 2b 31 | 29 3b 0a 09 09 09 09 62 |repmax+1|);.....b|
|00002de0| 75 6e 64 6c 65 28 32 2c | 5f 72 6c 61 62 65 6c 2c |undle(2,|_rlabel,|
|00002df0| 67 76 61 64 72 28 73 2c | 54 5f 4c 42 4c 29 29 3b |gvadr(s,|T_LBL));|
|00002e00| 0a 09 09 09 09 73 70 72 | 69 6e 74 66 28 73 2c 22 |.....spr|intf(s,"|
|00002e10| 52 45 50 25 64 22 2c 72 | 65 70 6d 61 78 2b 32 29 |REP%d",r|epmax+2)|
|00002e20| 3b 0a 09 09 09 09 62 75 | 6e 64 6c 65 28 33 2c 5f |;.....bu|ndle(3,_|
|00002e30| 72 6c 61 62 65 6c 2c 67 | 76 61 64 72 28 73 2c 54 |rlabel,g|vadr(s,T|
|00002e40| 5f 4c 42 4c 29 2c 5f 65 | 6e 74 65 72 29 3b 0a 09 |_LBL),_e|nter);..|
|00002e50| 09 09 09 73 70 72 69 6e | 74 66 28 73 2c 22 52 45 |...sprin|tf(s,"RE|
|00002e60| 50 25 64 22 2c 72 65 70 | 6d 61 78 29 3b 0a 09 09 |P%d",rep|max);...|
|00002e70| 09 09 62 75 6e 64 6c 65 | 28 32 2c 5f 64 6c 61 62 |..bundle|(2,_dlab|
|00002e80| 65 6c 2c 67 76 61 64 72 | 28 73 2c 54 5f 4c 42 4c |el,gvadr|(s,T_LBL|
|00002e90| 29 29 3b 0a 09 09 09 09 | 72 65 70 6d 61 78 20 2b |));.....|repmax +|
|00002ea0| 3d 20 33 3b 0a 09 09 09 | 7d 0a 09 09 7c 20 55 4e |= 3;....|}...| UN|
|00002eb0| 54 49 4c 0a 09 09 09 7b | 0a 09 09 09 09 69 20 3d |TIL....{|.....i =|
|00002ec0| 20 6c 74 6f 70 28 26 72 | 65 70 73 74 6b 29 3b 0a | ltop(&r|epstk);.|
|00002ed0| 09 09 09 09 73 70 72 69 | 6e 74 66 28 73 2c 22 52 |....spri|ntf(s,"R|
|00002ee0| 45 50 25 64 22 2c 69 2b | 31 29 3b 0a 09 09 09 09 |EP%d",i+|1);.....|
|00002ef0| 62 75 6e 64 6c 65 28 32 | 2c 5f 64 6c 61 62 65 6c |bundle(2|,_dlabel|
|00002f00| 2c 67 76 61 64 72 28 73 | 2c 54 5f 4c 42 4c 29 29 |,gvadr(s|,T_LBL))|
|00002f10| 3b 0a 09 09 09 7d 0a 09 | 09 20 20 62 65 78 70 72 |;....}..|. bexpr|
|00002f20| 0a 09 09 09 7b 0a 09 09 | 09 09 69 20 3d 20 6c 70 |....{...|..i = lp|
|00002f30| 6f 70 28 26 72 65 70 73 | 74 6b 29 3b 0a 09 09 09 |op(&reps|tk);....|
|00002f40| 09 73 70 72 69 6e 74 66 | 28 73 2c 22 52 45 50 25 |.sprintf|(s,"REP%|
|00002f50| 64 22 2c 69 29 3b 0a 09 | 09 09 09 62 75 6e 64 6c |d",i);..|...bundl|
|00002f60| 65 28 35 2c 5f 6e 6f 74 | 2c 5f 72 6c 61 62 65 6c |e(5,_not|,_rlabel|
|00002f70| 2c 67 76 61 64 72 28 73 | 2c 54 5f 4c 42 4c 29 2c |,gvadr(s|,T_LBL),|
|00002f80| 5f 69 66 2c 30 29 3b 0a | 09 09 09 09 73 70 72 69 |_if,0);.|....spri|
|00002f90| 6e 74 66 28 73 2c 22 52 | 45 50 25 64 22 2c 69 2b |ntf(s,"R|EP%d",i+|
|00002fa0| 32 29 3b 0a 09 09 09 09 | 62 75 6e 64 6c 65 28 33 |2);.....|bundle(3|
|00002fb0| 2c 5f 64 6c 61 62 65 6c | 2c 67 76 61 64 72 28 73 |,_dlabel|,gvadr(s|
|00002fc0| 2c 54 5f 4c 42 4c 29 2c | 5f 65 78 69 74 6c 70 29 |,T_LBL),|_exitlp)|
|00002fd0| 3b 0a 09 09 09 7d 0a 09 | 09 3b 0a 0a 6e 76 61 72 |;....}..|.;..nvar|
|00002fe0| 09 09 3a 20 69 76 61 72 | 0a 09 09 7c 20 72 76 61 |..: ivar|...| rva|
|00002ff0| 72 0a 09 09 3b 0a 0a 6c | 65 74 5f 78 70 72 09 09 |r...;..l|et_xpr..|
|00003000| 3a 20 69 76 61 72 20 27 | 3d 27 20 72 65 78 70 72 |: ivar '|=' rexpr|
|00003010| 0a 09 09 09 7b 20 62 75 | 6e 64 6c 65 28 34 2c 5f |....{ bu|ndle(4,_|
|00003020| 72 74 6f 69 2c 5f 73 74 | 6f 72 65 2c 54 5f 44 42 |rtoi,_st|ore,T_DB|
|00003030| 4c 2c 5f 70 6f 70 29 3b | 20 7d 0a 09 09 7c 20 72 |L,_pop);| }...| r|
|00003040| 76 61 72 20 27 3d 27 20 | 72 65 78 70 72 0a 09 09 |var '=' |rexpr...|
|00003050| 09 7b 20 62 75 6e 64 6c | 65 28 33 2c 5f 73 74 6f |.{ bundl|e(3,_sto|
|00003060| 72 65 2c 54 5f 44 42 4c | 2c 5f 70 6f 70 29 3b 20 |re,T_DBL|,_pop); |
|00003070| 7d 0a 09 09 7c 20 73 76 | 61 72 20 27 3d 27 20 73 |}...| sv|ar '=' s|
|00003080| 65 78 70 72 0a 09 09 09 | 7b 20 62 75 6e 64 6c 65 |expr....|{ bundle|
|00003090| 28 33 2c 5f 73 74 6f 72 | 65 2c 54 5f 43 48 52 2c |(3,_stor|e,T_CHR,|
|000030a0| 73 70 6f 70 29 3b 20 7d | 0a 09 09 3b 0a 0a 64 61 |spop); }|...;..da|
|000030b0| 74 61 5f 6c 73 74 09 3a | 20 72 65 78 70 72 0a 09 |ta_lst.:| rexpr..|
|000030c0| 09 09 7b 20 62 75 6e 64 | 6c 65 28 32 2c 5f 64 73 |..{ bund|le(2,_ds|
|000030d0| 65 70 2c 30 29 3b 20 7d | 0a 09 09 7c 20 73 65 78 |ep,0); }|...| sex|
|000030e0| 70 72 0a 09 09 09 7b 20 | 62 75 6e 64 6c 65 28 31 |pr....{ |bundle(1|
|000030f0| 2c 5f 64 73 65 70 29 3b | 20 7d 0a 09 09 7c 20 64 |,_dsep);| }...| d|
|00003100| 61 74 61 5f 6c 73 74 20 | 27 2c 27 20 72 65 78 70 |ata_lst |',' rexp|
|00003110| 72 0a 09 09 09 7b 20 62 | 75 6e 64 6c 65 28 31 2c |r....{ b|undle(1,|
|00003120| 5f 64 73 65 70 29 3b 20 | 7d 0a 09 09 7c 20 64 61 |_dsep); |}...| da|
|00003130| 74 61 5f 6c 73 74 20 27 | 2c 27 20 73 65 78 70 72 |ta_lst '|,' sexpr|
|00003140| 0a 09 09 09 7b 20 62 75 | 6e 64 6c 65 28 31 2c 5f |....{ bu|ndle(1,_|
|00003150| 64 73 65 70 29 3b 20 7d | 0a 09 09 3b 0a 0a 69 6e |dsep); }|...;..in|
|00003160| 64 5f 6c 73 74 09 09 3a | 20 72 65 78 70 72 0a 09 |d_lst..:| rexpr..|
|00003170| 09 7c 20 69 6e 64 5f 6c | 73 74 20 27 2c 27 20 72 |.| ind_l|st ',' r|
|00003180| 65 78 70 72 0a 09 09 3b | 0a 0a 66 6f 72 5f 73 74 |expr...;|..for_st|
|00003190| 65 70 09 3a 20 2f 2a 20 | 65 6d 70 74 79 20 2a 2f |ep.: /* |empty */|
|000031a0| 0a 09 09 09 7b 20 62 75 | 6e 64 6c 65 28 33 2c 5f |....{ bu|ndle(3,_|
|000031b0| 69 63 6f 6e 2c 28 6c 6f | 6e 67 29 30 29 3b 20 7d |icon,(lo|ng)0); }|
|000031c0| 0a 09 09 7c 20 53 54 45 | 50 20 72 65 78 70 72 0a |...| STE|P rexpr.|
|000031d0| 09 09 3b 0a 0a 69 66 5f | 65 6c 73 65 09 09 3a 20 |..;..if_|else..: |
|000031e0| 2f 2a 20 65 6d 70 74 79 | 20 2a 2f 0a 09 09 09 7b |/* empty| */....{|
|000031f0| 0a 09 09 09 09 69 20 3d | 20 6c 70 6f 70 28 26 69 |.....i =| lpop(&i|
|00003200| 66 73 74 6b 29 3b 0a 09 | 09 09 09 73 70 72 69 6e |fstk);..|...sprin|
|00003210| 74 66 28 73 2c 22 49 46 | 25 64 22 2c 69 29 3b 0a |tf(s,"IF|%d",i);.|
|00003220| 09 09 09 09 62 75 6e 64 | 6c 65 28 32 2c 5f 64 6c |....bund|le(2,_dl|
|00003230| 61 62 65 6c 2c 67 76 61 | 64 72 28 73 2c 54 5f 4c |abel,gva|dr(s,T_L|
|00003240| 42 4c 29 29 3b 0a 09 09 | 09 09 73 70 72 69 6e 74 |BL));...|..sprint|
|00003250| 66 28 73 2c 22 49 46 25 | 64 22 2c 69 2b 31 29 3b |f(s,"IF%|d",i+1);|
|00003260| 0a 09 09 09 09 62 75 6e | 64 6c 65 28 32 2c 5f 64 |.....bun|dle(2,_d|
|00003270| 6c 61 62 65 6c 2c 67 76 | 61 64 72 28 73 2c 54 5f |label,gv|adr(s,T_|
|00003280| 4c 42 4c 29 29 3b 0a 09 | 09 09 7d 0a 09 09 7c 20 |LBL));..|..}...| |
|00003290| 45 4c 53 45 20 0a 09 09 | 09 7b 0a 09 09 09 09 69 |ELSE ...|.{.....i|
|000032a0| 20 3d 20 6c 74 6f 70 28 | 26 69 66 73 74 6b 29 3b | = ltop(|&ifstk);|
|000032b0| 0a 09 09 09 09 73 70 72 | 69 6e 74 66 28 73 2c 22 |.....spr|intf(s,"|
|000032c0| 49 46 25 64 22 2c 69 29 | 3b 0a 09 09 09 09 62 75 |IF%d",i)|;.....bu|
|000032d0| 6e 64 6c 65 28 32 2c 5f | 64 6c 61 62 65 6c 2c 67 |ndle(2,_|dlabel,g|
|000032e0| 76 61 64 72 28 73 2c 54 | 5f 4c 42 4c 29 29 3b 0a |vadr(s,T|_LBL));.|
|000032f0| 09 09 09 7d 0a 09 09 20 | 20 73 74 61 74 0a 09 09 |...}... | stat...|
|00003300| 09 7b 0a 09 09 09 09 69 | 20 3d 20 6c 70 6f 70 28 |.{.....i| = lpop(|
|00003310| 26 69 66 73 74 6b 29 3b | 0a 09 09 09 09 73 70 72 |&ifstk);|.....spr|
|00003320| 69 6e 74 66 28 73 2c 22 | 49 46 25 64 22 2c 69 2b |intf(s,"|IF%d",i+|
|00003330| 31 29 3b 0a 09 09 09 09 | 62 75 6e 64 6c 65 28 32 |1);.....|bundle(2|
|00003340| 2c 5f 64 6c 61 62 65 6c | 2c 67 76 61 64 72 28 73 |,_dlabel|,gvadr(s|
|00003350| 2c 54 5f 4c 42 4c 29 29 | 3b 0a 09 09 09 7d 0a 09 |,T_LBL))|;....}..|
|00003360| 09 3b 0a 0a 0a 70 65 09 | 09 3a 20 73 65 78 70 72 |.;...pe.|.: sexpr|
|00003370| 20 27 2c 27 0a 09 09 09 | 7b 20 62 75 6e 64 6c 65 | ','....|{ bundle|
|00003380| 28 33 2c 5f 73 63 6f 6e | 2c 22 22 2c 5f 63 6f 6d |(3,_scon|,"",_com|
|00003390| 6d 61 29 3b 20 7d 0a 09 | 09 7c 20 73 65 78 70 72 |ma); }..|.| sexpr|
|000033a0| 20 27 3b 27 0a 09 09 7c | 20 73 65 78 70 72 0a 09 | ';'...|| sexpr..|
|000033b0| 09 09 7b 20 62 75 6e 64 | 6c 65 28 33 2c 5f 73 63 |..{ bund|le(3,_sc|
|000033c0| 6f 6e 2c 22 5c 5c 6e 22 | 2c 5f 73 63 6f 6c 6f 6e |on,"\\n"|,_scolon|
|000033d0| 29 3b 20 7d 0a 09 09 7c | 20 2f 2a 20 65 6d 70 74 |); }...|| /* empt|
|000033e0| 79 20 2a 2f 0a 09 09 09 | 7b 20 62 75 6e 64 6c 65 |y */....|{ bundle|
|000033f0| 28 32 2c 5f 73 63 6f 6e | 2c 22 5c 5c 6e 22 29 3b |(2,_scon|,"\\n");|
|00003400| 20 7d 0a 09 09 3b 0a 0a | 0a 76 61 72 5f 6c 73 74 | }...;..|.var_lst|
|00003410| 09 09 3a 20 69 76 61 72 | 0a 09 09 7c 20 72 76 61 |..: ivar|...| rva|
|00003420| 72 0a 09 09 7c 20 73 76 | 61 72 0a 09 09 7c 20 76 |r...| sv|ar...| v|
|00003430| 61 72 5f 6c 73 74 20 27 | 2c 27 20 76 61 72 5f 6c |ar_lst '|,' var_l|
|00003440| 73 74 0a 09 09 3b 0a 0a | 73 65 78 70 72 09 09 3a |st...;..|sexpr..:|
|00003450| 20 53 43 4f 4e 53 54 0a | 09 09 09 7b 20 70 3d 6d | SCONST.|...{ p=m|
|00003460| 79 61 6c 6c 6f 63 28 79 | 79 6c 65 6e 67 29 3b 20 |yalloc(y|yleng); |
|00003470| 73 74 72 63 70 79 28 70 | 2c 24 31 29 3b 20 62 75 |strcpy(p|,$1); bu|
|00003480| 6e 64 6c 65 28 32 2c 5f | 73 63 6f 6e 2c 70 29 3b |ndle(2,_|scon,p);|
|00003490| 20 7d 0a 09 09 7c 20 73 | 76 61 72 0a 09 09 09 7b | }...| s|var....{|
|000034a0| 20 62 75 6e 64 6c 65 28 | 32 2c 5f 76 61 6c 2c 54 | bundle(|2,_val,T|
|000034b0| 5f 43 48 52 29 3b 20 7d | 0a 09 09 7c 20 72 65 78 |_CHR); }|...| rex|
|000034c0| 70 72 0a 09 09 09 7b 20 | 62 75 6e 64 6c 65 28 31 |pr....{ |bundle(1|
|000034d0| 2c 5f 72 74 6f 61 29 3b | 20 7d 0a 09 09 7c 20 73 |,_rtoa);| }...| s|
|000034e0| 76 61 72 20 27 3d 27 20 | 73 65 78 70 72 0a 09 09 |var '=' |sexpr...|
|000034f0| 09 7b 20 62 75 6e 64 6c | 65 28 32 2c 5f 73 74 6f |.{ bundl|e(2,_sto|
|00003500| 72 65 2c 54 5f 43 48 52 | 29 3b 20 7d 0a 09 09 7c |re,T_CHR|); }...||
|00003510| 20 73 65 78 70 72 20 27 | 3b 27 20 73 65 78 70 72 | sexpr '|;' sexpr|
|00003520| 0a 09 09 09 7b 20 62 75 | 6e 64 6c 65 28 31 2c 5f |....{ bu|ndle(1,_|
|00003530| 73 63 6f 6c 6f 6e 29 3b | 20 7d 0a 09 09 7c 20 73 |scolon);| }...| s|
|00003540| 65 78 70 72 20 27 2b 27 | 20 73 65 78 70 72 0a 09 |expr '+'| sexpr..|
|00003550| 09 09 7b 20 62 75 6e 64 | 6c 65 28 31 2c 5f 73 63 |..{ bund|le(1,_sc|
|00003560| 6f 6c 6f 6e 29 3b 20 7d | 0a 09 09 7c 20 73 65 78 |olon); }|...| sex|
|00003570| 70 72 20 27 2c 27 20 73 | 65 78 70 72 0a 09 09 09 |pr ',' s|expr....|
|00003580| 7b 20 62 75 6e 64 6c 65 | 28 31 2c 5f 63 6f 6d 6d |{ bundle|(1,_comm|
|00003590| 61 29 3b 20 7d 0a 09 09 | 7c 20 27 28 27 20 73 65 |a); }...|| '(' se|
|000035a0| 78 70 72 20 27 29 27 0a | 09 09 3b 0a 73 62 65 09 |xpr ')'.|..;.sbe.|
|000035b0| 09 3a 20 73 65 78 70 72 | 20 45 51 55 41 4c 20 73 |.: sexpr| EQUAL s|
|000035c0| 65 78 70 72 0a 09 09 09 | 7b 20 62 75 6e 64 6c 65 |expr....|{ bundle|
|000035d0| 28 31 2c 5f 73 65 71 29 | 3b 20 7d 0a 09 09 7c 20 |(1,_seq)|; }...| |
|000035e0| 73 65 78 70 72 20 4e 45 | 51 20 73 65 78 70 72 0a |sexpr NE|Q sexpr.|
|000035f0| 09 09 09 7b 20 62 75 6e | 64 6c 65 28 31 2c 5f 73 |...{ bun|dle(1,_s|
|00003600| 6e 65 71 29 3b 20 7d 0a | 09 09 7c 20 73 65 78 70 |neq); }.|..| sexp|
|00003610| 72 20 4c 45 20 73 65 78 | 70 72 0a 09 09 09 7b 20 |r LE sex|pr....{ |
|00003620| 62 75 6e 64 6c 65 28 31 | 2c 5f 73 6c 65 71 29 3b |bundle(1|,_sleq);|
|00003630| 20 7d 0a 09 09 7c 20 73 | 65 78 70 72 20 4c 54 20 | }...| s|expr LT |
|00003640| 73 65 78 70 72 0a 09 09 | 09 7b 20 62 75 6e 64 6c |sexpr...|.{ bundl|
|00003650| 65 28 31 2c 5f 73 6c 74 | 29 3b 20 7d 0a 09 09 7c |e(1,_slt|); }...||
|00003660| 20 73 65 78 70 72 20 47 | 45 20 73 65 78 70 72 0a | sexpr G|E sexpr.|
|00003670| 09 09 09 7b 20 62 75 6e | 64 6c 65 28 31 2c 5f 73 |...{ bun|dle(1,_s|
|00003680| 67 65 71 29 3b 20 7d 0a | 09 09 7c 20 73 65 78 70 |geq); }.|..| sexp|
|00003690| 72 20 47 54 20 73 65 78 | 70 72 0a 09 09 09 7b 20 |r GT sex|pr....{ |
|000036a0| 62 75 6e 64 6c 65 28 31 | 2c 5f 73 67 74 29 3b 20 |bundle(1|,_sgt); |
|000036b0| 7d 0a 09 09 3b 0a 0a 69 | 76 61 72 09 09 3a 20 49 |}...;..i|var..: I|
|000036c0| 57 4f 52 44 0a 09 09 09 | 7b 20 62 75 6e 64 6c 65 |WORD....|{ bundle|
|000036d0| 28 32 2c 5f 76 61 72 2c | 67 76 61 64 72 28 24 31 |(2,_var,|gvadr($1|
|000036e0| 2c 54 5f 49 4e 54 29 29 | 3b 20 7d 0a 09 09 7c 20 |,T_INT))|; }...| |
|000036f0| 49 57 4f 52 44 20 27 28 | 27 20 0a 09 09 09 7b 20 |IWORD '(|' ....{ |
|00003700| 62 75 6e 64 6c 65 28 32 | 2c 5f 70 75 73 68 73 74 |bundle(2|,_pushst|
|00003710| 61 74 65 2c 4d 5f 45 58 | 45 43 55 54 45 29 3b 20 |ate,M_EX|ECUTE); |
|00003720| 7d 0a 09 09 20 20 69 6e | 64 5f 6c 73 74 20 27 29 |}... in|d_lst ')|
|00003730| 27 0a 09 09 09 7b 20 62 | 75 6e 64 6c 65 28 33 2c |'....{ b|undle(3,|
|00003740| 5f 70 6f 70 73 74 61 74 | 65 2c 5f 76 61 72 2c 67 |_popstat|e,_var,g|
|00003750| 76 61 64 72 28 24 31 2c | 54 5f 49 4e 54 2b 51 5f |vadr($1,|T_INT+Q_|
|00003760| 41 52 59 29 29 3b 20 7d | 0a 09 09 3b 0a 72 76 61 |ARY)); }|...;.rva|
|00003770| 72 09 09 3a 20 52 57 4f | 52 44 0a 09 09 09 7b 20 |r..: RWO|RD....{ |
|00003780| 62 75 6e 64 6c 65 28 32 | 2c 5f 76 61 72 2c 67 76 |bundle(2|,_var,gv|
|00003790| 61 64 72 28 24 31 2c 54 | 5f 44 42 4c 29 29 3b 20 |adr($1,T|_DBL)); |
|000037a0| 7d 0a 09 09 7c 20 52 57 | 4f 52 44 20 27 28 27 20 |}...| RW|ORD '(' |
|000037b0| 0a 09 09 09 7b 20 62 75 | 6e 64 6c 65 28 32 2c 5f |....{ bu|ndle(2,_|
|000037c0| 70 75 73 68 73 74 61 74 | 65 2c 4d 5f 45 58 45 43 |pushstat|e,M_EXEC|
|000037d0| 55 54 45 29 3b 20 7d 0a | 09 09 20 20 69 6e 64 5f |UTE); }.|.. ind_|
|000037e0| 6c 73 74 20 27 29 27 0a | 09 09 09 7b 20 62 75 6e |lst ')'.|...{ bun|
|000037f0| 64 6c 65 28 33 2c 5f 70 | 6f 70 73 74 61 74 65 2c |dle(3,_p|opstate,|
|00003800| 5f 76 61 72 2c 67 76 61 | 64 72 28 24 31 2c 54 5f |_var,gva|dr($1,T_|
|00003810| 44 42 4c 2b 51 5f 41 52 | 59 29 29 3b 20 7d 0a 09 |DBL+Q_AR|Y)); }..|
|00003820| 09 3b 0a 0a 73 76 61 72 | 09 09 3a 20 53 57 4f 52 |.;..svar|..: SWOR|
|00003830| 44 0a 09 09 09 7b 20 62 | 75 6e 64 6c 65 28 32 2c |D....{ b|undle(2,|
|00003840| 5f 76 61 72 2c 67 76 61 | 64 72 28 24 31 2c 54 5f |_var,gva|dr($1,T_|
|00003850| 43 48 52 29 29 3b 20 7d | 0a 09 09 7c 20 53 57 4f |CHR)); }|...| SWO|
|00003860| 52 44 20 27 28 27 20 0a | 09 09 09 7b 20 62 75 6e |RD '(' .|...{ bun|
|00003870| 64 6c 65 28 32 2c 5f 70 | 75 73 68 73 74 61 74 65 |dle(2,_p|ushstate|
|00003880| 2c 4d 5f 45 58 45 43 55 | 54 45 29 3b 20 7d 0a 09 |,M_EXECU|TE); }..|
|00003890| 09 20 20 69 6e 64 5f 6c | 73 74 20 27 29 27 0a 09 |. ind_l|st ')'..|
|000038a0| 09 09 7b 20 62 75 6e 64 | 6c 65 28 33 2c 5f 70 6f |..{ bund|le(3,_po|
|000038b0| 70 73 74 61 74 65 2c 5f | 76 61 72 2c 67 76 61 64 |pstate,_|var,gvad|
|000038c0| 72 28 24 31 2c 54 5f 43 | 48 52 2b 51 5f 41 52 59 |r($1,T_C|HR+Q_ARY|
|000038d0| 29 29 3b 20 7d 0a 09 09 | 3b 0a 0a 0a 0a 72 65 78 |)); }...|;....rex|
|000038e0| 70 72 09 09 3a 20 72 76 | 61 72 0a 09 09 09 7b 20 |pr..: rv|ar....{ |
|000038f0| 62 75 6e 64 6c 65 28 32 | 2c 5f 76 61 6c 2c 54 5f |bundle(2|,_val,T_|
|00003900| 44 42 4c 29 3b 20 7d 0a | 09 09 7c 20 52 45 41 4c |DBL); }.|..| REAL|
|00003910| 0a 09 09 09 7b 20 62 75 | 6e 64 6c 65 28 35 2c 5f |....{ bu|ndle(5,_|
|00003920| 72 63 6f 6e 2c 28 64 6f | 75 62 6c 65 29 61 74 6f |rcon,(do|uble)ato|
|00003930| 66 28 24 31 29 29 3b 20 | 7d 0a 09 09 7c 20 49 4e |f($1)); |}...| IN|
|00003940| 54 45 47 45 52 0a 09 09 | 09 7b 20 62 75 6e 64 6c |TEGER...|.{ bundl|
|00003950| 65 28 35 2c 5f 72 63 6f | 6e 2c 28 64 6f 75 62 6c |e(5,_rco|n,(doubl|
|00003960| 65 29 61 74 6f 66 28 24 | 31 29 29 3b 20 7d 0a 09 |e)atof($|1)); }..|
|00003970| 09 7c 20 69 76 61 72 0a | 09 09 09 7b 20 62 75 6e |.| ivar.|...{ bun|
|00003980| 64 6c 65 28 33 2c 5f 76 | 61 6c 2c 54 5f 49 4e 54 |dle(3,_v|al,T_INT|
|00003990| 2c 5f 69 74 6f 72 29 3b | 20 7d 0a 09 09 7c 20 72 |,_itor);| }...| r|
|000039a0| 76 61 72 20 27 3d 27 20 | 72 65 78 70 72 0a 09 09 |var '=' |rexpr...|
|000039b0| 09 7b 20 62 75 6e 64 6c | 65 28 32 2c 5f 73 74 6f |.{ bundl|e(2,_sto|
|000039c0| 72 65 2c 54 5f 44 42 4c | 29 3b 20 7d 0a 09 09 7c |re,T_DBL|); }...||
|000039d0| 20 27 28 27 20 72 65 78 | 70 72 20 27 29 27 0a 09 | '(' rex|pr ')'..|
|000039e0| 09 7c 20 72 65 78 70 72 | 20 27 2b 27 20 72 65 78 |.| rexpr| '+' rex|
|000039f0| 70 72 0a 09 09 09 7b 20 | 62 75 6e 64 6c 65 28 31 |pr....{ |bundle(1|
|00003a00| 2c 5f 72 61 64 64 29 3b | 20 7d 0a 09 09 7c 20 72 |,_radd);| }...| r|
|00003a10| 65 78 70 72 20 27 2d 27 | 20 72 65 78 70 72 0a 09 |expr '-'| rexpr..|
|00003a20| 09 09 7b 20 62 75 6e 64 | 6c 65 28 31 2c 5f 72 73 |..{ bund|le(1,_rs|
|00003a30| 75 62 29 3b 20 7d 0a 09 | 09 7c 20 72 65 78 70 72 |ub); }..|.| rexpr|
|00003a40| 20 27 2a 27 20 72 65 78 | 70 72 0a 09 09 09 7b 20 | '*' rex|pr....{ |
|00003a50| 62 75 6e 64 6c 65 28 31 | 2c 5f 72 6d 75 6c 74 29 |bundle(1|,_rmult)|
|00003a60| 3b 20 7d 0a 09 09 7c 20 | 72 65 78 70 72 20 27 2f |; }...| |rexpr '/|
|00003a70| 27 20 72 65 78 70 72 0a | 09 09 09 7b 20 62 75 6e |' rexpr.|...{ bun|
|00003a80| 64 6c 65 28 31 2c 5f 72 | 64 69 76 29 3b 20 7d 0a |dle(1,_r|div); }.|
|00003a90| 09 09 7c 20 27 2b 27 20 | 72 65 78 70 72 09 25 70 |..| '+' |rexpr.%p|
|00003aa0| 72 65 63 20 55 4e 41 52 | 59 0a 09 09 7c 20 27 2d |rec UNAR|Y...| '-|
|00003ab0| 27 20 72 65 78 70 72 09 | 25 70 72 65 63 20 55 4e |' rexpr.|%prec UN|
|00003ac0| 41 52 59 0a 09 09 09 7b | 20 62 75 6e 64 6c 65 28 |ARY....{| bundle(|
|00003ad0| 36 2c 5f 72 63 6f 6e 2c | 28 64 6f 75 62 6c 65 29 |6,_rcon,|(double)|
|00003ae0| 28 2d 31 29 2c 5f 72 6d | 75 6c 74 29 3b 20 7d 0a |(-1),_rm|ult); }.|
|00003af0| 09 09 3b 0a 0a 72 62 65 | 09 09 3a 20 72 65 78 70 |..;..rbe|..: rexp|
|00003b00| 72 20 45 51 55 41 4c 20 | 72 65 78 70 72 0a 09 09 |r EQUAL |rexpr...|
|00003b10| 09 7b 20 62 75 6e 64 6c | 65 28 31 2c 5f 72 65 71 |.{ bundl|e(1,_req|
|00003b20| 29 3b 20 7d 0a 09 09 7c | 20 72 65 78 70 72 20 4e |); }...|| rexpr N|
|00003b30| 45 51 20 72 65 78 70 72 | 0a 09 09 09 7b 20 62 75 |EQ rexpr|....{ bu|
|00003b40| 6e 64 6c 65 28 31 2c 5f | 72 6e 65 71 29 3b 20 7d |ndle(1,_|rneq); }|
|00003b50| 0a 09 09 7c 20 72 65 78 | 70 72 20 4c 45 20 72 65 |...| rex|pr LE re|
|00003b60| 78 70 72 0a 09 09 09 7b | 20 62 75 6e 64 6c 65 28 |xpr....{| bundle(|
|00003b70| 31 2c 5f 72 6c 65 71 29 | 3b 20 7d 0a 09 09 7c 20 |1,_rleq)|; }...| |
|00003b80| 72 65 78 70 72 20 4c 54 | 20 72 65 78 70 72 0a 09 |rexpr LT| rexpr..|
|00003b90| 09 09 7b 20 62 75 6e 64 | 6c 65 28 31 2c 5f 72 6c |..{ bund|le(1,_rl|
|00003ba0| 74 29 3b 20 7d 0a 09 09 | 7c 20 72 65 78 70 72 20 |t); }...|| rexpr |
|00003bb0| 47 45 20 72 65 78 70 72 | 0a 09 09 09 7b 20 62 75 |GE rexpr|....{ bu|
|00003bc0| 6e 64 6c 65 28 31 2c 5f | 72 67 65 71 29 3b 20 7d |ndle(1,_|rgeq); }|
|00003bd0| 0a 09 09 7c 20 72 65 78 | 70 72 20 47 54 20 72 65 |...| rex|pr GT re|
|00003be0| 78 70 72 0a 09 09 09 7b | 20 62 75 6e 64 6c 65 28 |xpr....{| bundle(|
|00003bf0| 31 2c 5f 72 67 74 29 3b | 20 7d 0a 09 09 3b 0a 62 |1,_rgt);| }...;.b|
|00003c00| 65 78 70 72 09 09 3a 20 | 73 62 65 0a 09 09 7c 20 |expr..: |sbe...| |
|00003c10| 72 62 65 0a 09 09 7c 20 | 4e 4f 54 20 62 65 78 70 |rbe...| |NOT bexp|
|00003c20| 72 09 25 70 72 65 63 20 | 55 4e 41 52 59 0a 09 09 |r.%prec |UNARY...|
|00003c30| 09 7b 20 62 75 6e 64 6c | 65 28 31 2c 5f 6e 6f 74 |.{ bundl|e(1,_not|
|00003c40| 29 3b 20 7d 0a 09 09 7c | 20 62 65 78 70 72 20 4f |); }...|| bexpr O|
|00003c50| 52 20 62 65 78 70 72 0a | 09 09 09 7b 20 62 75 6e |R bexpr.|...{ bun|
|00003c60| 64 6c 65 28 31 2c 5f 6f | 72 29 3b 20 7d 0a 09 09 |dle(1,_o|r); }...|
|00003c70| 7c 20 62 65 78 70 72 20 | 41 4e 44 20 62 65 78 70 || bexpr |AND bexp|
|00003c80| 72 0a 09 09 09 7b 20 62 | 75 6e 64 6c 65 28 31 2c |r....{ b|undle(1,|
|00003c90| 5f 61 6e 64 29 3b 20 7d | 0a 09 09 7c 20 27 28 27 |_and); }|...| '('|
|00003ca0| 20 62 65 78 70 72 20 27 | 29 27 0a 09 09 3b 0a 25 | bexpr '|)'...;.%|
|00003cb0| 25 0a 0a 6d 61 69 6e 28 | 29 0a 7b 0a 20 20 20 20 |%..main(|).{. |
|00003cc0| 72 64 6c 69 6e 28 62 73 | 69 6e 29 3b 0a 20 20 20 |rdlin(bs|in);. |
|00003cd0| 20 72 65 74 75 72 6e 28 | 79 79 70 61 72 73 65 28 | return(|yyparse(|
|00003ce0| 29 29 3b 0a 7d 0a 0a 79 | 79 65 72 72 6f 72 28 73 |));.}..y|yerror(s|
|00003cf0| 29 0a 63 68 61 72 20 2a | 73 3b 0a 7b 0a 20 20 20 |).char *|s;.{. |
|00003d00| 20 66 70 72 69 6e 74 66 | 28 73 74 64 65 72 72 2c | fprintf|(stderr,|
|00003d10| 22 25 73 5c 6e 22 2c 73 | 29 3b 0a 7d 0a 0a 6c 70 |"%s\n",s|);.}..lp|
|00003d20| 75 73 68 28 73 74 61 63 | 6b 2c 76 61 6c 29 20 73 |ush(stac|k,val) s|
|00003d30| 74 72 75 63 74 20 73 74 | 6b 20 2a 73 74 61 63 6b |truct st|k *stack|
|00003d40| 3b 20 69 6e 74 20 76 61 | 6c 3b 0a 7b 0a 20 20 20 |; int va|l;.{. |
|00003d50| 20 73 74 61 63 6b 2d 3e | 73 74 61 63 6b 5b 73 74 | stack->|stack[st|
|00003d60| 61 63 6b 2d 3e 73 74 6b | 70 2b 2b 5d 20 3d 20 76 |ack->stk|p++] = v|
|00003d70| 61 6c 3b 20 0a 7d 0a 0a | 69 6e 74 20 6c 74 6f 70 |al; .}..|int ltop|
|00003d80| 28 73 74 61 63 6b 29 20 | 73 74 72 75 63 74 20 73 |(stack) |struct s|
|00003d90| 74 6b 20 2a 73 74 61 63 | 6b 3b 0a 7b 20 0a 20 20 |tk *stac|k;.{ . |
|00003da0| 20 20 72 65 74 75 72 6e | 28 73 74 61 63 6b 2d 3e | return|(stack->|
|00003db0| 73 74 61 63 6b 5b 73 74 | 61 63 6b 2d 3e 73 74 6b |stack[st|ack->stk|
|00003dc0| 70 2d 31 5d 29 3b 20 0a | 7d 0a 0a 69 6e 74 20 6c |p-1]); .|}..int l|
|00003dd0| 70 6f 70 28 73 74 61 63 | 6b 29 20 73 74 72 75 63 |pop(stac|k) struc|
|00003de0| 74 20 73 74 6b 20 2a 73 | 74 61 63 6b 3b 0a 7b 20 |t stk *s|tack;.{ |
|00003df0| 0a 20 20 20 20 72 65 74 | 75 72 6e 28 73 74 61 63 |. ret|urn(stac|
|00003e00| 6b 2d 3e 73 74 61 63 6b | 5b 2d 2d 73 74 61 63 6b |k->stack|[--stack|
|00003e10| 2d 3e 73 74 6b 70 5d 29 | 3b 20 0a 7d 0a 0a 2f 2a |->stkp])|; .}../*|
|00003e20| 20 62 75 6e 64 6c 65 28 | 29 20 2d 2d 20 61 70 70 | bundle(|) -- app|
|00003e30| 65 6e 64 20 61 72 67 75 | 6d 65 6e 74 20 6c 69 73 |end argu|ment lis|
|00003e40| 74 20 74 6f 20 6c 5b 5d | 2e 20 20 49 64 65 61 20 |t to l[]|. Idea |
|00003e50| 74 6f 6f 6b 65 6e 20 66 | 72 6f 6d 20 62 63 2e 79 |tooken f|rom bc.y|
|00003e60| 2e 0a 20 2a 0a 20 2a 20 | 55 73 61 67 65 3a 20 20 |.. *. * |Usage: |
|00003e70| 62 75 6e 64 6c 65 28 63 | 6e 74 2c 61 72 67 2c 61 |bundle(c|nt,arg,a|
|00003e80| 72 67 2c 2e 2e 2e 2c 61 | 72 67 29 0a 20 2a 0a 20 |rg,...,a|rg). *. |
|00003e90| 2a 20 54 68 65 20 22 61 | 72 67 22 27 73 20 63 61 |* The "a|rg"'s ca|
|00003ea0| 6e 20 62 65 20 61 6e 79 | 74 68 69 6e 67 2e 20 20 |n be any|thing. |
|00003eb0| 22 63 6e 74 22 20 69 73 | 20 61 20 63 6f 75 6e 74 |"cnt" is| a count|
|00003ec0| 20 6f 66 20 74 68 65 20 | 6e 75 6d 62 65 72 20 6f | of the |number o|
|00003ed0| 66 20 69 6e 74 65 67 65 | 72 73 0a 20 2a 20 69 74 |f intege|rs. * it|
|00003ee0| 20 77 6f 75 6c 64 20 74 | 61 6b 65 20 74 6f 20 68 | would t|ake to h|
|00003ef0| 6f 6c 64 20 61 6c 6c 20 | 74 68 65 20 61 72 67 73 |old all |the args|
|00003f00| 2e 0a 20 2a 0a 20 2a 20 | 65 2e 67 2e 20 20 62 75 |.. *. * |e.g. bu|
|00003f10| 6e 64 6c 65 28 34 2c 28 | 64 6f 75 62 6c 65 29 61 |ndle(4,(|double)a|
|00003f20| 29 3b 20 69 73 20 74 68 | 65 20 63 6f 72 72 65 63 |); is th|e correc|
|00003f30| 74 20 63 6f 75 6e 74 20 | 66 6f 72 20 61 2e 0a 20 |t count |for a.. |
|00003f40| 2a 0a 20 2a 09 2a 2a 2a | 2a 2a 2a 2a 20 4e 4f 54 |*. *.***|**** NOT|
|00003f50| 45 20 2a 2a 2a 2a 2a 2a | 2a 0a 20 2a 0a 20 2a 20 |E ******|*. *. * |
|00003f60| 54 68 69 73 20 72 6f 75 | 74 69 6e 65 20 69 73 20 |This rou|tine is |
|00003f70| 6d 61 63 68 69 6e 65 20 | 64 65 70 65 6e 64 61 6e |machine |dependan|
|00003f80| 74 2e 20 20 49 74 20 64 | 65 70 65 6e 64 73 20 6f |t. It d|epends o|
|00003f90| 6e 20 74 68 65 20 77 61 | 79 20 61 72 67 75 6d 65 |n the wa|y argume|
|00003fa0| 6e 74 73 20 61 72 65 0a | 20 2a 20 70 61 73 73 65 |nts are.| * passe|
|00003fb0| 64 20 6f 6e 20 74 68 65 | 20 73 74 61 63 6b 20 6f |d on the| stack o|
|00003fc0| 6e 20 74 68 65 20 50 44 | 50 2d 31 31 20 6d 61 63 |n the PD|P-11 mac|
|00003fd0| 68 69 6e 65 73 2e 20 20 | 49 74 20 6d 61 79 20 6e |hines. |It may n|
|00003fe0| 6f 74 20 77 6f 72 6b 20 | 65 6c 73 65 77 68 65 72 |ot work |elsewher|
|00003ff0| 65 2e 0a 20 2a 2f 0a 62 | 75 6e 64 6c 65 28 61 29 |e.. */.b|undle(a)|
|00004000| 0a 69 6e 74 20 61 3b 0a | 7b 0a 20 20 20 20 72 65 |.int a;.|{. re|
|00004010| 67 69 73 74 65 72 20 69 | 6e 74 20 2a 70 3b 0a 20 |gister i|nt *p;. |
|00004020| 20 20 20 72 65 67 69 73 | 74 65 72 20 69 6e 74 20 | regis|ter int |
|00004030| 73 7a 3b 0a 0a 20 20 20 | 20 70 20 3d 20 26 61 3b |sz;.. | p = &a;|
|00004040| 0a 20 20 20 20 73 7a 20 | 3d 20 2a 70 2b 2b 3b 0a |. sz |= *p++;.|
|00004050| 20 20 20 20 77 68 69 6c | 65 28 73 7a 2d 2d 20 3e | whil|e(sz-- >|
|00004060| 20 30 29 20 0a 09 6c 5b | 6c 70 2b 2b 5d 20 3d 20 | 0) ..l[|lp++] = |
|00004070| 2a 70 2b 2b 3b 0a 7d 0a | 53 48 41 52 5f 45 4f 46 |*p++;.}.|SHAR_EOF|
|00004080| 0a 69 66 20 74 65 73 74 | 20 38 38 39 31 20 2d 6e |.if test| 8891 -n|
|00004090| 65 20 22 60 77 63 20 2d | 63 20 3c 20 27 6e 65 77 |e "`wc -|c < 'new|
|000040a0| 62 73 2f 62 73 67 72 61 | 6d 2e 79 27 60 22 0a 74 |bs/bsgra|m.y'`".t|
|000040b0| 68 65 6e 0a 09 65 63 68 | 6f 20 73 68 61 72 3a 20 |hen..ech|o shar: |
|000040c0| 65 72 72 6f 72 20 74 72 | 61 6e 73 6d 69 74 74 69 |error tr|ansmitti|
|000040d0| 6e 67 20 22 27 6e 65 77 | 62 73 2f 62 73 67 72 61 |ng "'new|bs/bsgra|
|000040e0| 6d 2e 79 27 22 20 27 28 | 73 68 6f 75 6c 64 20 68 |m.y'" '(|should h|
|000040f0| 61 76 65 20 62 65 65 6e | 20 38 38 39 31 20 63 68 |ave been| 8891 ch|
|00004100| 61 72 61 63 74 65 72 73 | 29 27 0a 66 69 0a 66 69 |aracters|)'.fi.fi|
|00004110| 20 23 20 65 6e 64 20 6f | 66 20 6f 76 65 72 77 72 | # end o|f overwr|
|00004120| 69 74 69 6e 67 20 63 68 | 65 63 6b 0a 65 63 68 6f |iting ch|eck.echo|
|00004130| 20 73 68 61 72 3a 20 65 | 78 74 72 61 63 74 69 6e | shar: e|xtractin|
|00004140| 67 20 22 27 6e 65 77 62 | 73 2f 62 73 6c 61 73 68 |g "'newb|s/bslash|
|00004150| 2e 63 27 22 20 27 28 35 | 36 37 20 63 68 61 72 61 |.c'" '(5|67 chara|
|00004160| 63 74 65 72 73 29 27 0a | 69 66 20 74 65 73 74 20 |cters)'.|if test |
|00004170| 2d 66 20 27 6e 65 77 62 | 73 2f 62 73 6c 61 73 68 |-f 'newb|s/bslash|
|00004180| 2e 63 27 0a 74 68 65 6e | 0a 09 65 63 68 6f 20 73 |.c'.then|..echo s|
|00004190| 68 61 72 3a 20 77 69 6c | 6c 20 6e 6f 74 20 6f 76 |har: wil|l not ov|
|000041a0| 65 72 2d 77 72 69 74 65 | 20 65 78 69 73 74 69 6e |er-write| existin|
|000041b0| 67 20 66 69 6c 65 20 22 | 27 6e 65 77 62 73 2f 62 |g file "|'newbs/b|
|000041c0| 73 6c 61 73 68 2e 63 27 | 22 0a 65 6c 73 65 0a 73 |slash.c'|".else.s|
|000041d0| 65 64 20 27 73 2f 5e 58 | 2f 2f 27 20 3c 3c 20 5c |ed 's/^X|//' << \|
|000041e0| 53 48 41 52 5f 45 4f 46 | 20 3e 20 27 6e 65 77 62 |SHAR_EOF| > 'newb|
|000041f0| 73 2f 62 73 6c 61 73 68 | 2e 63 27 0a 2f 2a 20 62 |s/bslash|.c'./* b|
|00004200| 73 6c 61 73 68 28 29 20 | 2d 2d 20 68 61 76 65 20 |slash() |-- have |
|00004210| 73 65 65 6e 20 27 5c 27 | 2c 20 75 73 65 20 69 6e |seen '\'|, use in|
|00004220| 70 75 74 28 29 20 74 6f | 20 73 61 79 20 77 68 61 |put() to| say wha|
|00004230| 74 20 69 73 20 61 63 74 | 75 61 6c 6c 79 20 77 61 |t is act|ually wa|
|00004240| 6e 74 65 64 2e 0a 20 2a | 2f 0a 63 68 61 72 20 62 |nted.. *|/.char b|
|00004250| 73 6c 61 73 68 28 29 0a | 7b 0a 20 20 20 20 63 68 |slash().|{. ch|
|00004260| 61 72 20 74 65 78 74 5b | 38 5d 3b 0a 20 20 20 20 |ar text[|8];. |
|00004270| 72 65 67 69 73 74 65 72 | 20 63 68 61 72 20 2a 73 |register| char *s|
|00004280| 2c 63 3b 0a 20 20 20 20 | 69 6e 74 20 76 3b 0a 0a |,c;. |int v;..|
|00004290| 20 20 20 20 63 3d 69 6e | 70 75 74 28 29 3b 0a 20 | c=in|put();. |
|000042a0| 20 20 20 69 66 28 63 20 | 3d 3d 20 27 6e 27 29 20 | if(c |== 'n') |
|000042b0| 63 3d 27 5c 6e 27 3b 0a | 20 20 20 20 65 6c 73 65 |c='\n';.| else|
|000042c0| 20 69 66 28 63 20 3d 3d | 20 27 74 27 29 20 63 3d | if(c ==| 't') c=|
|000042d0| 27 5c 74 27 3b 0a 20 20 | 20 20 65 6c 73 65 20 69 |'\t';. | else i|
|000042e0| 66 28 63 20 3d 3d 20 27 | 62 27 29 20 63 3d 27 5c |f(c == '|b') c='\|
|000042f0| 62 27 3b 0a 20 20 20 20 | 65 6c 73 65 20 69 66 28 |b';. |else if(|
|00004300| 63 20 3d 3d 20 27 72 27 | 29 20 63 3d 27 5c 72 27 |c == 'r'|) c='\r'|
|00004310| 3b 0a 20 20 20 20 65 6c | 73 65 20 69 66 28 63 20 |;. el|se if(c |
|00004320| 3d 3d 20 27 66 27 29 20 | 63 3d 27 5c 66 27 3b 0a |== 'f') |c='\f';.|
|00004330| 20 20 20 20 65 6c 73 65 | 20 69 66 28 63 3e 3d 27 | else| if(c>='|
|00004340| 30 27 20 26 26 20 63 3c | 3d 27 37 27 29 20 7b 20 |0' && c<|='7') { |
|00004350| 2f 2a 20 6f 63 74 61 6c | 20 64 69 67 69 74 20 73 |/* octal| digit s|
|00004360| 74 72 69 6e 67 20 2a 2f | 0a 09 73 20 3d 20 26 74 |tring */|..s = &t|
|00004370| 65 78 74 5b 30 5d 3b 0a | 09 2a 73 2b 2b 20 3d 20 |ext[0];.|.*s++ = |
|00004380| 63 3b 0a 09 63 3d 69 6e | 70 75 74 28 29 3b 0a 09 |c;..c=in|put();..|
|00004390| 77 68 69 6c 65 28 63 3e | 3d 27 30 27 20 26 26 20 |while(c>|='0' && |
|000043a0| 63 3c 3d 27 37 27 29 20 | 7b 0a 09 09 2a 73 2b 2b |c<='7') |{...*s++|
|000043b0| 20 3d 20 63 3b 0a 09 09 | 63 3d 69 6e 70 75 74 28 | = c;...|c=input(|
|000043c0| 29 3b 0a 09 7d 0a 09 2a | 73 2b 2b 20 3d 20 27 5c |);..}..*|s++ = '\|
|000043d0| 30 27 3b 0a 09 73 73 63 | 61 6e 66 28 74 65 78 74 |0';..ssc|anf(text|
|000043e0| 2c 22 25 6f 22 2c 26 76 | 29 3b 0a 09 63 20 3d 20 |,"%o",&v|);..c = |
|000043f0| 28 63 68 61 72 29 20 76 | 3b 0a 20 20 20 20 7d 0a |(char) v|;. }.|
|00004400| 20 20 20 20 65 6c 73 65 | 20 69 66 28 63 3d 3d 27 | else| if(c=='|
|00004410| 5c 6e 27 29 20 72 64 6c | 69 6e 28 62 73 69 6e 29 |\n') rdl|in(bsin)|
|00004420| 3b 0a 20 20 20 20 72 65 | 74 75 72 6e 28 63 29 3b |;. re|turn(c);|
|00004430| 0a 7d 0a 53 48 41 52 5f | 45 4f 46 0a 69 66 20 74 |.}.SHAR_|EOF.if t|
|00004440| 65 73 74 20 35 36 37 20 | 2d 6e 65 20 22 60 77 63 |est 567 |-ne "`wc|
|00004450| 20 2d 63 20 3c 20 27 6e | 65 77 62 73 2f 62 73 6c | -c < 'n|ewbs/bsl|
|00004460| 61 73 68 2e 63 27 60 22 | 0a 74 68 65 6e 0a 09 65 |ash.c'`"|.then..e|
|00004470| 63 68 6f 20 73 68 61 72 | 3a 20 65 72 72 6f 72 20 |cho shar|: error |
|00004480| 74 72 61 6e 73 6d 69 74 | 74 69 6e 67 20 22 27 6e |transmit|ting "'n|
|00004490| 65 77 62 73 2f 62 73 6c | 61 73 68 2e 63 27 22 20 |ewbs/bsl|ash.c'" |
|000044a0| 27 28 73 68 6f 75 6c 64 | 20 68 61 76 65 20 62 65 |'(should| have be|
|000044b0| 65 6e 20 35 36 37 20 63 | 68 61 72 61 63 74 65 72 |en 567 c|haracter|
|000044c0| 73 29 27 0a 66 69 0a 66 | 69 20 23 20 65 6e 64 20 |s)'.fi.f|i # end |
|000044d0| 6f 66 20 6f 76 65 72 77 | 72 69 74 69 6e 67 20 63 |of overw|riting c|
|000044e0| 68 65 63 6b 0a 65 63 68 | 6f 20 73 68 61 72 3a 20 |heck.ech|o shar: |
|000044f0| 65 78 74 72 61 63 74 69 | 6e 67 20 22 27 6e 65 77 |extracti|ng "'new|
|00004500| 62 73 2f 62 73 6c 69 62 | 2e 63 27 22 20 27 28 31 |bs/bslib|.c'" '(1|
|00004510| 35 35 33 20 63 68 61 72 | 61 63 74 65 72 73 29 27 |553 char|acters)'|
|00004520| 0a 69 66 20 74 65 73 74 | 20 2d 66 20 27 6e 65 77 |.if test| -f 'new|
|00004530| 62 73 2f 62 73 6c 69 62 | 2e 63 27 0a 74 68 65 6e |bs/bslib|.c'.then|
|00004540| 0a 09 65 63 68 6f 20 73 | 68 61 72 3a 20 77 69 6c |..echo s|har: wil|
|00004550| 6c 20 6e 6f 74 20 6f 76 | 65 72 2d 77 72 69 74 65 |l not ov|er-write|
|00004560| 20 65 78 69 73 74 69 6e | 67 20 66 69 6c 65 20 22 | existin|g file "|
|00004570| 27 6e 65 77 62 73 2f 62 | 73 6c 69 62 2e 63 27 22 |'newbs/b|slib.c'"|
|00004580| 0a 65 6c 73 65 0a 73 65 | 64 20 27 73 2f 5e 58 2f |.else.se|d 's/^X/|
|00004590| 2f 27 20 3c 3c 20 5c 53 | 48 41 52 5f 45 4f 46 20 |/' << \S|HAR_EOF |
|000045a0| 3e 20 27 6e 65 77 62 73 | 2f 62 73 6c 69 62 2e 63 |> 'newbs|/bslib.c|
|000045b0| 27 0a 2f 2a 20 62 73 6c | 69 62 2e 63 20 2d 2d 20 |'./* bsl|ib.c -- |
|000045c0| 73 75 62 72 6f 75 74 69 | 6e 65 20 6c 69 62 72 61 |subrouti|ne libra|
|000045d0| 72 79 2c 20 72 6f 75 74 | 69 6e 65 73 20 75 73 65 |ry, rout|ines use|
|000045e0| 66 75 6c 20 61 6e 79 77 | 68 65 72 65 2e 0a 20 2a |ful anyw|here.. *|
|000045f0| 2f 0a 0a 23 69 6e 63 6c | 75 64 65 20 22 62 73 64 |/..#incl|ude "bsd|
|00004600| 65 66 73 2e 68 22 0a 0a | 58 46 49 4c 45 20 2a 62 |efs.h"..|XFILE *b|
|00004610| 73 69 6e 20 3d 20 73 74 | 64 69 6e 3b 0a 0a 2f 2a |sin = st|din;../*|
|00004620| 20 62 6c 63 70 79 20 2d | 2d 20 63 6f 70 69 65 73 | blcpy -|- copies|
|00004630| 20 61 20 62 6c 6f 63 6b | 20 6f 66 20 6d 65 6d 6f | a block| of memo|
|00004640| 72 79 20 28 6c 20 62 79 | 74 65 73 29 20 66 72 6f |ry (l by|tes) fro|
|00004650| 6d 20 73 20 74 6f 20 64 | 2e 0a 20 2a 2f 0a 62 6c |m s to d|.. */.bl|
|00004660| 63 70 79 28 64 2c 73 2c | 6c 29 0a 63 68 61 72 20 |cpy(d,s,|l).char |
|00004670| 2a 64 2c 2a 73 3b 0a 69 | 6e 74 20 6c 3b 0a 7b 0a |*d,*s;.i|nt l;.{.|
|00004680| 20 20 20 20 66 6f 72 28 | 3b 20 6c 20 3e 3d 20 30 | for(|; l >= 0|
|00004690| 3b 20 28 6c 2d 2d 29 29 | 20 2a 28 64 2b 2b 29 20 |; (l--))| *(d++) |
|000046a0| 3d 20 2a 28 73 2b 2b 29 | 3b 0a 7d 0a 0a 2f 2a 20 |= *(s++)|;.}../* |
|000046b0| 49 6e 70 75 74 20 72 6f | 75 74 69 6e 65 73 2e 20 |Input ro|utines. |
|000046c0| 20 54 68 65 73 65 20 72 | 6f 75 74 69 6e 65 73 20 | These r|outines |
|000046d0| 62 75 66 66 65 72 20 69 | 6e 70 75 74 20 61 20 6c |buffer i|nput a l|
|000046e0| 69 6e 65 20 61 74 20 61 | 20 74 69 6d 65 20 69 6e |ine at a| time in|
|000046f0| 74 6f 0a 20 2a 20 69 62 | 75 66 2e 20 20 55 6e 70 |to. * ib|uf. Unp|
|00004700| 75 74 74 65 64 20 69 6e | 70 75 74 20 67 6f 65 73 |utted in|put goes|
|00004710| 20 74 6f 20 70 62 62 75 | 66 2c 20 61 6e 64 20 67 | to pbbu|f, and g|
|00004720| 65 74 73 20 72 65 61 64 | 20 62 65 66 6f 72 65 20 |ets read| before |
|00004730| 74 68 69 6e 67 73 20 69 | 6e 0a 20 2a 20 69 62 75 |things i|n. * ibu|
|00004740| 66 2c 20 69 66 20 61 6e | 79 74 68 69 6e 67 20 69 |f, if an|ything i|
|00004750| 6e 20 70 62 62 75 66 2e | 0a 20 2a 2f 0a 0a 63 68 |n pbbuf.|. */..ch|
|00004760| 61 72 20 70 62 62 75 66 | 5b 43 53 54 4b 53 49 5a |ar pbbuf|[CSTKSIZ|
|00004770| 5d 2c 69 62 75 66 5b 42 | 46 53 49 5a 5d 3b 0a 0a |],ibuf[B|FSIZ];..|
|00004780| 69 6e 74 20 69 70 74 72 | 20 3d 20 2d 31 3b 0a 69 |int iptr| = -1;.i|
|00004790| 6e 74 20 70 62 70 74 72 | 20 3d 20 2d 31 3b 0a 0a |nt pbptr| = -1;..|
|000047a0| 63 68 61 72 20 69 6e 70 | 75 74 28 29 0a 7b 0a 20 |char inp|ut().{. |
|000047b0| 20 20 20 69 66 28 70 62 | 70 74 72 20 3e 20 2d 31 | if(pb|ptr > -1|
|000047c0| 29 0a 09 72 65 74 75 72 | 6e 28 70 62 62 75 66 5b |)..retur|n(pbbuf[|
|000047d0| 70 62 70 74 72 2d 2d 5d | 29 3b 0a 20 20 20 20 65 |pbptr--]|);. e|
|000047e0| 6c 73 65 20 7b 0a 09 69 | 66 28 69 62 75 66 5b 69 |lse {..i|f(ibuf[i|
|000047f0| 70 74 72 5d 20 3d 3d 20 | 27 5c 30 27 29 20 72 64 |ptr] == |'\0') rd|
|00004800| 6c 69 6e 28 62 73 69 6e | 29 3b 0a 09 69 66 28 69 |lin(bsin|);..if(i|
|00004810| 62 75 66 5b 69 70 74 72 | 5d 21 3d 27 5c 30 27 20 |buf[iptr|]!='\0' |
|00004820| 26 26 20 21 66 65 6f 66 | 28 62 73 69 6e 29 29 0a |&& !feof|(bsin)).|
|00004830| 09 20 20 20 20 72 65 74 | 75 72 6e 28 69 62 75 66 |. ret|urn(ibuf|
|00004840| 5b 69 70 74 72 2b 2b 5d | 29 3b 0a 09 65 6c 73 65 |[iptr++]|);..else|
|00004850| 0a 09 20 20 20 20 72 65 | 74 75 72 6e 28 30 29 3b |.. re|turn(0);|
|00004860| 0a 20 20 20 20 7d 0a 7d | 0a 0a 72 64 6c 69 6e 28 |. }.}|..rdlin(|
|00004870| 66 29 20 46 49 4c 45 20 | 2a 66 3b 0a 7b 0a 20 20 |f) FILE |*f;.{. |
|00004880| 20 20 63 68 61 72 20 63 | 3b 0a 0a 20 20 20 20 69 | char c|;.. i|
|00004890| 70 74 72 20 3d 20 30 3b | 0a 20 20 20 20 66 6f 72 |ptr = 0;|. for|
|000048a0| 28 63 3d 66 67 65 74 63 | 28 66 29 3b 20 63 21 3d |(c=fgetc|(f); c!=|
|000048b0| 27 5c 6e 27 20 26 26 20 | 63 21 3d 45 4f 46 3b 20 |'\n' && |c!=EOF; |
|000048c0| 63 3d 66 67 65 74 63 28 | 66 29 29 20 69 62 75 66 |c=fgetc(|f)) ibuf|
|000048d0| 5b 69 70 74 72 2b 2b 5d | 20 3d 20 63 3b 0a 20 20 |[iptr++]| = c;. |
|000048e0| 20 20 69 62 75 66 5b 69 | 70 74 72 2b 2b 5d 20 3d | ibuf[i|ptr++] =|
|000048f0| 20 63 3b 0a 20 20 20 20 | 69 62 75 66 5b 69 70 74 | c;. |ibuf[ipt|
|00004900| 72 2b 2b 5d 20 3d 20 27 | 5c 30 27 3b 0a 20 20 20 |r++] = '|\0';. |
|00004910| 20 69 70 74 72 20 3d 20 | 30 3b 0a 7d 0a 0a 75 6e | iptr = |0;.}..un|
|00004920| 70 75 74 28 63 29 20 63 | 68 61 72 20 63 3b 0a 7b |put(c) c|har c;.{|
|00004930| 20 70 62 62 75 66 5b 2b | 2b 70 62 70 74 72 5d 20 | pbbuf[+|+pbptr] |
|00004940| 3d 20 63 3b 20 7d 0a 0a | 2f 2a 20 6d 79 61 6c 6c |= c; }..|/* myall|
|00004950| 6f 63 28 29 20 2d 2d 20 | 61 6c 6c 6f 63 61 74 65 |oc() -- |allocate|
|00004960| 2c 20 63 68 65 63 6b 69 | 6e 67 20 66 6f 72 20 6f |, checki|ng for o|
|00004970| 75 74 20 6f 66 20 6d 65 | 6d 6f 72 79 2e 0a 20 2a |ut of me|mory.. *|
|00004980| 2f 0a 63 68 61 72 20 2a | 6d 79 61 6c 6c 6f 63 28 |/.char *|myalloc(|
|00004990| 6e 62 29 0a 69 6e 74 20 | 6e 62 3b 0a 7b 0a 20 20 |nb).int |nb;.{. |
|000049a0| 20 20 63 68 61 72 20 2a | 72 76 61 6c 3b 0a 20 20 | char *|rval;. |
|000049b0| 20 20 72 76 61 6c 20 3d | 20 6d 61 6c 6c 6f 63 28 | rval =| malloc(|
|000049c0| 6e 62 29 3b 0a 2f 2a 0a | 20 20 20 20 70 72 69 6e |nb);./*.| prin|
|000049d0| 74 66 28 22 6d 79 61 6c | 6c 6f 63 3a 74 6f 73 3a |tf("myal|loc:tos:|
|000049e0| 25 6f 2c 72 76 3a 25 6f | 2c 6e 62 3a 25 64 2c 65 |%o,rv:%o|,nb:%d,e|
|000049f0| 3a 25 6f 5c 6e 22 2c 26 | 72 76 61 6c 2c 72 76 61 |:%o\n",&|rval,rva|
|00004a00| 6c 2c 6e 62 2c 73 62 72 | 6b 28 30 29 29 3b 0a 2a |l,nb,sbr|k(0));.*|
|00004a10| 2f 0a 20 20 20 20 69 66 | 28 72 76 61 6c 20 3d 3d |/. if|(rval ==|
|00004a20| 20 30 29 20 7b 0a 09 66 | 70 72 69 6e 74 66 28 73 | 0) {..f|printf(s|
|00004a30| 74 64 65 72 72 2c 22 6d | 79 61 6c 6c 6f 63 3a 20 |tderr,"m|yalloc: |
|00004a40| 6f 75 74 20 6f 66 20 6d | 65 6d 6f 72 79 5c 6e 22 |out of m|emory\n"|
|00004a50| 29 3b 0a 09 65 78 69 74 | 28 31 29 3b 0a 20 20 20 |);..exit|(1);. |
|00004a60| 20 7d 0a 20 20 20 20 72 | 65 74 75 72 6e 28 72 76 | }. r|eturn(rv|
|00004a70| 61 6c 29 3b 0a 7d 0a 0a | 0a 0a 2f 2a 20 53 74 61 |al);.}..|../* Sta|
|00004a80| 63 6b 20 72 6f 75 74 69 | 6e 65 73 2e 20 20 56 65 |ck routi|nes. Ve|
|00004a90| 72 79 20 73 69 6d 70 6c | 65 2e 20 2a 2f 0a 0a 75 |ry simpl|e. */..u|
|00004aa0| 6e 69 6f 6e 20 76 61 6c | 75 65 20 73 74 61 63 6b |nion val|ue stack|
|00004ab0| 5b 53 54 4b 53 49 5a 5d | 3b 0a 69 6e 74 20 73 74 |[STKSIZ]|;.int st|
|00004ac0| 61 63 6b 70 20 3d 20 2d | 31 3b 0a 0a 70 75 73 68 |ackp = -|1;..push|
|00004ad0| 28 69 29 20 75 6e 69 6f | 6e 20 76 61 6c 75 65 20 |(i) unio|n value |
|00004ae0| 69 3b 0a 7b 0a 20 20 20 | 20 73 74 61 63 6b 5b 2b |i;.{. | stack[+|
|00004af0| 2b 73 74 61 63 6b 70 5d | 20 3d 20 69 3b 0a 7d 0a |+stackp]| = i;.}.|
|00004b00| 0a 75 6e 69 6f 6e 20 76 | 61 6c 75 65 20 70 6f 70 |.union v|alue pop|
|00004b10| 28 29 0a 7b 0a 20 20 20 | 20 72 65 74 75 72 6e 28 |().{. | return(|
|00004b20| 73 74 61 63 6b 5b 73 74 | 61 63 6b 70 2d 2d 5d 29 |stack[st|ackp--])|
|00004b30| 3b 0a 7d 0a 0a 2f 2a 20 | 4d 61 72 6b 20 73 74 61 |;.}../* |Mark sta|
|00004b40| 63 6b 2e 20 20 41 6c 73 | 6f 20 76 65 72 79 20 73 |ck. Als|o very s|
|00004b50| 69 6d 70 6c 65 2e 20 2a | 2f 0a 69 6e 74 20 6d 73 |imple. *|/.int ms|
|00004b60| 74 61 63 6b 5b 35 5d 3b | 0a 69 6e 74 20 6d 73 74 |tack[5];|.int mst|
|00004b70| 6b 70 20 3d 20 2d 31 3b | 0a 6d 70 75 73 68 28 29 |kp = -1;|.mpush()|
|00004b80| 0a 7b 20 6d 73 74 61 63 | 6b 5b 2b 2b 6d 73 74 6b |.{ mstac|k[++mstk|
|00004b90| 70 5d 20 3d 20 73 74 61 | 63 6b 70 3b 20 7d 0a 6d |p] = sta|ckp; }.m|
|00004ba0| 70 6f 70 28 29 0a 7b 20 | 73 74 61 63 6b 70 20 3d |pop().{ |stackp =|
|00004bb0| 20 6d 73 74 61 63 6b 5b | 6d 73 74 6b 70 2d 2d 5d | mstack[|mstkp--]|
|00004bc0| 3b 20 7d 0a 53 48 41 52 | 5f 45 4f 46 0a 69 66 20 |; }.SHAR|_EOF.if |
|00004bd0| 74 65 73 74 20 31 35 35 | 33 20 2d 6e 65 20 22 60 |test 155|3 -ne "`|
|00004be0| 77 63 20 2d 63 20 3c 20 | 27 6e 65 77 62 73 2f 62 |wc -c < |'newbs/b|
|00004bf0| 73 6c 69 62 2e 63 27 60 | 22 0a 74 68 65 6e 0a 09 |slib.c'`|".then..|
|00004c00| 65 63 68 6f 20 73 68 61 | 72 3a 20 65 72 72 6f 72 |echo sha|r: error|
|00004c10| 20 74 72 61 6e 73 6d 69 | 74 74 69 6e 67 20 22 27 | transmi|tting "'|
|00004c20| 6e 65 77 62 73 2f 62 73 | 6c 69 62 2e 63 27 22 20 |newbs/bs|lib.c'" |
|00004c30| 27 28 73 68 6f 75 6c 64 | 20 68 61 76 65 20 62 65 |'(should| have be|
|00004c40| 65 6e 20 31 35 35 33 20 | 63 68 61 72 61 63 74 65 |en 1553 |characte|
|00004c50| 72 73 29 27 0a 66 69 0a | 66 69 20 23 20 65 6e 64 |rs)'.fi.|fi # end|
|00004c60| 20 6f 66 20 6f 76 65 72 | 77 72 69 74 69 6e 67 20 | of over|writing |
|00004c70| 63 68 65 63 6b 0a 65 63 | 68 6f 20 73 68 61 72 3a |check.ec|ho shar:|
|00004c80| 20 65 78 74 72 61 63 74 | 69 6e 67 20 22 27 6e 65 | extract|ing "'ne|
|00004c90| 77 62 73 2f 67 65 74 70 | 6c 61 63 65 2e 63 27 22 |wbs/getp|lace.c'"|
|00004ca0| 20 27 28 34 38 38 20 63 | 68 61 72 61 63 74 65 72 | '(488 c|haracter|
|00004cb0| 73 29 27 0a 69 66 20 74 | 65 73 74 20 2d 66 20 27 |s)'.if t|est -f '|
|00004cc0| 6e 65 77 62 73 2f 67 65 | 74 70 6c 61 63 65 2e 63 |newbs/ge|tplace.c|
|00004cd0| 27 0a 74 68 65 6e 0a 09 | 65 63 68 6f 20 73 68 61 |'.then..|echo sha|
|00004ce0| 72 3a 20 77 69 6c 6c 20 | 6e 6f 74 20 6f 76 65 72 |r: will |not over|
|00004cf0| 2d 77 72 69 74 65 20 65 | 78 69 73 74 69 6e 67 20 |-write e|xisting |
|00004d00| 66 69 6c 65 20 22 27 6e | 65 77 62 73 2f 67 65 74 |file "'n|ewbs/get|
|00004d10| 70 6c 61 63 65 2e 63 27 | 22 0a 65 6c 73 65 0a 73 |place.c'|".else.s|
|00004d20| 65 64 20 27 73 2f 5e 58 | 2f 2f 27 20 3c 3c 20 5c |ed 's/^X|//' << \|
|00004d30| 53 48 41 52 5f 45 4f 46 | 20 3e 20 27 6e 65 77 62 |SHAR_EOF| > 'newb|
|00004d40| 73 2f 67 65 74 70 6c 61 | 63 65 2e 63 27 0a 2f 2a |s/getpla|ce.c'./*|
|00004d50| 20 67 65 74 70 6c 61 63 | 65 28 29 20 2d 2d 20 67 | getplac|e() -- g|
|00004d60| 65 74 20 61 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 |et a poi|nter to |
|00004d70| 70 6c 61 63 65 20 6f 66 | 20 76 61 6c 75 65 20 66 |place of| value f|
|00004d80| 6f 72 20 76 6c 69 73 74 | 20 65 6e 74 72 79 20 6f |or vlist| entry o|
|00004d90| 6e 20 74 6f 70 20 6f 66 | 20 73 74 61 63 6b 0a 20 |n top of| stack. |
|00004da0| 2a 09 46 6f 72 20 61 72 | 72 61 79 73 2c 20 67 65 |*.For ar|rays, ge|
|00004db0| 74 70 6c 61 63 65 28 29 | 20 65 78 70 65 63 74 73 |tplace()| expects|
|00004dc0| 20 74 68 65 20 69 6e 64 | 65 78 65 73 20 74 6f 20 | the ind|exes to |
|00004dd0| 62 65 20 6f 6e 20 74 68 | 65 20 73 74 61 63 6b 20 |be on th|e stack |
|00004de0| 61 73 20 77 65 6c 6c 2e | 0a 20 2a 09 54 68 65 20 |as well.|. *.The |
|00004df0| 70 61 72 73 65 72 20 73 | 68 6f 75 6c 64 20 70 72 |parser s|hould pr|
|00004e00| 6f 70 65 72 6c 79 20 61 | 72 72 61 6e 67 65 20 66 |operly a|rrange f|
|00004e10| 6f 72 20 74 68 69 73 20 | 74 6f 20 68 61 70 70 65 |or this |to happe|
|00004e20| 6e 2e 0a 20 2a 2f 0a 75 | 6e 69 6f 6e 20 76 61 6c |n.. */.u|nion val|
|00004e30| 75 65 20 2a 67 65 74 70 | 6c 61 63 65 28 64 70 29 |ue *getp|lace(dp)|
|00004e40| 0a 73 74 72 75 63 74 20 | 64 69 63 74 6e 6f 64 65 |.struct |dictnode|
|00004e50| 20 2a 64 70 3b 0a 7b 0a | 20 20 20 20 69 6e 74 20 | *dp;.{.| int |
|00004e60| 71 75 61 6c 3b 0a 20 20 | 20 20 75 6e 69 6f 6e 20 |qual;. | union |
|00004e70| 76 61 6c 75 65 20 69 6e | 64 2c 2a 70 6c 61 63 65 |value in|d,*place|
|00004e80| 3b 0a 0a 20 20 20 20 71 | 75 61 6c 20 3d 20 64 70 |;.. q|ual = dp|
|00004e90| 2d 3e 74 79 70 65 5f 6f | 66 5f 76 61 6c 75 65 26 |->type_o|f_value&|
|00004ea0| 54 5f 51 4d 41 53 4b 3b | 0a 20 20 20 20 69 66 28 |T_QMASK;|. if(|
|00004eb0| 71 75 61 6c 20 3d 3d 20 | 51 5f 41 52 59 29 20 7b |qual == |Q_ARY) {|
|00004ec0| 0a 09 69 6e 64 20 3d 20 | 70 6f 70 28 29 3b 0a 09 |..ind = |pop();..|
|00004ed0| 6d 70 6f 70 28 29 3b 0a | 09 70 6c 61 63 65 20 3d |mpop();.|.place =|
|00004ee0| 20 26 20 64 70 2d 3e 76 | 61 6c 2e 61 72 76 61 6c | & dp->v|al.arval|
|00004ef0| 5b 69 6e 64 2e 69 76 61 | 6c 2b 32 5d 3b 0a 20 20 |[ind.iva|l+2];. |
|00004f00| 20 20 7d 0a 20 20 20 20 | 65 6c 73 65 0a 09 70 6c | }. |else..pl|
|00004f10| 61 63 65 20 3d 20 26 20 | 64 70 2d 3e 76 61 6c 3b |ace = & |dp->val;|
|00004f20| 0a 20 20 20 20 72 65 74 | 75 72 6e 28 70 6c 61 63 |. ret|urn(plac|
|00004f30| 65 29 3b 0a 7d 0a 53 48 | 41 52 5f 45 4f 46 0a 69 |e);.}.SH|AR_EOF.i|
|00004f40| 66 20 74 65 73 74 20 34 | 38 38 20 2d 6e 65 20 22 |f test 4|88 -ne "|
|00004f50| 60 77 63 20 2d 63 20 3c | 20 27 6e 65 77 62 73 2f |`wc -c <| 'newbs/|
|00004f60| 67 65 74 70 6c 61 63 65 | 2e 63 27 60 22 0a 74 68 |getplace|.c'`".th|
|00004f70| 65 6e 0a 09 65 63 68 6f | 20 73 68 61 72 3a 20 65 |en..echo| shar: e|
|00004f80| 72 72 6f 72 20 74 72 61 | 6e 73 6d 69 74 74 69 6e |rror tra|nsmittin|
|00004f90| 67 20 22 27 6e 65 77 62 | 73 2f 67 65 74 70 6c 61 |g "'newb|s/getpla|
|00004fa0| 63 65 2e 63 27 22 20 27 | 28 73 68 6f 75 6c 64 20 |ce.c'" '|(should |
|00004fb0| 68 61 76 65 20 62 65 65 | 6e 20 34 38 38 20 63 68 |have bee|n 488 ch|
|00004fc0| 61 72 61 63 74 65 72 73 | 29 27 0a 66 69 0a 66 69 |aracters|)'.fi.fi|
|00004fd0| 20 23 20 65 6e 64 20 6f | 66 20 6f 76 65 72 77 72 | # end o|f overwr|
|00004fe0| 69 74 69 6e 67 20 63 68 | 65 63 6b 0a 65 63 68 6f |iting ch|eck.echo|
|00004ff0| 20 73 68 61 72 3a 20 65 | 78 74 72 61 63 74 69 6e | shar: e|xtractin|
|00005000| 67 20 22 27 6e 65 77 62 | 73 2f 67 76 61 64 72 2e |g "'newb|s/gvadr.|
|00005010| 63 27 22 20 27 28 39 31 | 31 20 63 68 61 72 61 63 |c'" '(91|1 charac|
|00005020| 74 65 72 73 29 27 0a 69 | 66 20 74 65 73 74 20 2d |ters)'.i|f test -|
|00005030| 66 20 27 6e 65 77 62 73 | 2f 67 76 61 64 72 2e 63 |f 'newbs|/gvadr.c|
|00005040| 27 0a 74 68 65 6e 0a 09 | 65 63 68 6f 20 73 68 61 |'.then..|echo sha|
|00005050| 72 3a 20 77 69 6c 6c 20 | 6e 6f 74 20 6f 76 65 72 |r: will |not over|
|00005060| 2d 77 72 69 74 65 20 65 | 78 69 73 74 69 6e 67 20 |-write e|xisting |
|00005070| 66 69 6c 65 20 22 27 6e | 65 77 62 73 2f 67 76 61 |file "'n|ewbs/gva|
|00005080| 64 72 2e 63 27 22 0a 65 | 6c 73 65 0a 73 65 64 20 |dr.c'".e|lse.sed |
|00005090| 27 73 2f 5e 58 2f 2f 27 | 20 3c 3c 20 5c 53 48 41 |'s/^X//'| << \SHA|
|000050a0| 52 5f 45 4f 46 20 3e 20 | 27 6e 65 77 62 73 2f 67 |R_EOF > |'newbs/g|
|000050b0| 76 61 64 72 2e 63 27 0a | 2f 2a 20 67 76 61 64 72 |vadr.c'.|/* gvadr|
|000050c0| 28 29 20 2d 2d 20 47 65 | 74 20 76 61 72 69 61 62 |() -- Ge|t variab|
|000050d0| 6c 65 20 61 64 64 72 65 | 73 73 20 66 72 6f 6d 20 |le addre|ss from |
|000050e0| 76 6c 69 73 74 2c 20 77 | 69 74 68 20 74 79 70 65 |vlist, w|ith type|
|000050f0| 20 63 68 65 63 6b 69 6e | 67 2e 0a 20 2a 09 54 68 | checkin|g.. *.Th|
|00005100| 69 73 20 72 6f 75 74 69 | 6e 65 20 61 6c 6c 6f 77 |is routi|ne allow|
|00005110| 73 20 6e 75 6d 65 72 6f | 75 73 20 63 6f 70 69 65 |s numero|us copie|
|00005120| 73 20 6f 66 20 73 61 6d | 65 20 6e 61 6d 65 20 61 |s of sam|e name a|
|00005130| 73 20 6c 6f 6e 67 20 61 | 73 0a 20 2a 09 61 6c 6c |s long a|s. *.all|
|00005140| 20 63 6f 70 69 65 73 20 | 68 61 76 65 20 64 69 66 | copies |have dif|
|00005150| 66 65 72 65 6e 74 20 74 | 79 70 65 73 2e 20 20 50 |ferent t|ypes. P|
|00005160| 72 6f 62 61 62 6c 79 20 | 64 6f 65 73 6e 74 20 6d |robably |doesnt m|
|00005170| 61 74 74 65 72 20 73 69 | 6e 63 65 0a 20 2a 09 74 |atter si|nce. *.t|
|00005180| 68 65 20 70 61 72 73 65 | 72 20 64 6f 65 73 20 74 |he parse|r does t|
|00005190| 68 65 20 74 79 70 65 20 | 63 68 65 63 6b 69 6e 67 |he type |checking|
|000051a0| 2e 0a 20 2a 2f 0a 73 74 | 72 75 63 74 20 64 69 63 |.. */.st|ruct dic|
|000051b0| 74 6e 6f 64 65 20 2a 67 | 76 61 64 72 28 73 2c 74 |tnode *g|vadr(s,t|
|000051c0| 79 29 0a 63 68 61 72 20 | 2a 73 3b 0a 69 6e 74 20 |y).char |*s;.int |
|000051d0| 74 79 3b 0a 7b 0a 20 20 | 20 20 72 65 67 69 73 74 |ty;.{. | regist|
|000051e0| 65 72 20 69 6e 74 20 69 | 3b 0a 20 20 20 20 72 65 |er int i|;. re|
|000051f0| 67 69 73 74 65 72 20 69 | 6e 74 20 71 75 61 6c 3b |gister i|nt qual;|
|00005200| 20 2f 2a 20 74 79 70 65 | 20 71 75 61 6c 69 66 69 | /* type| qualifi|
|00005210| 65 72 20 2a 2f 0a 0a 20 | 20 20 20 2f 2a 20 49 6e |er */.. | /* In|
|00005220| 65 66 66 69 63 69 65 6e | 74 20 2a 2f 0a 20 20 20 |efficien|t */. |
|00005230| 20 66 6f 72 28 69 3d 30 | 3b 20 76 6c 69 73 74 5b | for(i=0|; vlist[|
|00005240| 69 5d 2e 6e 61 6d 65 21 | 3d 30 20 26 26 20 69 3c |i].name!|=0 && i<|
|00005250| 56 4c 53 49 5a 3b 20 69 | 2b 2b 29 0a 09 69 66 28 |VLSIZ; i|++)..if(|
|00005260| 76 6c 69 73 74 5b 69 5d | 2e 74 79 70 65 5f 6f 66 |vlist[i]|.type_of|
|00005270| 5f 76 61 6c 75 65 3d 3d | 74 79 20 26 26 20 73 74 |_value==|ty && st|
|00005280| 72 63 6d 70 28 73 2c 76 | 6c 69 73 74 5b 69 5d 2e |rcmp(s,v|list[i].|
|00005290| 6e 61 6d 65 29 3d 3d 30 | 29 0a 09 09 2f 2a 20 6d |name)==0|).../* m|
|000052a0| 61 74 63 68 20 66 6f 75 | 6e 64 20 2a 2f 0a 09 09 |atch fou|nd */...|
|000052b0| 09 62 72 65 61 6b 3b 0a | 20 20 20 20 69 66 28 69 |.break;.| if(i|
|000052c0| 20 3e 3d 20 56 4c 53 49 | 5a 29 20 7b 0a 09 66 70 | >= VLSI|Z) {..fp|
|000052d0| 72 69 6e 74 66 28 73 74 | 64 65 72 72 2c 22 67 76 |rintf(st|derr,"gv|
|000052e0| 61 64 72 3a 20 6f 75 74 | 20 6f 66 20 72 6f 6f 6d |adr: out| of room|
|000052f0| 20 69 6e 20 76 61 72 69 | 61 62 6c 65 20 6c 69 73 | in vari|able lis|
|00005300| 74 20 66 6f 72 20 25 73 | 5c 6e 22 2c 73 29 3b 0a |t for %s|\n",s);.|
|00005310| 09 65 78 69 74 28 31 29 | 3b 0a 20 20 20 20 7d 0a |.exit(1)|;. }.|
|00005320| 20 20 20 20 2f 2a 20 6e | 6f 74 20 6f 6e 20 6c 69 | /* n|ot on li|
|00005330| 73 74 2c 20 65 6e 74 65 | 72 20 69 74 20 2a 2f 0a |st, ente|r it */.|
|00005340| 20 20 20 20 69 66 28 76 | 6c 69 73 74 5b 69 5d 2e | if(v|list[i].|
|00005350| 6e 61 6d 65 20 3d 3d 20 | 30 29 20 7b 0a 09 76 6c |name == |0) {..vl|
|00005360| 69 73 74 5b 69 5d 2e 6e | 61 6d 65 20 3d 20 6d 79 |ist[i].n|ame = my|
|00005370| 61 6c 6c 6f 63 28 73 74 | 72 6c 65 6e 28 73 29 2b |alloc(st|rlen(s)+|
|00005380| 31 29 3b 0a 09 73 74 72 | 63 70 79 28 76 6c 69 73 |1);..str|cpy(vlis|
|00005390| 74 5b 69 5d 2e 6e 61 6d | 65 2c 73 29 3b 0a 09 76 |t[i].nam|e,s);..v|
|000053a0| 6c 69 73 74 5b 69 5d 2e | 76 61 6c 2e 72 76 61 6c |list[i].|val.rval|
|000053b0| 20 3d 20 30 3b 0a 09 76 | 6c 69 73 74 5b 69 5d 2e | = 0;..v|list[i].|
|000053c0| 74 79 70 65 5f 6f 66 5f | 76 61 6c 75 65 20 3d 20 |type_of_|value = |
|000053d0| 74 79 3b 0a 09 69 66 28 | 74 79 26 54 5f 51 4d 41 |ty;..if(|ty&T_QMA|
|000053e0| 53 4b 20 3d 3d 20 51 5f | 41 52 59 29 0a 09 20 20 |SK == Q_|ARY).. |
|000053f0| 20 20 76 6c 69 73 74 5b | 69 5d 2e 76 61 6c 2e 61 | vlist[|i].val.a|
|00005400| 72 76 61 6c 20 3d 20 6d | 79 61 6c 6c 6f 63 28 31 |rval = m|yalloc(1|
|00005410| 33 2a 73 69 7a 65 6f 66 | 28 75 6e 69 6f 6e 20 76 |3*sizeof|(union v|
|00005420| 61 6c 75 65 29 29 3b 0a | 20 20 20 20 7d 0a 20 20 |alue));.| }. |
|00005430| 20 20 72 65 74 75 72 6e | 28 26 76 6c 69 73 74 5b | return|(&vlist[|
|00005440| 69 5d 29 3b 0a 7d 0a 53 | 48 41 52 5f 45 4f 46 0a |i]);.}.S|HAR_EOF.|
|00005450| 69 66 20 74 65 73 74 20 | 39 31 31 20 2d 6e 65 20 |if test |911 -ne |
|00005460| 22 60 77 63 20 2d 63 20 | 3c 20 27 6e 65 77 62 73 |"`wc -c |< 'newbs|
|00005470| 2f 67 76 61 64 72 2e 63 | 27 60 22 0a 74 68 65 6e |/gvadr.c|'`".then|
|00005480| 0a 09 65 63 68 6f 20 73 | 68 61 72 3a 20 65 72 72 |..echo s|har: err|
|00005490| 6f 72 20 74 72 61 6e 73 | 6d 69 74 74 69 6e 67 20 |or trans|mitting |
|000054a0| 22 27 6e 65 77 62 73 2f | 67 76 61 64 72 2e 63 27 |"'newbs/|gvadr.c'|
|000054b0| 22 20 27 28 73 68 6f 75 | 6c 64 20 68 61 76 65 20 |" '(shou|ld have |
|000054c0| 62 65 65 6e 20 39 31 31 | 20 63 68 61 72 61 63 74 |been 911| charact|
|000054d0| 65 72 73 29 27 0a 66 69 | 0a 66 69 20 23 20 65 6e |ers)'.fi|.fi # en|
|000054e0| 64 20 6f 66 20 6f 76 65 | 72 77 72 69 74 69 6e 67 |d of ove|rwriting|
|000054f0| 20 63 68 65 63 6b 0a 65 | 63 68 6f 20 73 68 61 72 | check.e|cho shar|
|00005500| 3a 20 65 78 74 72 61 63 | 74 69 6e 67 20 22 27 6e |: extrac|ting "'n|
|00005510| 65 77 62 73 2f 6d 61 6b | 65 66 69 6c 65 27 22 20 |ewbs/mak|efile'" |
|00005520| 27 28 31 39 33 20 63 68 | 61 72 61 63 74 65 72 73 |'(193 ch|aracters|
|00005530| 29 27 0a 69 66 20 74 65 | 73 74 20 2d 66 20 27 6e |)'.if te|st -f 'n|
|00005540| 65 77 62 73 2f 6d 61 6b | 65 66 69 6c 65 27 0a 74 |ewbs/mak|efile'.t|
|00005550| 68 65 6e 0a 09 65 63 68 | 6f 20 73 68 61 72 3a 20 |hen..ech|o shar: |
|00005560| 77 69 6c 6c 20 6e 6f 74 | 20 6f 76 65 72 2d 77 72 |will not| over-wr|
|00005570| 69 74 65 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ite exis|ting fil|
|00005580| 65 20 22 27 6e 65 77 62 | 73 2f 6d 61 6b 65 66 69 |e "'newb|s/makefi|
|00005590| 6c 65 27 22 0a 65 6c 73 | 65 0a 73 65 64 20 27 73 |le'".els|e.sed 's|
|000055a0| 2f 5e 58 2f 2f 27 20 3c | 3c 20 5c 53 48 41 52 5f |/^X//' <|< \SHAR_|
|000055b0| 45 4f 46 20 3e 20 27 6e | 65 77 62 73 2f 6d 61 6b |EOF > 'n|ewbs/mak|
|000055c0| 65 66 69 6c 65 27 0a 6f | 70 65 72 61 74 32 2e 6f |efile'.o|perat2.o|
|000055d0| 3a 20 6d 6b 6f 70 2e 73 | 68 20 6f 70 20 72 6f 70 |: mkop.s|h op rop|
|000055e0| 20 73 6f 70 0a 09 6d 6b | 6f 70 2e 73 68 20 3e 6f | sop..mk|op.sh >o|
|000055f0| 70 65 72 61 74 32 2e 63 | 0a 09 63 63 20 2d 63 20 |perat2.c|..cc -c |
|00005600| 6f 70 65 72 61 74 32 2e | 63 0a 09 72 6d 20 6f 70 |operat2.|c..rm op|
|00005610| 65 72 61 74 32 2e 63 0a | 09 3a 20 64 6f 6e 65 20 |erat2.c.|.: done |
|00005620| 6f 70 65 72 61 74 32 2e | 6f 0a 6f 70 3a 20 6d 6b |operat2.|o.op: mk|
|00005630| 6f 70 2e 63 0a 09 63 63 | 20 6d 6b 6f 70 2e 63 20 |op.c..cc| mkop.c |
|00005640| 2d 6f 20 6f 70 0a 72 6f | 70 3a 20 6d 6b 72 62 6f |-o op.ro|p: mkrbo|
|00005650| 70 2e 63 0a 09 63 63 20 | 6d 6b 72 62 6f 70 2e 63 |p.c..cc |mkrbop.c|
|00005660| 20 2d 6f 20 72 6f 70 0a | 73 6f 70 3a 20 6d 6b 73 | -o rop.|sop: mks|
|00005670| 6f 70 2e 63 0a 09 63 63 | 20 6d 6b 73 6f 70 2e 63 |op.c..cc| mksop.c|
|00005680| 20 2d 6f 20 73 6f 70 0a | 53 48 41 52 5f 45 4f 46 | -o sop.|SHAR_EOF|
|00005690| 0a 69 66 20 74 65 73 74 | 20 31 39 33 20 2d 6e 65 |.if test| 193 -ne|
|000056a0| 20 22 60 77 63 20 2d 63 | 20 3c 20 27 6e 65 77 62 | "`wc -c| < 'newb|
|000056b0| 73 2f 6d 61 6b 65 66 69 | 6c 65 27 60 22 0a 74 68 |s/makefi|le'`".th|
|000056c0| 65 6e 0a 09 65 63 68 6f | 20 73 68 61 72 3a 20 65 |en..echo| shar: e|
|000056d0| 72 72 6f 72 20 74 72 61 | 6e 73 6d 69 74 74 69 6e |rror tra|nsmittin|
|000056e0| 67 20 22 27 6e 65 77 62 | 73 2f 6d 61 6b 65 66 69 |g "'newb|s/makefi|
|000056f0| 6c 65 27 22 20 27 28 73 | 68 6f 75 6c 64 20 68 61 |le'" '(s|hould ha|
|00005700| 76 65 20 62 65 65 6e 20 | 31 39 33 20 63 68 61 72 |ve been |193 char|
|00005710| 61 63 74 65 72 73 29 27 | 0a 66 69 0a 66 69 20 23 |acters)'|.fi.fi #|
|00005720| 20 65 6e 64 20 6f 66 20 | 6f 76 65 72 77 72 69 74 | end of |overwrit|
|00005730| 69 6e 67 20 63 68 65 63 | 6b 0a 65 63 68 6f 20 73 |ing chec|k.echo s|
|00005740| 68 61 72 3a 20 65 78 74 | 72 61 63 74 69 6e 67 20 |har: ext|racting |
|00005750| 22 27 6e 65 77 62 73 2f | 6d 61 6b 65 66 69 6c 65 |"'newbs/|makefile|
|00005760| 2e 6f 6c 64 27 22 20 27 | 28 36 36 31 20 63 68 61 |.old'" '|(661 cha|
|00005770| 72 61 63 74 65 72 73 29 | 27 0a 69 66 20 74 65 73 |racters)|'.if tes|
|00005780| 74 20 2d 66 20 27 6e 65 | 77 62 73 2f 6d 61 6b 65 |t -f 'ne|wbs/make|
|00005790| 66 69 6c 65 2e 6f 6c 64 | 27 0a 74 68 65 6e 0a 09 |file.old|'.then..|
|000057a0| 65 63 68 6f 20 73 68 61 | 72 3a 20 77 69 6c 6c 20 |echo sha|r: will |
|000057b0| 6e 6f 74 20 6f 76 65 72 | 2d 77 72 69 74 65 20 65 |not over|-write e|
|000057c0| 78 69 73 74 69 6e 67 20 | 66 69 6c 65 20 22 27 6e |xisting |file "'n|
|000057d0| 65 77 62 73 2f 6d 61 6b | 65 66 69 6c 65 2e 6f 6c |ewbs/mak|efile.ol|
|000057e0| 64 27 22 0a 65 6c 73 65 | 0a 73 65 64 20 27 73 2f |d'".else|.sed 's/|
|000057f0| 5e 58 2f 2f 27 20 3c 3c | 20 5c 53 48 41 52 5f 45 |^X//' <<| \SHAR_E|
|00005800| 4f 46 20 3e 20 27 6e 65 | 77 62 73 2f 6d 61 6b 65 |OF > 'ne|wbs/make|
|00005810| 66 69 6c 65 2e 6f 6c 64 | 27 0a 4f 46 49 4c 45 53 |file.old|'.OFILES|
|00005820| 20 3d 20 6c 65 78 2e 6f | 20 62 73 69 6e 74 2e 6f | = lex.o| bsint.o|
|00005830| 20 61 63 74 69 6f 6e 2e | 6f 20 6f 70 65 72 61 74 | action.|o operat|
|00005840| 2e 6f 20 62 73 6c 69 62 | 2e 6f 20 65 72 72 6f 72 |.o bslib|.o error|
|00005850| 73 2e 6f 0a 50 52 53 4f | 3d 20 62 73 67 72 61 6d |s.o.PRSO|= bsgram|
|00005860| 2e 6f 20 6c 65 78 2e 6f | 20 62 73 6c 69 62 2e 6f |.o lex.o| bslib.o|
|00005870| 0a 49 4e 54 4f 3d 20 62 | 73 69 6e 74 2e 6f 20 61 |.INTO= b|sint.o a|
|00005880| 63 74 69 6f 6e 2e 6f 20 | 6f 70 65 72 61 74 32 2e |ction.o |operat2.|
|00005890| 6f 20 6f 70 65 72 61 74 | 2e 6f 20 62 73 6c 69 62 |o operat|.o bslib|
|000058a0| 2e 6f 20 65 72 72 6f 72 | 73 2e 6f 0a 0a 70 72 73 |.o error|s.o..prs|
|000058b0| 3a 20 24 7b 50 52 53 4f | 7d 0a 09 63 63 20 2d 73 |: ${PRSO|}..cc -s|
|000058c0| 20 24 7b 50 52 53 4f 7d | 20 2d 6f 20 70 72 73 0a | ${PRSO}| -o prs.|
|000058d0| 62 73 67 72 61 6d 2e 6f | 3a 20 62 73 67 72 61 6d |bsgram.o|: bsgram|
|000058e0| 2e 63 20 62 73 64 65 66 | 73 2e 68 0a 09 63 63 20 |.c bsdef|s.h..cc |
|000058f0| 2d 63 20 62 73 67 72 61 | 6d 2e 63 0a 62 73 67 72 |-c bsgra|m.c.bsgr|
|00005900| 61 6d 2e 63 3a 20 62 73 | 67 72 61 6d 2e 79 0a 09 |am.c: bs|gram.y..|
|00005910| 79 61 63 63 20 2d 64 20 | 62 73 67 72 61 6d 2e 79 |yacc -d |bsgram.y|
|00005920| 0a 09 6d 76 20 79 2e 74 | 61 62 2e 63 20 62 73 67 |..mv y.t|ab.c bsg|
|00005930| 72 61 6d 2e 63 0a 09 6d | 76 20 79 2e 74 61 62 2e |ram.c..m|v y.tab.|
|00005940| 68 20 62 73 74 6f 6b 65 | 6e 73 2e 68 0a 0a 69 6e |h bstoke|ns.h..in|
|00005950| 74 3a 20 24 7b 49 4e 54 | 4f 7d 0a 09 63 63 20 24 |t: ${INT|O}..cc $|
|00005960| 7b 49 4e 54 4f 7d 20 2d | 6f 20 69 6e 74 0a 0a 24 |{INTO} -|o int..$|
|00005970| 7b 4f 46 49 4c 45 53 7d | 3a 20 62 73 64 65 66 73 |{OFILES}|: bsdefs|
|00005980| 2e 68 0a 0a 6f 70 65 72 | 61 74 32 2e 6f 3a 20 6d |.h..oper|at2.o: m|
|00005990| 6b 6f 70 2e 73 68 20 6f | 70 20 72 6f 70 20 73 6f |kop.sh o|p rop so|
|000059a0| 70 0a 09 6d 6b 6f 70 2e | 73 68 20 3e 6f 70 65 72 |p..mkop.|sh >oper|
|000059b0| 61 74 32 2e 63 0a 09 63 | 63 20 2d 63 20 6f 70 65 |at2.c..c|c -c ope|
|000059c0| 72 61 74 32 2e 63 0a 09 | 72 6d 20 6f 70 65 72 61 |rat2.c..|rm opera|
|000059d0| 74 32 2e 63 0a 09 3a 20 | 64 6f 6e 65 20 6f 70 65 |t2.c..: |done ope|
|000059e0| 72 61 74 32 2e 6f 0a 6f | 70 3a 20 6d 6b 6f 70 2e |rat2.o.o|p: mkop.|
|000059f0| 63 0a 09 63 63 20 6d 6b | 6f 70 2e 63 20 2d 6f 20 |c..cc mk|op.c -o |
|00005a00| 6f 70 0a 72 6f 70 3a 20 | 6d 6b 72 62 6f 70 2e 63 |op.rop: |mkrbop.c|
|00005a10| 0a 09 63 63 20 6d 6b 72 | 62 6f 70 2e 63 20 2d 6f |..cc mkr|bop.c -o|
|00005a20| 20 72 6f 70 0a 73 6f 70 | 3a 20 6d 6b 73 6f 70 2e | rop.sop|: mksop.|
|00005a30| 63 0a 09 63 63 20 6d 6b | 73 6f 70 2e 63 20 2d 6f |c..cc mk|sop.c -o|
|00005a40| 20 73 6f 70 0a 0a 70 72 | 3a 0a 09 70 72 20 62 73 | sop..pr|:..pr bs|
|00005a50| 67 72 61 6d 2e 79 20 6c | 65 78 2e 63 20 62 73 64 |gram.y l|ex.c bsd|
|00005a60| 65 66 73 2e 68 20 62 73 | 6c 69 62 2e 63 20 62 73 |efs.h bs|lib.c bs|
|00005a70| 69 6e 74 2e 63 20 61 63 | 74 69 6f 6e 2e 63 20 6f |int.c ac|tion.c o|
|00005a80| 70 65 72 61 74 2e 63 20 | 6d 6b 6f 70 2e 63 20 6d |perat.c |mkop.c m|
|00005a90| 6b 72 62 6f 70 2e 63 20 | 6d 6b 73 6f 70 2e 63 20 |krbop.c |mksop.c |
|00005aa0| 65 72 72 6f 72 73 2e 63 | 20 7c 20 6c 70 72 0a 53 |errors.c| | lpr.S|
|00005ab0| 48 41 52 5f 45 4f 46 0a | 69 66 20 74 65 73 74 20 |HAR_EOF.|if test |
|00005ac0| 36 36 31 20 2d 6e 65 20 | 22 60 77 63 20 2d 63 20 |661 -ne |"`wc -c |
|00005ad0| 3c 20 27 6e 65 77 62 73 | 2f 6d 61 6b 65 66 69 6c |< 'newbs|/makefil|
|00005ae0| 65 2e 6f 6c 64 27 60 22 | 0a 74 68 65 6e 0a 09 65 |e.old'`"|.then..e|
|00005af0| 63 68 6f 20 73 68 61 72 | 3a 20 65 72 72 6f 72 20 |cho shar|: error |
|00005b00| 74 72 61 6e 73 6d 69 74 | 74 69 6e 67 20 22 27 6e |transmit|ting "'n|
|00005b10| 65 77 62 73 2f 6d 61 6b | 65 66 69 6c 65 2e 6f 6c |ewbs/mak|efile.ol|
|00005b20| 64 27 22 20 27 28 73 68 | 6f 75 6c 64 20 68 61 76 |d'" '(sh|ould hav|
|00005b30| 65 20 62 65 65 6e 20 36 | 36 31 20 63 68 61 72 61 |e been 6|61 chara|
|00005b40| 63 74 65 72 73 29 27 0a | 66 69 0a 66 69 20 23 20 |cters)'.|fi.fi # |
|00005b50| 65 6e 64 20 6f 66 20 6f | 76 65 72 77 72 69 74 69 |end of o|verwriti|
|00005b60| 6e 67 20 63 68 65 63 6b | 0a 65 63 68 6f 20 73 68 |ng check|.echo sh|
|00005b70| 61 72 3a 20 65 78 74 72 | 61 63 74 69 6e 67 20 22 |ar: extr|acting "|
|00005b80| 27 6e 65 77 62 73 2f 6d | 6b 6f 70 2e 63 27 22 20 |'newbs/m|kop.c'" |
|00005b90| 27 28 31 30 33 30 20 63 | 68 61 72 61 63 74 65 72 |'(1030 c|haracter|
|00005ba0| 73 29 27 0a 69 66 20 74 | 65 73 74 20 2d 66 20 27 |s)'.if t|est -f '|
|00005bb0| 6e 65 77 62 73 2f 6d 6b | 6f 70 2e 63 27 0a 74 68 |newbs/mk|op.c'.th|
|00005bc0| 65 6e 0a 09 65 63 68 6f | 20 73 68 61 72 3a 20 77 |en..echo| shar: w|
|00005bd0| 69 6c 6c 20 6e 6f 74 20 | 6f 76 65 72 2d 77 72 69 |ill not |over-wri|
|00005be0| 74 65 20 65 78 69 73 74 | 69 6e 67 20 66 69 6c 65 |te exist|ing file|
|00005bf0| 20 22 27 6e 65 77 62 73 | 2f 6d 6b 6f 70 2e 63 27 | "'newbs|/mkop.c'|
|00005c00| 22 0a 65 6c 73 65 0a 73 | 65 64 20 27 73 2f 5e 58 |".else.s|ed 's/^X|
|00005c10| 2f 2f 27 20 3c 3c 20 5c | 53 48 41 52 5f 45 4f 46 |//' << \|SHAR_EOF|
|00005c20| 20 3e 20 27 6e 65 77 62 | 73 2f 6d 6b 6f 70 2e 63 | > 'newb|s/mkop.c|
|00005c30| 27 0a 2f 2a 20 6d 6b 6f | 70 2e 63 20 2d 2d 20 6d |'./* mko|p.c -- m|
|00005c40| 61 6b 65 20 6f 70 65 72 | 61 74 6f 72 20 66 75 6e |ake oper|ator fun|
|00005c50| 63 74 69 6f 6e 20 66 6f | 72 20 62 73 2e 0a 2a 0a |ction fo|r bs..*.|
|00005c60| 2a 09 55 53 41 47 45 3a | 20 6f 70 20 6e 61 6d 65 |*.USAGE:| op name|
|00005c70| 20 74 79 70 65 20 6f 70 | 65 72 20 74 61 67 0a 2a | type op|er tag.*|
|00005c80| 0a 2a 20 77 68 65 72 65 | 3a 09 6e 61 6d 65 3a 20 |.* where|:.name: |
|00005c90| 6e 61 6d 65 20 6f 66 20 | 66 75 6e 63 74 69 6f 6e |name of |function|
|00005ca0| 20 67 65 6e 65 72 61 74 | 65 64 2e 0a 2a 09 09 74 | generat|ed..*..t|
|00005cb0| 79 70 65 3a 20 64 61 74 | 61 20 74 79 70 65 20 6f |ype: dat|a type o|
|00005cc0| 66 20 6f 70 65 72 61 74 | 69 6f 6e 2e 0a 2a 09 09 |f operat|ion..*..|
|00005cd0| 6f 70 65 72 3a 20 6f 70 | 65 72 61 74 6f 72 20 66 |oper: op|erator f|
|00005ce0| 6f 72 20 6f 70 65 72 61 | 74 69 6f 6e 2e 0a 2a 09 |or opera|tion..*.|
|00005cf0| 09 74 61 67 3a 20 73 74 | 72 75 63 74 75 72 65 20 |.tag: st|ructure |
|00005d00| 74 61 67 20 6e 61 6d 65 | 2e 0a 2a 0a 2a 20 54 68 |tag name|..*.* Th|
|00005d10| 69 73 20 77 69 6c 6c 20 | 6f 6e 6c 79 20 77 6f 72 |is will |only wor|
|00005d20| 6b 20 77 69 74 68 20 54 | 5f 49 4e 54 20 61 6e 64 |k with T|_INT and|
|00005d30| 20 54 5f 44 42 4c 20 6f | 70 65 72 61 74 6f 72 73 | T_DBL o|perators|
|00005d40| 2c 20 54 5f 43 48 52 20 | 6f 70 65 72 61 74 69 6f |, T_CHR |operatio|
|00005d50| 6e 73 0a 2a 20 64 6f 20 | 6e 6f 74 20 62 6f 69 6c |ns.* do |not boil|
|00005d60| 20 64 6f 77 6e 20 74 6f | 20 61 20 73 69 6d 70 6c | down to| a simpl|
|00005d70| 65 20 6f 70 65 72 61 74 | 69 6f 6e 2e 0a 2a 2f 0a |e operat|ion..*/.|
|00005d80| 23 69 6e 63 6c 75 64 65 | 20 3c 73 74 64 69 6f 2e |#include| <stdio.|
|00005d90| 68 3e 0a 0a 6d 61 69 6e | 28 61 72 67 63 2c 61 72 |h>..main|(argc,ar|
|00005da0| 67 76 29 0a 63 68 61 72 | 20 2a 2a 61 72 67 76 3b |gv).char| **argv;|
|00005db0| 0a 69 6e 74 20 61 72 67 | 63 3b 0a 7b 0a 63 68 61 |.int arg|c;.{.cha|
|00005dc0| 72 20 2a 6e 61 6d 65 2c | 2a 74 79 70 65 2c 2a 6f |r *name,|*type,*o|
|00005dd0| 70 65 72 2c 2a 74 61 67 | 3b 0a 0a 69 66 28 61 72 |per,*tag|;..if(ar|
|00005de0| 67 63 20 21 3d 20 35 29 | 20 7b 0a 09 66 70 72 69 |gc != 5)| {..fpri|
|00005df0| 6e 74 66 28 73 74 64 65 | 72 72 2c 22 61 72 67 20 |ntf(stde|rr,"arg |
|00005e00| 63 6f 75 6e 74 5c 6e 22 | 29 3b 0a 09 65 78 69 74 |count\n"|);..exit|
|00005e10| 28 31 29 3b 0a 7d 0a 6e | 61 6d 65 20 3d 20 61 72 |(1);.}.n|ame = ar|
|00005e20| 67 76 5b 31 5d 3b 20 74 | 79 70 65 20 3d 20 61 72 |gv[1]; t|ype = ar|
|00005e30| 67 76 5b 32 5d 3b 20 6f | 70 65 72 20 3d 20 61 72 |gv[2]; o|per = ar|
|00005e40| 67 76 5b 33 5d 3b 20 74 | 61 67 20 3d 20 61 72 67 |gv[3]; t|ag = arg|
|00005e50| 76 5b 34 5d 3b 0a 0a 70 | 72 69 6e 74 66 28 22 5f |v[4];..p|rintf("_|
|00005e60| 25 73 28 6c 2c 70 29 5c | 6e 22 2c 6e 61 6d 65 29 |%s(l,p)\|n",name)|
|00005e70| 3b 0a 70 72 69 6e 74 66 | 28 22 69 6e 74 20 28 2a |;.printf|("int (*|
|00005e80| 6c 5b 5d 29 28 29 2c 70 | 3b 5c 6e 22 29 3b 0a 70 |l[])(),p|;\n");.p|
|00005e90| 72 69 6e 74 66 28 22 7b | 5c 6e 22 29 3b 0a 70 72 |rintf("{|\n");.pr|
|00005ea0| 69 6e 74 66 28 22 20 20 | 20 20 75 6e 69 6f 6e 20 |intf(" | union |
|00005eb0| 76 61 6c 75 65 20 72 67 | 31 2c 72 67 32 2c 72 65 |value rg|1,rg2,re|
|00005ec0| 73 75 6c 74 3b 5c 6e 22 | 29 3b 0a 70 72 69 6e 74 |sult;\n"|);.print|
|00005ed0| 66 28 22 5c 6e 22 29 3b | 0a 70 72 69 6e 74 66 28 |f("\n");|.printf(|
|00005ee0| 22 20 20 20 20 69 66 28 | 28 73 74 61 74 75 73 26 |" if(|(status&|
|00005ef0| 58 4d 4f 44 45 29 3d 3d | 4d 5f 52 45 41 44 29 7b |XMODE)==|M_READ){|
|00005f00| 20 64 74 79 70 65 3d 54 | 5f 25 73 3b 20 67 6f 74 | dtype=T|_%s; got|
|00005f10| 6f 20 45 58 45 43 3b 7d | 5c 6e 22 2c 74 79 70 65 |o EXEC;}|\n",type|
|00005f20| 29 3b 0a 70 72 69 6e 74 | 66 28 22 20 20 20 20 69 |);.print|f(" i|
|00005f30| 66 28 28 73 74 61 74 75 | 73 26 58 4d 4f 44 45 29 |f((statu|s&XMODE)|
|00005f40| 20 3d 3d 20 4d 5f 45 58 | 45 43 55 54 45 29 20 7b | == M_EX|ECUTE) {|
|00005f50| 5c 6e 22 29 3b 0a 70 72 | 69 6e 74 66 28 22 45 58 |\n");.pr|intf("EX|
|00005f60| 45 43 3a 5c 6e 22 29 3b | 0a 70 72 69 6e 74 66 28 |EC:\n");|.printf(|
|00005f70| 22 09 72 67 32 20 3d 20 | 70 6f 70 28 29 3b 5c 6e |".rg2 = |pop();\n|
|00005f80| 22 29 3b 0a 70 72 69 6e | 74 66 28 22 09 72 67 31 |");.prin|tf(".rg1|
|00005f90| 20 3d 20 70 6f 70 28 29 | 3b 5c 6e 22 29 3b 0a 70 | = pop()|;\n");.p|
|00005fa0| 72 69 6e 74 66 28 22 09 | 72 65 73 75 6c 74 2e 25 |rintf(".|result.%|
|00005fb0| 73 20 3d 20 72 67 31 2e | 25 73 20 25 73 20 72 67 |s = rg1.|%s %s rg|
|00005fc0| 32 2e 25 73 3b 5c 6e 22 | 2c 74 61 67 2c 74 61 67 |2.%s;\n"|,tag,tag|
|00005fd0| 2c 6f 70 65 72 2c 74 61 | 67 29 3b 0a 70 72 69 6e |,oper,ta|g);.prin|
|00005fe0| 74 66 28 22 09 70 75 73 | 68 28 72 65 73 75 6c 74 |tf(".pus|h(result|
|00005ff0| 29 3b 5c 6e 22 29 3b 0a | 70 72 69 6e 74 66 28 22 |);\n");.|printf("|
|00006000| 20 20 20 20 7d 5c 6e 22 | 29 3b 0a 70 72 69 6e 74 | }\n"|);.print|
|00006010| 66 28 22 20 20 20 20 72 | 65 74 75 72 6e 28 70 29 |f(" r|eturn(p)|
|00006020| 3b 5c 6e 22 29 3b 0a 70 | 72 69 6e 74 66 28 22 7d |;\n");.p|rintf("}|
|00006030| 5c 6e 22 29 3b 0a 7d 0a | 53 48 41 52 5f 45 4f 46 |\n");.}.|SHAR_EOF|
|00006040| 0a 69 66 20 74 65 73 74 | 20 31 30 33 30 20 2d 6e |.if test| 1030 -n|
|00006050| 65 20 22 60 77 63 20 2d | 63 20 3c 20 27 6e 65 77 |e "`wc -|c < 'new|
|00006060| 62 73 2f 6d 6b 6f 70 2e | 63 27 60 22 0a 74 68 65 |bs/mkop.|c'`".the|
|00006070| 6e 0a 09 65 63 68 6f 20 | 73 68 61 72 3a 20 65 72 |n..echo |shar: er|
|00006080| 72 6f 72 20 74 72 61 6e | 73 6d 69 74 74 69 6e 67 |ror tran|smitting|
|00006090| 20 22 27 6e 65 77 62 73 | 2f 6d 6b 6f 70 2e 63 27 | "'newbs|/mkop.c'|
|000060a0| 22 20 27 28 73 68 6f 75 | 6c 64 20 68 61 76 65 20 |" '(shou|ld have |
|000060b0| 62 65 65 6e 20 31 30 33 | 30 20 63 68 61 72 61 63 |been 103|0 charac|
|000060c0| 74 65 72 73 29 27 0a 66 | 69 0a 66 69 20 23 20 65 |ters)'.f|i.fi # e|
|000060d0| 6e 64 20 6f 66 20 6f 76 | 65 72 77 72 69 74 69 6e |nd of ov|erwritin|
|000060e0| 67 20 63 68 65 63 6b 0a | 65 63 68 6f 20 73 68 61 |g check.|echo sha|
|000060f0| 72 3a 20 65 78 74 72 61 | 63 74 69 6e 67 20 22 27 |r: extra|cting "'|
|00006100| 6e 65 77 62 73 2f 6d 6b | 6f 70 2e 73 68 27 22 20 |newbs/mk|op.sh'" |
|00006110| 27 28 34 38 32 20 63 68 | 61 72 61 63 74 65 72 73 |'(482 ch|aracters|
|00006120| 29 27 0a 69 66 20 74 65 | 73 74 20 2d 66 20 27 6e |)'.if te|st -f 'n|
|00006130| 65 77 62 73 2f 6d 6b 6f | 70 2e 73 68 27 0a 74 68 |ewbs/mko|p.sh'.th|
|00006140| 65 6e 0a 09 65 63 68 6f | 20 73 68 61 72 3a 20 77 |en..echo| shar: w|
|00006150| 69 6c 6c 20 6e 6f 74 20 | 6f 76 65 72 2d 77 72 69 |ill not |over-wri|
|00006160| 74 65 20 65 78 69 73 74 | 69 6e 67 20 66 69 6c 65 |te exist|ing file|
|00006170| 20 22 27 6e 65 77 62 73 | 2f 6d 6b 6f 70 2e 73 68 | "'newbs|/mkop.sh|
|00006180| 27 22 0a 65 6c 73 65 0a | 73 65 64 20 27 73 2f 5e |'".else.|sed 's/^|
|00006190| 58 2f 2f 27 20 3c 3c 20 | 5c 53 48 41 52 5f 45 4f |X//' << |\SHAR_EO|
|000061a0| 46 20 3e 20 27 6e 65 77 | 62 73 2f 6d 6b 6f 70 2e |F > 'new|bs/mkop.|
|000061b0| 73 68 27 0a 65 63 68 6f | 20 22 2f 2a 20 6f 70 65 |sh'.echo| "/* ope|
|000061c0| 72 61 74 32 2e 63 20 2d | 2d 20 6d 6f 72 65 20 6f |rat2.c -|- more o|
|000061d0| 70 65 72 61 74 6f 72 73 | 20 66 6f 72 20 62 73 2e |perators| for bs.|
|000061e0| 20 20 74 68 65 20 6f 6e | 65 73 20 74 68 61 74 20 | the on|es that |
|000061f0| 61 72 65 20 61 6c 6c 20 | 61 6c 69 6b 65 2e 22 0a |are all |alike.".|
|00006200| 65 63 68 6f 20 22 20 2a | 2f 22 0a 65 63 68 6f 20 |echo " *|/".echo |
|00006210| 22 22 0a 65 63 68 6f 20 | 22 23 69 6e 63 6c 75 64 |"".echo |"#includ|
|00006220| 65 20 5c 22 62 73 64 65 | 66 73 2e 68 5c 22 22 0a |e \"bsde|fs.h\"".|
|00006230| 65 63 68 6f 20 22 22 0a | 6f 70 20 22 72 61 64 64 |echo "".|op "radd|
|00006240| 22 20 22 44 42 4c 22 20 | 22 2b 22 20 22 72 76 61 |" "DBL" |"+" "rva|
|00006250| 6c 22 20 0a 6f 70 20 22 | 72 73 75 62 22 20 22 44 |l" .op "|rsub" "D|
|00006260| 42 4c 22 20 22 2d 22 20 | 22 72 76 61 6c 22 20 0a |BL" "-" |"rval" .|
|00006270| 6f 70 20 22 72 6d 75 6c | 74 22 20 22 44 42 4c 22 |op "rmul|t" "DBL"|
|00006280| 20 22 2a 22 20 22 72 76 | 61 6c 22 20 0a 6f 70 20 | "*" "rv|al" .op |
|00006290| 22 72 64 69 76 22 20 22 | 44 42 4c 22 20 22 2f 22 |"rdiv" "|DBL" "/"|
|000062a0| 20 22 72 76 61 6c 22 20 | 0a 72 6f 70 20 22 72 65 | "rval" |.rop "re|
|000062b0| 71 22 20 22 3d 3d 22 0a | 73 6f 70 20 22 73 65 71 |q" "==".|sop "seq|
|000062c0| 22 20 22 3d 3d 22 0a 72 | 6f 70 20 22 72 6e 65 71 |" "==".r|op "rneq|
|000062d0| 22 20 22 21 3d 22 0a 73 | 6f 70 20 22 73 6e 65 71 |" "!=".s|op "sneq|
|000062e0| 22 20 22 21 3d 22 0a 72 | 6f 70 20 22 72 6c 65 71 |" "!=".r|op "rleq|
|000062f0| 22 20 22 3c 3d 22 0a 73 | 6f 70 20 22 73 6c 65 71 |" "<=".s|op "sleq|
|00006300| 22 20 22 3c 3d 22 0a 72 | 6f 70 20 22 72 6c 74 22 |" "<=".r|op "rlt"|
|00006310| 20 22 3c 22 0a 73 6f 70 | 20 22 73 6c 74 22 20 22 | "<".sop| "slt" "|
|00006320| 3c 22 0a 72 6f 70 20 22 | 72 67 65 71 22 20 22 3e |<".rop "|rgeq" ">|
|00006330| 3d 22 0a 73 6f 70 20 22 | 73 67 65 71 22 20 22 3e |=".sop "|sgeq" ">|
|00006340| 3d 22 0a 72 6f 70 20 22 | 72 67 74 22 20 22 3e 22 |=".rop "|rgt" ">"|
|00006350| 0a 73 6f 70 20 22 73 67 | 74 22 20 22 3e 22 0a 6f |.sop "sg|t" ">".o|
|00006360| 70 20 22 6f 72 22 20 22 | 49 4e 54 22 20 22 7c 7c |p "or" "|INT" "|||
|00006370| 22 20 22 69 76 61 6c 22 | 20 0a 6f 70 20 22 61 6e |" "ival"| .op "an|
|00006380| 64 22 20 22 49 4e 54 22 | 20 22 26 26 22 20 22 69 |d" "INT"| "&&" "i|
|00006390| 76 61 6c 22 20 0a 53 48 | 41 52 5f 45 4f 46 0a 69 |val" .SH|AR_EOF.i|
|000063a0| 66 20 74 65 73 74 20 34 | 38 32 20 2d 6e 65 20 22 |f test 4|82 -ne "|
|000063b0| 60 77 63 20 2d 63 20 3c | 20 27 6e 65 77 62 73 2f |`wc -c <| 'newbs/|
|000063c0| 6d 6b 6f 70 2e 73 68 27 | 60 22 0a 74 68 65 6e 0a |mkop.sh'|`".then.|
|000063d0| 09 65 63 68 6f 20 73 68 | 61 72 3a 20 65 72 72 6f |.echo sh|ar: erro|
|000063e0| 72 20 74 72 61 6e 73 6d | 69 74 74 69 6e 67 20 22 |r transm|itting "|
|000063f0| 27 6e 65 77 62 73 2f 6d | 6b 6f 70 2e 73 68 27 22 |'newbs/m|kop.sh'"|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.