home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / x / volume4 / xhpgl / part01 next >
SHell self-extracting ARchive  |  1989-07-16  |  42.3 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: part01

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Newsgroup Content (archive/news) magic Supported
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
100% dexvert X11 Bitmap (image/xbm) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file news text default
99% file xbm image (16x, ASCII text default
100% dexmagic PrintFox/Pagefox WEAK 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/news default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 50 61 74 68 3a 20 75 75 | 6e 65 74 21 69 73 6c 61 |Path: uu|net!isla|
|00000010| 6e 64 21 61 72 67 76 0a | 46 72 6f 6d 3a 20 61 72 |nd!argv.|From: ar|
|00000020| 67 76 40 69 73 6c 61 6e | 64 2e 75 75 2e 6e 65 74 |gv@islan|d.uu.net|
|00000030| 20 28 44 61 6e 20 48 65 | 6c 6c 65 72 29 0a 4e 65 | (Dan He|ller).Ne|
|00000040| 77 73 67 72 6f 75 70 73 | 3a 20 63 6f 6d 70 2e 73 |wsgroups|: comp.s|
|00000050| 6f 75 72 63 65 73 2e 78 | 0a 53 75 62 6a 65 63 74 |ources.x|.Subject|
|00000060| 3a 20 76 30 34 69 30 34 | 35 3a 20 58 68 70 67 6c |: v04i04|5: Xhpgl|
|00000070| 20 68 70 67 6c 20 37 34 | 37 30 20 66 6f 72 20 58 | hpgl 74|70 for X|
|00000080| 31 30 2c 20 50 61 72 74 | 30 31 2f 30 31 0a 4d 65 |10, Part|01/01.Me|
|00000090| 73 73 61 67 65 2d 49 44 | 3a 20 3c 38 37 36 40 69 |ssage-ID|: <876@i|
|000000a0| 73 6c 61 6e 64 2e 75 75 | 2e 6e 65 74 3e 0a 44 61 |sland.uu|.net>.Da|
|000000b0| 74 65 3a 20 31 37 20 4a | 75 6c 20 38 39 20 30 36 |te: 17 J|ul 89 06|
|000000c0| 3a 33 31 3a 30 33 20 47 | 4d 54 0a 4f 72 67 61 6e |:31:03 G|MT.Organ|
|000000d0| 69 7a 61 74 69 6f 6e 3a | 20 49 73 6c 61 6e 64 20 |ization:| Island |
|000000e0| 47 72 61 70 68 69 63 73 | 2c 20 4d 61 72 69 6e 20 |Graphics|, Marin |
|000000f0| 43 6f 75 6e 74 79 2c 20 | 43 61 6c 69 66 6f 72 6e |County, |Californ|
|00000100| 69 61 0a 4c 69 6e 65 73 | 3a 20 31 33 36 34 0a 41 |ia.Lines|: 1364.A|
|00000110| 70 70 72 6f 76 65 64 3a | 20 69 73 6c 61 6e 64 21 |pproved:| island!|
|00000120| 61 72 67 76 40 73 75 6e | 2e 63 6f 6d 0a 0a 53 75 |argv@sun|.com..Su|
|00000130| 62 6d 69 74 74 65 64 2d | 62 79 3a 20 52 61 6e 64 |bmitted-|by: Rand|
|00000140| 79 20 4c 2e 20 59 61 63 | 68 20 3c 72 79 61 63 68 |y L. Yac|h <ryach|
|00000150| 40 73 65 64 6f 6e 61 2e | 69 6e 74 65 6c 2e 63 6f |@sedona.|intel.co|
|00000160| 6d 3e 0a 50 6f 73 74 69 | 6e 67 2d 6e 75 6d 62 65 |m>.Posti|ng-numbe|
|00000170| 72 3a 20 56 6f 6c 75 6d | 65 20 34 2c 20 49 73 73 |r: Volum|e 4, Iss|
|00000180| 75 65 20 34 35 0a 41 72 | 63 68 69 76 65 2d 6e 61 |ue 45.Ar|chive-na|
|00000190| 6d 65 3a 20 78 68 70 67 | 6c 2f 70 61 72 74 30 31 |me: xhpg|l/part01|
|000001a0| 0a 0a 5b 20 4e 6f 74 20 | 74 65 73 74 65 64 20 2d |..[ Not |tested -|
|000001b0| 2d 58 31 30 20 73 74 75 | 66 66 2e 20 2d 2d 61 72 |-X10 stu|ff. --ar|
|000001c0| 67 76 20 5d 0a 0a 0a 41 | 20 77 68 69 6c 65 20 61 |gv ]...A| while a|
|000001d0| 67 6f 20 49 20 73 75 62 | 6d 69 74 74 65 64 20 61 |go I sub|mitted a|
|000001e0| 20 72 65 71 75 65 73 74 | 20 74 6f 20 74 68 65 20 | request| to the |
|000001f0| 6e 65 74 20 66 6f 72 20 | 61 6e 79 20 70 69 65 63 |net for |any piec|
|00000200| 65 20 6f 66 20 73 6f 66 | 74 77 61 72 65 20 74 68 |e of sof|tware th|
|00000210| 61 74 0a 77 69 6c 6c 20 | 72 65 61 64 20 68 70 67 |at.will |read hpg|
|00000220| 6c 20 73 79 6e 74 61 78 | 20 61 6e 64 20 64 69 73 |l syntax| and dis|
|00000230| 70 6c 61 79 20 69 74 20 | 6f 6e 20 61 6e 20 58 20 |play it |on an X |
|00000240| 64 69 73 70 6c 61 79 2e | 20 20 49 20 6e 65 76 65 |display.| I neve|
|00000250| 72 20 67 6f 74 20 61 6e | 79 20 72 65 73 70 6f 6e |r got an|y respon|
|00000260| 63 65 0a 73 6f 20 49 20 | 77 72 6f 74 65 20 6d 79 |ce.so I |wrote my|
|00000270| 20 6f 77 6e 2e 20 20 48 | 65 72 65 20 69 73 20 61 | own. H|ere is a|
|00000280| 20 63 72 75 64 65 20 76 | 65 72 73 69 6f 6e 20 74 | crude v|ersion t|
|00000290| 68 61 74 20 77 6f 72 6b | 73 20 75 6e 73 69 6e 67 |hat work|s unsing|
|000002a0| 20 58 31 30 2e 33 20 61 | 6e 64 20 58 31 30 2e 34 | X10.3 a|nd X10.4|
|000002b0| 2e 0a 49 74 20 68 61 73 | 20 62 65 65 6e 20 74 65 |..It has| been te|
|000002c0| 73 74 65 64 20 6f 6e 20 | 61 20 73 75 6e 20 33 38 |sted on |a sun 38|
|000002d0| 36 69 20 72 75 6e 6e 69 | 6e 67 20 73 75 6e 6f 73 |6i runni|ng sunos|
|000002e0| 20 34 2e 30 2e 30 20 61 | 6e 64 20 6f 6e 20 75 6c | 4.0.0 a|nd on ul|
|000002f0| 74 72 69 78 20 32 2e 32 | 2e 20 20 49 20 0a 74 61 |trix 2.2|. I .ta|
|00000300| 6b 65 20 6e 6f 20 72 65 | 73 70 6f 6e 73 69 62 69 |ke no re|sponsibi|
|00000310| 6c 69 74 79 20 66 6f 72 | 20 74 68 65 20 63 6f 64 |lity for| the cod|
|00000320| 65 20 62 75 74 20 49 20 | 61 6d 20 6f 70 65 6e 20 |e but I |am open |
|00000330| 74 6f 20 63 6f 6d 6d 65 | 6e 74 73 20 61 6e 64 20 |to comme|nts and |
|00000340| 73 75 67 67 65 73 74 69 | 6f 6e 73 2e 0a 0a 0a 23 |suggesti|ons....#|
|00000350| 21 2f 62 69 6e 2f 73 68 | 0a 23 20 54 68 69 73 20 |!/bin/sh|.# This |
|00000360| 69 73 20 61 20 73 68 65 | 6c 6c 20 61 72 63 68 69 |is a she|ll archi|
|00000370| 76 65 2e 20 20 52 65 6d | 6f 76 65 20 61 6e 79 74 |ve. Rem|ove anyt|
|00000380| 68 69 6e 67 20 62 65 66 | 6f 72 65 20 74 68 69 73 |hing bef|ore this|
|00000390| 20 6c 69 6e 65 2c 0a 23 | 20 74 68 65 6e 20 75 6e | line,.#| then un|
|000003a0| 70 61 63 6b 20 69 74 20 | 62 79 20 73 61 76 69 6e |pack it |by savin|
|000003b0| 67 20 69 74 20 69 6e 20 | 61 20 66 69 6c 65 20 61 |g it in |a file a|
|000003c0| 6e 64 20 74 79 70 69 6e | 67 20 22 73 68 20 66 69 |nd typin|g "sh fi|
|000003d0| 6c 65 22 2e 0a 23 20 49 | 66 20 61 6c 6c 20 67 6f |le"..# I|f all go|
|000003e0| 65 73 20 77 65 6c 6c 2c | 20 79 6f 75 20 77 69 6c |es well,| you wil|
|000003f0| 6c 20 73 65 65 20 74 68 | 65 20 6d 65 73 73 61 67 |l see th|e messag|
|00000400| 65 20 22 4e 6f 20 70 72 | 6f 62 6c 65 6d 73 20 66 |e "No pr|oblems f|
|00000410| 6f 75 6e 64 2e 22 0a 23 | 20 54 68 69 73 20 61 72 |ound.".#| This ar|
|00000420| 63 68 69 76 65 20 77 61 | 73 20 70 72 6f 64 75 63 |chive wa|s produc|
|00000430| 65 64 20 62 79 20 52 61 | 6e 64 79 73 20 69 6d 69 |ed by Ra|ndys imi|
|00000440| 74 61 74 69 6f 6e 20 73 | 68 61 72 20 70 72 6f 67 |tation s|har prog|
|00000450| 72 61 6d 2e 0a 23 20 54 | 68 65 20 72 65 61 6c 20 |ram..# T|he real |
|00000460| 73 68 61 72 20 77 61 73 | 20 6e 6f 74 20 61 76 61 |shar was| not ava|
|00000470| 69 6c 61 62 6c 65 2e 0a | 23 20 50 6c 65 61 73 65 |ilable..|# Please|
|00000480| 20 69 6e 66 6f 72 6d 20 | 52 61 6e 64 79 20 6f 66 | inform |Randy of|
|00000490| 20 61 6e 79 20 70 72 6f | 62 6c 65 6d 73 2e 0a 23 | any pro|blems..#|
|000004a0| 20 45 78 69 74 20 73 74 | 61 74 75 73 3b 20 73 65 | Exit st|atus; se|
|000004b0| 74 20 74 6f 20 31 20 6f | 6e 20 22 77 63 22 20 65 |t to 1 o|n "wc" e|
|000004c0| 72 72 6f 72 73 20 6f 72 | 20 69 66 20 77 6f 75 6c |rrors or| if woul|
|000004d0| 64 20 6f 76 65 72 77 72 | 69 74 65 2e 0a 53 54 41 |d overwr|ite..STA|
|000004e0| 54 55 53 3d 30 0a 23 20 | 43 6f 6e 74 65 6e 74 73 |TUS=0.# |Contents|
|000004f0| 3a 20 20 62 6c 61 63 6b | 2e 62 69 74 6d 61 70 20 |: black|.bitmap |
|00000500| 68 70 63 6f 6c 6f 72 73 | 20 68 70 67 6c 2e 6c 20 |hpcolors| hpgl.l |
|00000510| 68 70 67 6c 2e 79 20 70 | 63 2e 78 77 20 78 68 70 |hpgl.y p|c.xw xhp|
|00000520| 67 6c 2e 63 20 78 68 70 | 67 6c 2e 6d 61 6e 20 4d |gl.c xhp|gl.man M|
|00000530| 61 6b 65 66 69 6c 65 20 | 52 45 41 44 4d 45 0a 0a |akefile |README..|
|00000540| 65 63 68 6f 20 78 20 2d | 20 62 6c 61 63 6b 2e 62 |echo x -| black.b|
|00000550| 69 74 6d 61 70 0a 69 66 | 20 74 65 73 74 20 2d 66 |itmap.if| test -f|
|00000560| 20 62 6c 61 63 6b 2e 62 | 69 74 6d 61 70 20 3b 20 | black.b|itmap ; |
|00000570| 74 68 65 6e 0a 20 20 20 | 20 65 63 68 6f 20 62 6c |then. | echo bl|
|00000580| 61 63 6b 2e 62 69 74 6d | 61 70 20 65 78 69 73 74 |ack.bitm|ap exist|
|00000590| 73 2c 20 70 75 74 74 69 | 6e 67 20 6f 75 74 70 75 |s, putti|ng outpu|
|000005a0| 74 20 69 6e 20 24 24 62 | 6c 61 63 6b 2e 62 69 74 |t in $$b|lack.bit|
|000005b0| 6d 61 70 0a 20 20 20 20 | 4f 55 54 3d 24 24 62 6c |map. |OUT=$$bl|
|000005c0| 61 63 6b 2e 62 69 74 6d | 61 70 0a 20 20 20 20 53 |ack.bitm|ap. S|
|000005d0| 54 41 54 55 53 3d 31 0a | 65 6c 73 65 0a 20 20 20 |TATUS=1.|else. |
|000005e0| 20 4f 55 54 3d 62 6c 61 | 63 6b 2e 62 69 74 6d 61 | OUT=bla|ck.bitma|
|000005f0| 70 0a 66 69 0a 73 65 64 | 20 27 73 2f 5e 58 2f 2f |p.fi.sed| 's/^X//|
|00000600| 27 20 3e 20 24 4f 55 54 | 20 3c 3c 27 40 2f 2f 45 |' > $OUT| <<'@//E|
|00000610| 2a 4f 2a 46 20 62 6c 61 | 63 6b 2e 62 69 74 6d 61 |*O*F bla|ck.bitma|
|00000620| 70 2f 2f 27 0a 58 23 64 | 65 66 69 6e 65 20 62 6c |p//'.X#d|efine bl|
|00000630| 61 63 6b 5f 77 69 64 74 | 68 20 31 36 0a 58 23 64 |ack_widt|h 16.X#d|
|00000640| 65 66 69 6e 65 20 62 6c | 61 63 6b 5f 68 65 69 67 |efine bl|ack_heig|
|00000650| 68 74 20 31 36 0a 58 73 | 74 61 74 69 63 20 73 68 |ht 16.Xs|tatic sh|
|00000660| 6f 72 74 20 62 6c 61 63 | 6b 5f 62 69 74 73 5b 5d |ort blac|k_bits[]|
|00000670| 20 3d 20 7b 0a 58 20 20 | 20 30 78 66 66 66 66 2c | = {.X | 0xffff,|
|00000680| 20 30 78 66 66 66 66 2c | 20 30 78 66 66 66 66 2c | 0xffff,| 0xffff,|
|00000690| 20 30 78 66 66 66 66 2c | 0a 58 20 20 20 30 78 66 | 0xffff,|.X 0xf|
|000006a0| 66 66 66 2c 20 30 78 66 | 66 66 66 2c 20 30 78 66 |fff, 0xf|fff, 0xf|
|000006b0| 66 66 66 2c 20 30 78 66 | 66 66 66 2c 0a 58 20 20 |fff, 0xf|fff,.X |
|000006c0| 20 30 78 66 66 66 66 2c | 20 30 78 66 66 66 66 2c | 0xffff,| 0xffff,|
|000006d0| 20 30 78 66 66 66 66 2c | 20 30 78 66 66 66 66 2c | 0xffff,| 0xffff,|
|000006e0| 0a 58 20 20 20 30 78 66 | 66 66 66 2c 20 30 78 66 |.X 0xf|fff, 0xf|
|000006f0| 66 66 66 2c 20 30 78 66 | 66 66 66 2c 20 30 78 66 |fff, 0xf|fff, 0xf|
|00000700| 66 66 66 7d 3b 0a 40 2f | 2f 45 2a 4f 2a 46 20 62 |fff};.@/|/E*O*F b|
|00000710| 6c 61 63 6b 2e 62 69 74 | 6d 61 70 2f 2f 0a 63 68 |lack.bit|map//.ch|
|00000720| 6d 6f 64 20 75 3d 72 77 | 2c 67 3d 72 77 2c 6f 3d |mod u=rw|,g=rw,o=|
|00000730| 72 77 20 24 4f 55 54 0a | 0a 65 63 68 6f 20 78 20 |rw $OUT.|.echo x |
|00000740| 2d 20 68 70 63 6f 6c 6f | 72 73 0a 69 66 20 74 65 |- hpcolo|rs.if te|
|00000750| 73 74 20 2d 66 20 68 70 | 63 6f 6c 6f 72 73 20 3b |st -f hp|colors ;|
|00000760| 20 74 68 65 6e 0a 20 20 | 20 20 65 63 68 6f 20 68 | then. | echo h|
|00000770| 70 63 6f 6c 6f 72 73 20 | 65 78 69 73 74 73 2c 20 |pcolors |exists, |
|00000780| 70 75 74 74 69 6e 67 20 | 6f 75 74 70 75 74 20 69 |putting |output i|
|00000790| 6e 20 24 24 68 70 63 6f | 6c 6f 72 73 0a 20 20 20 |n $$hpco|lors. |
|000007a0| 20 4f 55 54 3d 24 24 68 | 70 63 6f 6c 6f 72 73 0a | OUT=$$h|pcolors.|
|000007b0| 20 20 20 20 53 54 41 54 | 55 53 3d 31 0a 65 6c 73 | STAT|US=1.els|
|000007c0| 65 0a 20 20 20 20 4f 55 | 54 3d 68 70 63 6f 6c 6f |e. OU|T=hpcolo|
|000007d0| 72 73 0a 66 69 0a 73 65 | 64 20 27 73 2f 5e 58 2f |rs.fi.se|d 's/^X/|
|000007e0| 2f 27 20 3e 20 24 4f 55 | 54 20 3c 3c 27 40 2f 2f |/' > $OU|T <<'@//|
|000007f0| 45 2a 4f 2a 46 20 68 70 | 63 6f 6c 6f 72 73 2f 2f |E*O*F hp|colors//|
|00000800| 27 0a 58 31 20 72 65 64 | 0a 58 32 20 67 72 65 65 |'.X1 red|.X2 gree|
|00000810| 6e 0a 58 33 20 79 65 6c | 6c 6f 77 0a 58 34 20 62 |n.X3 yel|low.X4 b|
|00000820| 6c 75 65 0a 58 35 20 63 | 79 61 6e 0a 58 36 20 6d |lue.X5 c|yan.X6 m|
|00000830| 61 67 65 6e 74 61 0a 58 | 37 20 77 68 69 74 65 0a |agenta.X|7 white.|
|00000840| 58 38 20 6f 72 61 6e 67 | 65 0a 40 2f 2f 45 2a 4f |X8 orang|e.@//E*O|
|00000850| 2a 46 20 68 70 63 6f 6c | 6f 72 73 2f 2f 0a 63 68 |*F hpcol|ors//.ch|
|00000860| 6d 6f 64 20 75 3d 72 77 | 2c 67 3d 72 77 2c 6f 3d |mod u=rw|,g=rw,o=|
|00000870| 72 77 20 24 4f 55 54 0a | 0a 65 63 68 6f 20 78 20 |rw $OUT.|.echo x |
|00000880| 2d 20 68 70 67 6c 2e 6c | 0a 69 66 20 74 65 73 74 |- hpgl.l|.if test|
|00000890| 20 2d 66 20 68 70 67 6c | 2e 6c 20 3b 20 74 68 65 | -f hpgl|.l ; the|
|000008a0| 6e 0a 20 20 20 20 65 63 | 68 6f 20 68 70 67 6c 2e |n. ec|ho hpgl.|
|000008b0| 6c 20 65 78 69 73 74 73 | 2c 20 70 75 74 74 69 6e |l exists|, puttin|
|000008c0| 67 20 6f 75 74 70 75 74 | 20 69 6e 20 24 24 68 70 |g output| in $$hp|
|000008d0| 67 6c 2e 6c 0a 20 20 20 | 20 4f 55 54 3d 24 24 68 |gl.l. | OUT=$$h|
|000008e0| 70 67 6c 2e 6c 0a 20 20 | 20 20 53 54 41 54 55 53 |pgl.l. | STATUS|
|000008f0| 3d 31 0a 65 6c 73 65 0a | 20 20 20 20 4f 55 54 3d |=1.else.| OUT=|
|00000900| 68 70 67 6c 2e 6c 0a 66 | 69 0a 73 65 64 20 27 73 |hpgl.l.f|i.sed 's|
|00000910| 2f 5e 58 2f 2f 27 20 3e | 20 24 4f 55 54 20 3c 3c |/^X//' >| $OUT <<|
|00000920| 27 40 2f 2f 45 2a 4f 2a | 46 20 68 70 67 6c 2e 6c |'@//E*O*|F hpgl.l|
|00000930| 2f 2f 27 0a 58 25 7b 0a | 58 2f 2a 2a 2a 2a 2a 2a |//'.X%{.|X/******|
|00000940| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000950| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000960| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000970| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 5c 0a 58 20 2a |********|***\.X *|
|00000980| 20 46 49 4c 45 3a 20 68 | 70 67 6c 2e 6c 20 20 20 | FILE: h|pgl.l |
|00000990| 70 61 72 74 20 6f 66 20 | 68 70 67 6c 20 74 6f 20 |part of |hpgl to |
|000009a0| 58 20 77 69 6e 64 6f 77 | 73 20 20 20 20 20 20 20 |X window|s |
|000009b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2a | | *|
|000009c0| 0a 58 20 2a 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X * | |
|000009d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000009e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000009f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a00| 20 20 20 2a 0a 58 20 2a | 20 57 72 69 74 74 65 6e | *.X *| Written|
|00000a10| 20 62 79 20 52 61 6e 64 | 79 20 4c 2e 20 59 61 63 | by Rand|y L. Yac|
|00000a20| 68 20 61 69 64 20 62 79 | 20 4a 61 63 6b 69 65 20 |h aid by| Jackie |
|00000a30| 48 61 72 72 69 73 6f 6e | 20 20 20 20 20 20 20 20 |Harrison| |
|00000a40| 20 20 20 20 20 20 20 2a | 0a 58 20 2a 20 20 20 20 | *|.X * |
|00000a50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a80| 20 20 20 20 20 20 20 20 | 20 20 20 2a 0a 58 20 2a | | *.X *|
|00000a90| 20 44 65 73 63 72 69 70 | 74 69 6f 6e 3a 20 20 20 | Descrip|tion: |
|00000aa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ab0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ac0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2a | | *|
|00000ad0| 0a 58 20 2a 20 20 20 20 | 74 68 69 73 20 69 73 20 |.X * |this is |
|00000ae0| 74 68 65 20 6c 65 78 69 | 63 61 6c 20 61 6e 61 6c |the lexi|cal anal|
|00000af0| 69 7a 65 72 20 6f 66 20 | 48 50 47 4c 20 73 79 6e |izer of |HPGL syn|
|00000b00| 74 61 78 2e 20 20 41 6c | 6c 20 61 63 74 69 6f 6e |tax. Al|l action|
|00000b10| 20 20 20 2a 0a 58 20 2a | 20 20 20 20 74 6f 6b 65 | *.X *| toke|
|00000b20| 6e 73 20 61 72 65 20 63 | 6f 76 65 72 65 64 20 66 |ns are c|overed f|
|00000b30| 69 72 73 74 2e 20 20 20 | 20 20 20 20 20 20 20 20 |irst. | |
|00000b40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000b50| 20 20 20 20 20 20 20 2a | 0a 58 5c 2a 2a 2a 2a 2a | *|.X\*****|
|00000b60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000b70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000b80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000b90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2f 0a 58 0a |********|****/.X.|
|00000ba0| 58 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 64 69 6f |X#includ|e <stdio|
|00000bb0| 2e 68 3e 0a 58 23 69 6e | 63 6c 75 64 65 20 22 79 |.h>.X#in|clude "y|
|00000bc0| 2e 74 61 62 2e 68 22 0a | 58 23 69 6e 63 6c 75 64 |.tab.h".|X#includ|
|00000bd0| 65 20 3c 58 2f 58 6c 69 | 62 2e 68 3e 0a 58 0a 58 |e <X/Xli|b.h>.X.X|
|00000be0| 23 69 66 64 65 66 20 55 | 4c 54 52 49 58 0a 58 23 |#ifdef U|LTRIX.X#|
|00000bf0| 20 20 20 20 69 6e 63 6c | 75 64 65 20 3c 6d 61 74 | incl|ude <mat|
|00000c00| 68 2e 68 3e 0a 58 23 65 | 6e 64 69 66 0a 58 0a 58 |h.h>.X#e|ndif.X.X|
|00000c10| 2f 2a 20 6e 65 65 64 20 | 74 68 69 73 20 62 65 63 |/* need |this bec|
|00000c20| 61 75 73 65 20 74 68 65 | 20 73 75 6e 20 33 38 36 |ause the| sun 386|
|00000c30| 69 20 68 61 73 20 61 20 | 66 75 6e 6e 79 20 6c 6f |i has a |funny lo|
|00000c40| 63 61 74 69 6f 6e 20 6f | 66 20 74 68 65 20 61 74 |cation o|f the at|
|00000c50| 6f 66 0a 58 20 20 20 64 | 65 66 69 6e 69 74 69 6f |of.X d|efinitio|
|00000c60| 6e 20 2a 2f 0a 58 0a 58 | 23 69 66 64 65 66 20 55 |n */.X.X|#ifdef U|
|00000c70| 49 33 38 0a 58 23 20 20 | 20 20 69 6e 63 6c 75 64 |I38.X# | includ|
|00000c80| 65 20 3c 66 6c 6f 61 74 | 69 6e 67 70 6f 69 6e 74 |e <float|ingpoint|
|00000c90| 2e 68 3e 0a 58 23 65 6e | 64 69 66 0a 58 0a 58 2f |.h>.X#en|dif.X.X/|
|00000ca0| 2a 20 6e 65 65 64 20 74 | 68 69 73 20 74 6f 20 6b |* need t|his to k|
|00000cb0| 65 65 70 20 63 6f 75 6e | 74 20 6f 66 20 74 68 65 |eep coun|t of the|
|00000cc0| 20 69 6e 70 75 74 20 6c | 69 6e 65 73 20 66 6f 72 | input l|ines for|
|00000cd0| 20 65 72 72 6f 72 20 6d | 65 73 73 61 67 65 73 20 | error m|essages |
|00000ce0| 2a 2f 0a 58 69 6e 74 20 | 68 6c 69 6e 65 20 3d 20 |*/.Xint |hline = |
|00000cf0| 31 3b 0a 58 25 7d 0a 58 | 44 09 5b 30 2d 39 5d 0a |1;.X%}.X|D.[0-9].|
|00000d00| 58 52 20 20 20 20 20 20 | 20 5b 30 2d 39 5c 2e 5d |XR | [0-9\.]|
|00000d10| 0a 58 41 09 5b 41 2d 5a | 5d 0a 58 4c 42 4c 20 20 |.XA.[A-Z|].XLBL |
|00000d20| 20 20 20 5b 61 2d 7a 5c | 2d 5c 2c 20 5c 2e 41 2d | [a-z\|-\, \.A-|
|00000d30| 5a 30 2d 39 5c 3a 5c 3b | 5c 28 5c 29 5c 26 5c 5e |Z0-9\:\;|\(\)\&\^|
|00000d40| 5c 25 5c 24 5c 23 5c 40 | 5c 21 5c 22 5c 27 5c 7e |\%\$\#\@|\!\"\'\~|
|00000d50| 5c 60 7c 3f 5c 2f 5c 3c | 5c 3e 5c 5f 5d 0a 58 44 |\`|?\/\<|\>\_].XD|
|00000d60| 4f 54 20 20 20 20 20 5b | 5c 2e 5d 0a 58 43 4f 4d |OT [|\.].XCOM|
|00000d70| 4d 41 20 20 20 5b 5c 2c | 5d 0a 58 41 4c 54 20 20 |MA [\,|].XALT |
|00000d80| 20 20 20 5b 41 2d 5a 5c | 28 5c 29 5c 40 5d 0a 58 | [A-Z\|(\)\@].X|
|00000d90| 47 20 20 20 20 20 20 20 | 5b 41 2d 5a 30 2d 39 5c |G |[A-Z0-9\|
|00000da0| 3b 5d 0a 58 25 25 0a 58 | 4c 54 09 20 20 20 20 20 |;].X%%.X|LT. |
|00000db0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000dc0| 20 20 20 7b 0a 58 20 20 | 20 20 20 20 20 20 20 20 | {.X | |
|00000dd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000de0| 20 20 20 20 20 20 72 65 | 74 75 72 6e 28 4c 54 29 | re|turn(LT)|
|00000df0| 3b 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.X | |
|00000e00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000e10| 20 20 20 7d 0a 58 4c 42 | 7b 4c 42 4c 7d 2a 5c 20 | }.XLB|{LBL}*\ |
|00000e20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000e30| 20 20 20 20 7b 0a 58 20 | 20 20 20 20 20 20 20 20 | {.X | |
|00000e40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000e50| 20 20 20 20 20 20 20 2f | 2a 20 73 74 72 69 70 20 | /|* strip |
|00000e60| 6f 66 66 20 74 68 65 20 | 4c 42 20 61 6e 64 20 74 |off the |LB and t|
|00000e70| 68 65 20 65 6e 64 69 6e | 67 20 5e 43 0a 58 20 20 |he endin|g ^C.X |
|00000e80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000e90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ea0| 20 66 72 6f 6d 20 74 68 | 65 20 69 6e 70 75 74 20 | from th|e input |
|00000eb0| 6c 69 6e 65 20 61 6e 64 | 20 72 65 74 75 72 6e 20 |line and| return |
|00000ec0| 69 74 20 2a 2f 0a 58 09 | 09 09 20 20 20 20 20 20 |it */.X.|.. |
|00000ed0| 20 20 73 74 72 63 70 79 | 28 79 79 6c 76 61 6c 2e | strcpy|(yylval.|
|00000ee0| 73 62 2c 26 79 79 74 65 | 78 74 5b 32 5d 29 3b 0a |sb,&yyte|xt[2]);.|
|00000ef0| 58 09 09 09 09 79 79 6c | 76 61 6c 2e 73 62 5b 73 |X....yyl|val.sb[s|
|00000f00| 74 72 6c 65 6e 28 79 79 | 6c 76 61 6c 2e 73 62 29 |trlen(yy|lval.sb)|
|00000f10| 2d 31 5d 20 3d 20 27 5c | 30 27 3b 0a 58 09 09 09 |-1] = '\|0';.X...|
|00000f20| 09 72 65 74 75 72 6e 28 | 4c 42 29 3b 0a 58 09 09 |.return(|LB);.X..|
|00000f30| 09 09 7d 0a 58 53 43 20 | 20 20 20 20 20 20 20 20 |..}.XSC | |
|00000f40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000f50| 20 20 20 20 20 7b 0a 58 | 09 09 09 09 72 65 74 75 | {.X|....retu|
|00000f60| 72 6e 28 53 43 29 3b 0a | 58 09 09 09 09 7d 0a 58 |rn(SC);.|X....}.X|
|00000f70| 53 50 7b 44 7d 20 20 20 | 20 20 20 20 20 20 20 20 |SP{D} | |
|00000f80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000f90| 7b 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |{.X | |
|00000fa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000fb0| 20 20 20 2f 2a 20 72 65 | 74 75 72 6e 20 74 68 65 | /* re|turn the|
|00000fc0| 20 70 65 6e 20 6e 75 6d | 62 65 72 20 2a 2f 0a 58 | pen num|ber */.X|
|00000fd0| 09 09 09 09 79 79 6c 76 | 61 6c 2e 69 20 3d 20 79 |....yylv|al.i = y|
|00000fe0| 79 74 65 78 74 5b 32 5d | 20 2d 20 27 30 27 3b 0a |ytext[2]| - '0';.|
|00000ff0| 58 09 09 09 09 72 65 74 | 75 72 6e 28 53 50 29 3b |X....ret|urn(SP);|
|00001000| 0a 58 09 09 09 09 7d 0a | 58 50 41 20 20 20 20 20 |.X....}.|XPA |
|00001010| 20 20 20 20 20 20 20 20 | 20 09 09 7b 0a 58 09 09 | | ..{.X..|
|00001020| 09 09 72 65 74 75 72 6e | 28 50 41 29 3b 0a 58 09 |..return|(PA);.X.|
|00001030| 09 09 09 7d 0a 58 50 52 | 20 20 20 20 20 20 20 20 |...}.XPR| |
|00001040| 20 20 20 20 20 20 09 09 | 7b 0a 58 09 09 09 09 72 | ..|{.X....r|
|00001050| 65 74 75 72 6e 28 50 52 | 29 3b 0a 58 09 09 09 09 |eturn(PR|);.X....|
|00001060| 7d 0a 58 50 55 20 20 20 | 20 20 20 20 20 20 20 20 |}.XPU | |
|00001070| 20 20 20 09 09 7b 0a 58 | 09 09 09 09 72 65 74 75 | ..{.X|....retu|
|00001080| 72 6e 28 50 55 29 3b 0a | 58 09 09 09 09 7d 0a 58 |rn(PU);.|X....}.X|
|00001090| 50 44 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |PD | |
|000010a0| 09 09 7b 0a 58 09 09 09 | 09 72 65 74 75 72 6e 28 |..{.X...|.return(|
|000010b0| 50 44 29 3b 0a 58 09 09 | 09 09 7d 0a 58 5c 2d 3f |PD);.X..|..}.X\-?|
|000010c0| 7b 44 7d 2b 20 20 20 20 | 20 20 20 20 20 20 20 20 |{D}+ | |
|000010d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 7b 0a 58 | | {.X|
|000010e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000010f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001100| 2f 2a 20 69 6e 74 65 67 | 65 72 20 64 69 67 69 74 |/* integ|er digit|
|00001110| 20 72 6f 75 74 69 6e 65 | 20 2a 2f 0a 58 09 09 09 | routine| */.X...|
|00001120| 09 79 79 6c 76 61 6c 2e | 69 20 3d 20 61 74 6f 69 |.yylval.|i = atoi|
|00001130| 28 79 79 74 65 78 74 29 | 3b 0a 58 09 09 09 09 72 |(yytext)|;.X....r|
|00001140| 65 74 75 72 6e 28 44 49 | 47 49 54 29 3b 0a 58 09 |eturn(DI|GIT);.X.|
|00001150| 09 09 09 7d 0a 58 5c 2d | 3f 7b 52 7d 2b 20 20 20 |...}.X\-|?{R}+ |
|00001160| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001170| 20 20 20 20 20 20 7b 0a | 58 20 20 20 20 20 20 20 | {.|X |
|00001180| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001190| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 72 65 61 6c | | /* real|
|000011a0| 20 64 69 67 69 74 20 72 | 6f 75 74 69 6e 65 20 2a | digit r|outine *|
|000011b0| 2f 0a 58 09 09 09 09 79 | 79 6c 76 61 6c 2e 66 20 |/.X....y|ylval.f |
|000011c0| 3d 20 61 74 6f 66 28 79 | 79 74 65 78 74 29 3b 0a |= atof(y|ytext);.|
|000011d0| 58 09 09 09 09 72 65 74 | 75 72 6e 28 4e 55 4d 42 |X....ret|urn(NUMB|
|000011e0| 45 52 29 3b 0a 58 09 09 | 09 09 7d 0a 58 5c 3b 09 |ER);.X..|..}.X\;.|
|000011f0| 09 09 09 7b 0a 58 09 09 | 09 09 72 65 74 75 72 6e |...{.X..|..return|
|00001200| 28 53 45 4d 49 43 4f 4c | 4f 4e 29 3b 0a 58 20 20 |(SEMICOL|ON);.X |
|00001210| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001220| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 7d 0a | | }.|
|00001230| 58 5c 2c 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X\, | |
|00001240| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001250| 20 7b 0a 58 09 09 09 09 | 72 65 74 75 72 6e 28 43 | {.X....|return(C|
|00001260| 4f 4d 4d 41 29 3b 0a 58 | 20 20 20 20 20 20 20 20 |OMMA);.X| |
|00001270| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001280| 20 20 20 20 20 20 20 20 | 7d 0a 58 49 4e 5c 3b 20 | |}.XIN\; |
|00001290| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000012a0| 20 20 20 20 20 20 20 20 | 20 20 20 72 65 74 75 72 | | retur|
|000012b0| 6e 28 52 45 53 45 54 29 | 3b 0a 58 44 46 5c 3b 20 |n(RESET)|;.XDF\; |
|000012c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000012d0| 20 20 20 20 20 20 20 20 | 20 20 20 72 65 74 75 72 | | retur|
|000012e0| 6e 28 52 45 53 45 54 29 | 3b 0a 58 5b 20 5c 74 5d |n(RESET)|;.X[ \t]|
|000012f0| 2a 09 09 09 20 20 20 20 | 20 20 20 20 3b 0a 58 5b |*... | ;.X[|
|00001300| 5c 6e 5d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |\n] | |
|00001310| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7b | | {|
|00001320| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X | |
|00001330| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001340| 20 20 68 6c 69 6e 65 2b | 2b 3b 0a 58 09 09 09 09 | hline+|+;.X....|
|00001350| 7d 0a 58 5c 7b 44 4f 54 | 7d 7b 41 4c 54 7d 28 7b |}.X\{DOT|}{ALT}({|
|00001360| 47 7d 2b 5c 3a 29 3f 20 | 20 20 20 20 20 20 20 20 |G}+\:)? | |
|00001370| 20 3b 0a 58 43 7b 41 7d | 7b 44 7d 2a 28 7b 43 4f | ;.XC{A}|{D}*({CO|
|00001380| 4d 4d 41 7d 7b 44 7d 2a | 29 3f 5c 3b 20 20 20 20 |MMA}{D}*|)?\; |
|00001390| 20 20 20 20 3b 0a 58 44 | 49 7b 44 7d 2a 28 7b 43 | ;.XD|I{D}*({C|
|000013a0| 4f 4d 4d 41 7d 7b 44 7d | 2a 29 3f 5c 3b 20 20 20 |OMMA}{D}|*)?\; |
|000013b0| 20 20 20 20 20 20 20 3b | 0a 58 44 52 7b 44 7d 2a | ;|.XDR{D}*|
|000013c0| 28 7b 43 4f 4d 4d 41 7d | 7b 44 7d 2a 29 3f 5c 3b |({COMMA}|{D}*)?\;|
|000013d0| 20 20 20 20 20 20 20 20 | 20 20 3b 0a 58 44 54 7b | | ;.XDT{|
|000013e0| 41 7d 5c 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |A}\; | |
|000013f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 0a 58 | | ;.X|
|00001400| 44 43 5c 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |DC\; | |
|00001410| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001420| 3b 0a 58 44 50 5c 3b 20 | 20 20 20 20 20 20 20 20 |;.XDP\; | |
|00001430| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001440| 20 20 20 3b 0a 58 4f 7b | 41 7d 5c 3b 20 20 20 20 | ;.XO{|A}\; |
|00001450| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001460| 20 20 20 20 20 20 3b 0a | 58 49 4d 7b 44 7d 2a 28 | ;.|XIM{D}*(|
|00001470| 7b 43 4f 4d 4d 41 7d 7b | 44 7d 2a 29 2a 5c 3b 20 |{COMMA}{|D}*)*\; |
|00001480| 20 20 20 20 20 20 20 20 | 20 3b 0a 58 49 50 7b 44 | | ;.XIP{D|
|00001490| 7d 2a 28 7b 43 4f 4d 4d | 41 7d 7b 44 7d 2a 29 2a |}*({COMM|A}{D}*)*|
|000014a0| 5c 3b 20 20 20 20 20 20 | 20 20 20 20 3b 0a 58 49 |\; | ;.XI|
|000014b0| 57 7b 44 7d 2a 28 7b 43 | 4f 4d 4d 41 7d 7b 44 7d |W{D}*({C|OMMA}{D}|
|000014c0| 2a 29 2a 5c 3b 20 20 20 | 20 20 20 20 20 20 20 3b |*)*\; | ;|
|000014d0| 0a 58 53 41 5c 3b 20 20 | 20 20 20 20 20 20 20 20 |.XSA\; | |
|000014e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000014f0| 20 20 3b 0a 58 53 49 7b | 44 7d 2a 7b 43 4f 4d 4d | ;.XSI{|D}*{COMM|
|00001500| 41 7d 7b 44 7d 2a 5c 3b | 20 20 20 20 20 20 20 20 |A}{D}*\;| |
|00001510| 20 20 20 20 20 3b 0a 58 | 53 4c 7b 44 7d 2a 5c 3b | ;.X|SL{D}*\;|
|00001520| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001530| 20 20 20 20 20 20 20 20 | 3b 0a 58 53 4d 7b 41 7d | |;.XSM{A}|
|00001540| 5c 3b 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |\; | |
|00001550| 20 20 20 20 20 20 20 20 | 20 20 20 3b 0a 58 53 52 | | ;.XSR|
|00001560| 7b 52 7d 2a 7b 43 4f 4d | 4d 41 7d 7b 52 7d 2a 5c |{R}*{COM|MA}{R}*\|
|00001570| 3b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 0a |; | ;.|
|00001580| 58 53 53 5c 3b 20 20 20 | 20 20 20 20 20 20 20 20 |XSS\; | |
|00001590| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000015a0| 20 3b 0a 58 53 41 5c 3b | 20 20 20 20 20 20 20 20 | ;.XSA\;| |
|000015b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000015c0| 20 20 20 20 3b 0a 58 54 | 4c 7b 44 7d 2a 28 7b 43 | ;.XT|L{D}*({C|
|000015d0| 4f 4d 4d 41 7d 7b 44 7d | 2b 29 3f 5c 3b 20 20 20 |OMMA}{D}|+)?\; |
|000015e0| 20 20 20 20 20 20 20 3b | 0a 58 56 53 7b 44 7d 2a | ;|.XVS{D}*|
|000015f0| 5c 3b 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |\; | |
|00001600| 20 20 20 20 20 20 20 20 | 20 20 3b 0a 58 58 54 5c | | ;.XXT\|
|00001610| 3b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |; | |
|00001620| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 0a 58 | | ;.X|
|00001630| 59 54 5c 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |YT\; | |
|00001640| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001650| 3b 0a 58 25 25 0a 40 2f | 2f 45 2a 4f 2a 46 20 68 |;.X%%.@/|/E*O*F h|
|00001660| 70 67 6c 2e 6c 2f 2f 0a | 63 68 6d 6f 64 20 75 3d |pgl.l//.|chmod u=|
|00001670| 72 77 2c 67 3d 72 77 2c | 6f 3d 72 77 20 24 4f 55 |rw,g=rw,|o=rw $OU|
|00001680| 54 0a 0a 65 63 68 6f 20 | 78 20 2d 20 68 70 67 6c |T..echo |x - hpgl|
|00001690| 2e 79 0a 69 66 20 74 65 | 73 74 20 2d 66 20 68 70 |.y.if te|st -f hp|
|000016a0| 67 6c 2e 79 20 3b 20 74 | 68 65 6e 0a 20 20 20 20 |gl.y ; t|hen. |
|000016b0| 65 63 68 6f 20 68 70 67 | 6c 2e 79 20 65 78 69 73 |echo hpg|l.y exis|
|000016c0| 74 73 2c 20 70 75 74 74 | 69 6e 67 20 6f 75 74 70 |ts, putt|ing outp|
|000016d0| 75 74 20 69 6e 20 24 24 | 68 70 67 6c 2e 79 0a 20 |ut in $$|hpgl.y. |
|000016e0| 20 20 20 4f 55 54 3d 24 | 24 68 70 67 6c 2e 79 0a | OUT=$|$hpgl.y.|
|000016f0| 20 20 20 20 53 54 41 54 | 55 53 3d 31 0a 65 6c 73 | STAT|US=1.els|
|00001700| 65 0a 20 20 20 20 4f 55 | 54 3d 68 70 67 6c 2e 79 |e. OU|T=hpgl.y|
|00001710| 0a 66 69 0a 73 65 64 20 | 27 73 2f 5e 58 2f 2f 27 |.fi.sed |'s/^X//'|
|00001720| 20 3e 20 24 4f 55 54 20 | 3c 3c 27 40 2f 2f 45 2a | > $OUT |<<'@//E*|
|00001730| 4f 2a 46 20 68 70 67 6c | 2e 79 2f 2f 27 0a 58 25 |O*F hpgl|.y//'.X%|
|00001740| 7b 0a 58 2f 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |{.X/****|********|
|00001750| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001760| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001770| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001780| 2a 2a 2a 2a 2a 5c 0a 58 | 20 2a 20 46 49 4c 45 3a |*****\.X| * FILE:|
|00001790| 20 68 70 67 6c 2e 79 20 | 20 20 70 61 72 74 20 6f | hpgl.y | part o|
|000017a0| 66 20 68 70 67 6c 20 74 | 6f 20 58 20 77 69 6e 64 |f hpgl t|o X wind|
|000017b0| 6f 77 73 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ows | |
|000017c0| 20 20 20 20 20 20 20 20 | 20 2a 0a 58 20 2a 20 20 | | *.X * |
|000017d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000017e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000017f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001800| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2a 0a 58 | | *.X|
|00001810| 20 2a 20 57 72 69 74 74 | 65 6e 20 62 79 20 52 61 | * Writt|en by Ra|
|00001820| 6e 64 79 20 4c 2e 20 59 | 61 63 68 20 61 69 64 20 |ndy L. Y|ach aid |
|00001830| 62 79 20 4a 61 63 6b 69 | 65 20 48 61 72 72 69 73 |by Jacki|e Harris|
|00001840| 6f 6e 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |on | |
|00001850| 20 2a 0a 58 20 2a 20 20 | 20 20 20 20 20 20 20 20 | *.X * | |
|00001860| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001870| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001880| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001890| 20 20 20 20 20 2a 0a 58 | 20 2a 20 44 65 73 63 72 | *.X| * Descr|
|000018a0| 69 70 74 69 6f 6e 3a 20 | 20 20 20 20 20 20 20 20 |iption: | |
|000018b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000018c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000018d0| 20 20 20 20 20 20 20 20 | 20 2a 0a 58 20 2a 20 20 | | *.X * |
|000018e0| 20 20 74 68 69 73 20 69 | 73 20 74 68 65 20 79 61 | this i|s the ya|
|000018f0| 63 63 20 70 61 72 73 65 | 72 20 6f 66 20 48 50 47 |cc parse|r of HPG|
|00001900| 4c 20 73 79 6e 74 61 78 | 2e 20 20 41 6c 6c 20 70 |L syntax|. All p|
|00001910| 6c 6f 74 74 69 6e 67 20 | 20 20 20 20 20 2a 0a 58 |lotting | *.X|
|00001920| 20 2a 20 20 20 20 6c 69 | 6e 65 20 64 72 61 77 69 | * li|ne drawi|
|00001930| 6e 67 20 61 6e 64 20 6c | 61 62 65 6c 69 6e 67 20 |ng and l|abeling |
|00001940| 61 72 65 20 64 6f 6e 65 | 20 69 6e 20 74 68 69 73 |are done| in this|
|00001950| 20 70 72 6f 63 65 64 75 | 72 65 20 20 20 20 20 20 | procedu|re |
|00001960| 20 2a 0a 58 5c 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | *.X\***|********|
|00001970| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001980| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001990| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000019a0| 2a 2a 2a 2a 2a 2a 2f 0a | 58 0a 58 23 69 6e 63 6c |******/.|X.X#incl|
|000019b0| 75 64 65 20 3c 73 74 64 | 69 6f 2e 68 3e 0a 58 23 |ude <std|io.h>.X#|
|000019c0| 69 6e 63 6c 75 64 65 20 | 3c 58 2f 58 6c 69 62 2e |include |<X/Xlib.|
|000019d0| 68 3e 0a 58 23 69 6e 63 | 6c 75 64 65 20 3c 6d 61 |h>.X#inc|lude <ma|
|000019e0| 74 68 2e 68 3e 0a 58 0a | 58 2f 2a 20 6e 65 65 64 |th.h>.X.|X/* need|
|000019f0| 20 61 6c 6c 20 74 68 65 | 73 65 20 65 78 74 65 72 | all the|se exter|
|00001a00| 6e 61 6c 20 67 6c 6f 62 | 61 6c 20 76 61 72 69 61 |nal glob|al varia|
|00001a10| 62 6c 65 73 20 74 6f 20 | 69 6e 74 65 72 66 61 63 |bles to |interfac|
|00001a20| 65 20 77 69 74 68 20 74 | 68 65 20 6d 61 6e 79 0a |e with t|he many.|
|00001a30| 58 20 20 20 58 20 77 69 | 6e 64 6f 77 73 20 76 61 |X X wi|ndows va|
|00001a40| 72 69 61 62 6c 65 73 2e | 20 2a 2f 0a 58 65 78 74 |riables.| */.Xext|
|00001a50| 65 72 6e 20 69 6e 74 20 | 68 6c 69 6e 65 3b 0a 58 |ern int |hline;.X|
|00001a60| 65 78 74 65 72 6e 20 63 | 68 61 72 20 79 79 74 65 |extern c|har yyte|
|00001a70| 78 74 5b 5d 3b 0a 58 65 | 78 74 65 72 6e 20 64 6f |xt[];.Xe|xtern do|
|00001a80| 75 62 6c 65 20 78 4d 69 | 6e 2c 78 4d 61 78 2c 79 |uble xMi|n,xMax,y|
|00001a90| 4d 69 6e 2c 79 4d 61 78 | 3b 0a 58 65 78 74 65 72 |Min,yMax|;.Xexter|
|00001aa0| 6e 20 69 6e 74 20 6c 61 | 73 74 5f 78 2c 20 6c 61 |n int la|st_x, la|
|00001ab0| 73 74 5f 79 3b 0a 58 65 | 78 74 65 72 6e 20 69 6e |st_y;.Xe|xtern in|
|00001ac0| 74 20 78 2c 79 3b 0a 58 | 65 78 74 65 72 6e 20 69 |t x,y;.X|extern i|
|00001ad0| 6e 74 20 63 75 72 5f 70 | 65 6e 2c 6e 6f 5f 70 65 |nt cur_p|en,no_pe|
|00001ae0| 6e 3b 0a 58 65 78 74 65 | 72 6e 20 69 6e 74 20 70 |n;.Xexte|rn int p|
|00001af0| 65 6e 5f 64 6f 77 6e 3b | 0a 58 65 78 74 65 72 6e |en_down;|.Xextern|
|00001b00| 20 69 6e 74 20 61 62 73 | 6f 6c 75 74 65 3b 0a 58 | int abs|olute;.X|
|00001b10| 65 78 74 65 72 6e 20 43 | 6f 6c 6f 72 20 70 65 6e |extern C|olor pen|
|00001b20| 5b 5d 3b 0a 58 65 78 74 | 65 72 6e 20 57 69 6e 64 |[];.Xext|ern Wind|
|00001b30| 6f 77 20 6d 61 69 6e 5f | 77 69 6e 64 6f 77 3b 0a |ow main_|window;.|
|00001b40| 58 65 78 74 65 72 6e 20 | 46 6f 6e 74 20 74 65 78 |Xextern |Font tex|
|00001b50| 74 5f 66 6f 6e 74 3b 0a | 58 65 78 74 65 72 6e 20 |t_font;.|Xextern |
|00001b60| 73 68 6f 72 74 20 66 6f | 6e 74 5f 6f 66 66 73 65 |short fo|nt_offse|
|00001b70| 74 3b 0a 58 65 78 74 65 | 72 6e 20 69 6e 74 20 6d |t;.Xexte|rn int m|
|00001b80| 69 6e 57 69 64 74 68 2c | 6d 69 6e 48 65 69 67 68 |inWidth,|minHeigh|
|00001b90| 74 3b 0a 58 65 78 74 65 | 72 6e 20 50 61 74 74 65 |t;.Xexte|rn Patte|
|00001ba0| 72 6e 20 6c 69 6e 65 5f | 74 79 70 65 3b 0a 58 65 |rn line_|type;.Xe|
|00001bb0| 78 74 65 72 6e 20 6c 69 | 6e 65 3b 0a 58 0a 58 65 |xtern li|ne;.X.Xe|
|00001bc0| 78 74 65 72 6e 20 69 6e | 69 74 69 61 6c 69 7a 65 |xtern in|itialize|
|00001bd0| 5f 70 6c 6f 74 74 65 72 | 28 29 3b 0a 58 0a 58 2f |_plotter|();.X.X/|
|00001be0| 2a 20 6c 69 6e 65 20 70 | 6f 69 6e 74 73 20 75 73 |* line p|oints us|
|00001bf0| 65 64 20 66 6f 72 20 6c | 69 6e 65 20 64 72 61 77 |ed for l|ine draw|
|00001c00| 69 6e 67 20 2a 2f 0a 58 | 56 65 72 74 65 78 20 63 |ing */.X|Vertex c|
|00001c10| 6f 6f 72 64 69 6e 61 74 | 65 5f 70 6f 69 6e 74 73 |oordinat|e_points|
|00001c20| 5b 32 5d 20 3d 0a 58 20 | 20 20 20 7b 0a 58 20 20 |[2] =.X | {.X |
|00001c30| 20 20 30 2c 20 30 2c 20 | 30 2c 0a 58 20 20 20 20 | 0, 0, |0,.X |
|00001c40| 30 2c 20 30 2c 20 30 0a | 58 20 20 20 20 7d 3b 0a |0, 0, 0.|X };.|
|00001c50| 58 0a 58 2f 2a 20 62 69 | 6e 61 72 79 20 70 61 74 |X.X/* bi|nary pat|
|00001c60| 74 65 72 6e 20 64 65 66 | 69 6e 69 74 69 6f 6e 73 |tern def|initions|
|00001c70| 20 66 6f 72 20 64 72 61 | 77 69 6e 67 20 64 61 73 | for dra|wing das|
|00001c80| 68 65 64 20 6c 69 6e 65 | 73 20 2a 2f 0a 58 2f 2a |hed line|s */.X/*|
|00001c90| 20 64 65 66 61 75 6c 74 | 20 7c 5f 5f 5f 5f 5f 5f | default| |______|
|00001ca0| 5f 5f 7c 20 20 2a 2f 0a | 58 2f 2a 20 6c 69 6e 65 |__| */.|X/* line|
|00001cb0| 20 30 20 20 7c 20 20 20 | 20 20 20 20 20 7c 20 20 | 0 | | | |
|00001cc0| 2a 2f 0a 58 2f 2a 20 6c | 69 6e 65 20 31 20 20 7c |*/.X/* l|ine 1 ||
|00001cd0| 5f 20 20 20 20 20 20 20 | 7c 20 20 2a 2f 0a 58 2f |_ || */.X/|
|00001ce0| 2a 20 6c 69 6e 65 20 32 | 20 20 7c 5f 5f 5f 5f 20 |* line 2| |____ |
|00001cf0| 20 20 20 7c 20 20 2a 2f | 0a 58 2f 2a 20 6c 69 6e | | */|.X/* lin|
|00001d00| 65 20 33 20 20 7c 5f 5f | 5f 5f 5f 5f 20 20 7c 20 |e 3 |__|____ | |
|00001d10| 20 2a 2f 0a 58 2f 2a 20 | 6c 69 6e 65 20 34 20 20 | */.X/* |line 4 |
|00001d20| 7c 5f 5f 5f 5f 5f 5f 20 | 5f 7c 20 20 2a 2f 0a 58 ||______ |_| */.X|
|00001d30| 2f 2a 20 6c 69 6e 65 20 | 35 20 20 7c 5f 5f 5f 5f |/* line |5 |____|
|00001d40| 5f 20 5f 5f 7c 20 20 2a | 2f 0a 58 2f 2a 20 6c 69 |_ __| *|/.X/* li|
|00001d50| 6e 65 20 36 20 20 7c 5f | 5f 5f 5f 20 5f 20 5f 7c |ne 6 |_|___ _ _||
|00001d60| 20 20 2a 2f 0a 58 75 6e | 73 69 67 6e 65 64 20 73 | */.Xun|signed s|
|00001d70| 68 6f 72 74 20 6c 69 6e | 65 5f 70 61 74 74 65 72 |hort lin|e_patter|
|00001d80| 6e 5b 37 5d 20 3d 20 7b | 0a 58 20 20 20 20 30 78 |n[7] = {|.X 0x|
|00001d90| 30 30 2c 20 30 78 38 30 | 2c 20 30 78 66 30 2c 20 |00, 0x80|, 0xf0, |
|00001da0| 30 78 66 63 2c 20 30 78 | 66 64 2c 20 30 78 66 62 |0xfc, 0x|fd, 0xfb|
|00001db0| 2c 20 30 78 66 35 0a 58 | 20 20 20 20 7d 3b 0a 58 |, 0xf5.X| };.X|
|00001dc0| 0a 58 2f 2a 20 74 68 65 | 73 65 20 76 61 72 69 61 |.X/* the|se varia|
|00001dd0| 62 6c 65 73 20 61 72 65 | 20 6e 65 65 64 65 64 20 |bles are| needed |
|00001de0| 74 6f 20 63 61 6c 63 75 | 6c 61 74 65 20 74 68 65 |to calcu|late the|
|00001df0| 20 64 65 66 61 75 6c 74 | 20 6c 65 6e 67 74 68 0a | default| length.|
|00001e00| 58 20 20 20 6f 66 20 74 | 68 65 20 70 61 74 74 65 |X of t|he patte|
|00001e10| 72 6e 73 20 75 73 65 64 | 20 69 6e 20 74 68 65 20 |rns used| in the |
|00001e20| 64 61 73 68 65 64 20 6c | 69 6e 65 73 20 2a 2f 0a |dashed l|ines */.|
|00001e30| 58 69 6e 74 20 70 61 74 | 5f 6c 65 6e 3b 0a 58 64 |Xint pat|_len;.Xd|
|00001e40| 6f 75 62 6c 65 20 70 61 | 74 5f 70 65 72 63 2c 74 |ouble pa|t_perc,t|
|00001e50| 6f 74 5f 64 69 73 74 3b | 0a 58 0a 58 25 7d 0a 58 |ot_dist;|.X.X%}.X|
|00001e60| 0a 58 25 74 6f 6b 65 6e | 20 4c 54 20 4c 42 20 50 |.X%token| LT LB P|
|00001e70| 41 20 50 52 20 50 55 20 | 50 44 20 53 50 20 53 43 |A PR PU |PD SP SC|
|00001e80| 20 44 49 47 49 54 20 53 | 45 4d 49 43 4f 4c 4f 4e | DIGIT S|EMICOLON|
|00001e90| 20 43 4f 4d 4d 41 20 4e | 55 4d 42 45 52 20 52 45 | COMMA N|UMBER RE|
|00001ea0| 53 45 54 0a 58 0a 58 25 | 73 74 61 72 74 20 78 68 |SET.X.X%|start xh|
|00001eb0| 70 67 6c 5f 73 74 61 72 | 74 0a 58 0a 58 25 75 6e |pgl_star|t.X.X%un|
|00001ec0| 69 6f 6e 20 7b 0a 58 69 | 6e 74 20 69 3b 0a 58 63 |ion {.Xi|nt i;.Xc|
|00001ed0| 68 61 72 20 73 62 5b 42 | 55 46 53 49 5a 5d 3b 0a |har sb[B|UFSIZ];.|
|00001ee0| 58 66 6c 6f 61 74 20 66 | 3b 0a 58 7d 0a 58 0a 58 |Xfloat f|;.X}.X.X|
|00001ef0| 25 74 79 70 65 20 3c 69 | 3e 20 44 49 47 49 54 20 |%type <i|> DIGIT |
|00001f00| 53 50 0a 58 25 74 79 70 | 65 20 3c 73 62 3e 20 4c |SP.X%typ|e <sb> L|
|00001f10| 42 0a 58 25 74 79 70 65 | 20 3c 66 3e 20 4e 55 4d |B.X%type| <f> NUM|
|00001f20| 42 45 52 0a 58 0a 58 25 | 25 0a 58 0a 58 78 68 70 |BER.X.X%|%.X.Xxhp|
|00001f30| 67 6c 5f 73 74 61 72 74 | 20 20 20 20 3a 20 2f 2a |gl_start| : /*|
|00001f40| 20 65 6d 70 74 79 20 73 | 74 61 74 65 6d 65 6e 74 | empty s|tatement|
|00001f50| 20 2a 2f 0a 58 09 20 20 | 20 20 20 20 20 7c 20 78 | */.X. | | x|
|00001f60| 68 70 67 6c 5f 73 74 61 | 72 74 20 78 68 70 67 6c |hpgl_sta|rt xhpgl|
|00001f70| 5f 63 6f 6d 6d 61 6e 64 | 73 0a 58 09 20 20 20 20 |_command|s.X. |
|00001f80| 20 20 20 3b 0a 58 0a 58 | 78 68 70 67 6c 5f 63 6f | ;.X.X|xhpgl_co|
|00001f90| 6d 6d 61 6e 64 73 20 3a | 20 70 6c 6f 74 5f 63 6f |mmands :| plot_co|
|00001fa0| 6f 72 64 69 6e 61 74 65 | 73 20 63 6f 72 64 69 6e |ordinate|s cordin|
|00001fb0| 61 74 65 5f 6c 69 73 74 | 20 53 45 4d 49 43 4f 4c |ate_list| SEMICOL|
|00001fc0| 4f 4e 0a 58 09 20 20 20 | 20 20 20 20 7c 20 53 50 |ON.X. | | SP|
|00001fd0| 20 53 45 4d 49 43 4f 4c | 4f 4e 0a 58 09 09 20 7b | SEMICOL|ON.X.. {|
|00001fe0| 20 2f 2a 20 62 65 67 69 | 6e 20 73 65 6c 65 63 74 | /* begi|n select|
|00001ff0| 20 70 65 6e 20 2a 2f 0a | 58 09 09 20 2f 2a 20 73 | pen */.|X.. /* s|
|00002000| 65 74 20 70 65 6e 20 63 | 6f 6c 6f 72 20 66 72 6f |et pen c|olor fro|
|00002010| 6d 20 74 68 65 20 53 50 | 20 63 6f 6d 6d 61 6e 64 |m the SP| command|
|00002020| 20 2a 2f 0a 58 09 09 20 | 63 75 72 5f 70 65 6e 20 | */.X.. |cur_pen |
|00002030| 3d 20 70 65 6e 5b 24 31 | 5d 2e 70 69 78 65 6c 3b |= pen[$1|].pixel;|
|00002040| 0a 58 09 09 20 7d 20 2f | 2a 20 65 6e 64 20 73 65 |.X.. } /|* end se|
|00002050| 6c 65 63 74 20 70 65 6e | 20 2a 2f 0a 58 09 20 20 |lect pen| */.X. |
|00002060| 20 20 20 20 20 7c 20 53 | 43 20 73 63 61 6c 65 5f | | S|C scale_|
|00002070| 63 6f 6f 72 64 69 6e 61 | 74 65 73 20 53 45 4d 49 |coordina|tes SEMI|
|00002080| 43 4f 4c 4f 4e 0a 58 09 | 20 20 20 20 20 20 20 7c |COLON.X.| ||
|00002090| 20 74 65 78 74 5f 6c 61 | 62 65 6c 73 0a 58 09 20 | text_la|bels.X. |
|000020a0| 20 20 20 20 20 20 7c 20 | 4c 54 20 6c 69 6e 65 5f | | |LT line_|
|000020b0| 74 79 70 65 5f 63 68 61 | 6e 67 65 20 53 45 4d 49 |type_cha|nge SEMI|
|000020c0| 43 4f 4c 4f 4e 0a 58 09 | 20 20 20 20 20 20 20 7c |COLON.X.| ||
|000020d0| 20 52 45 53 45 54 0a 58 | 09 09 20 7b 20 2f 2a 20 | RESET.X|.. { /* |
|000020e0| 62 65 67 69 6e 20 72 65 | 73 65 74 20 2a 2f 0a 58 |begin re|set */.X|
|000020f0| 09 09 20 69 6e 69 74 69 | 61 6c 69 7a 65 5f 70 6c |.. initi|alize_pl|
|00002100| 6f 74 74 65 72 28 29 3b | 0a 58 09 09 20 7d 20 2f |otter();|.X.. } /|
|00002110| 2a 20 65 6e 64 20 72 65 | 73 65 74 20 2a 2f 0a 58 |* end re|set */.X|
|00002120| 09 20 20 20 20 20 20 20 | 3b 0a 58 0a 58 6c 69 6e |. |;.X.Xlin|
|00002130| 65 5f 74 79 70 65 5f 63 | 68 61 6e 67 65 20 3a 20 |e_type_c|hange : |
|00002140| 2f 2a 20 65 6d 70 74 79 | 20 73 74 61 74 65 6d 65 |/* empty| stateme|
|00002150| 6e 74 20 2a 2f 20 0a 58 | 20 20 20 20 20 20 20 20 |nt */ .X| |
|00002160| 20 20 20 20 20 20 20 20 | 20 20 20 7b 20 2f 2a 20 | | { /* |
|00002170| 62 65 67 69 6e 20 73 6f | 6c 69 64 20 6c 69 6e 65 |begin so|lid line|
|00002180| 20 2a 2f 0a 58 09 09 20 | 20 20 2f 2a 20 73 65 74 | */.X.. | /* set|
|00002190| 20 75 70 20 73 6f 6c 69 | 64 20 6c 69 6e 65 20 74 | up soli|d line t|
|000021a0| 79 70 65 20 2a 2f 0a 58 | 09 09 20 20 20 6c 69 6e |ype */.X|.. lin|
|000021b0| 65 5f 74 79 70 65 20 3d | 20 58 4d 61 6b 65 50 61 |e_type =| XMakePa|
|000021c0| 74 74 65 72 6e 28 30 78 | 66 66 2c 38 2c 31 29 3b |ttern(0x|ff,8,1);|
|000021d0| 0a 58 09 09 20 20 20 7d | 20 2f 2a 20 65 6e 64 20 |.X.. }| /* end |
|000021e0| 73 6f 6c 69 64 20 6c 69 | 6e 65 20 2a 2f 0a 58 09 |solid li|ne */.X.|
|000021f0| 09 20 7c 20 44 49 47 49 | 54 20 43 4f 4d 4d 41 20 |. | DIGI|T COMMA |
|00002200| 4e 55 4d 42 45 52 0a 58 | 20 20 20 20 20 20 20 20 |NUMBER.X| |
|00002210| 20 20 20 20 20 20 20 20 | 20 20 20 7b 20 2f 2a 20 | | { /* |
|00002220| 62 65 67 69 6e 20 64 61 | 73 68 65 64 20 6c 69 6e |begin da|shed lin|
|00002230| 65 20 2a 2f 0a 58 09 09 | 20 20 20 2f 2a 20 73 65 |e */.X..| /* se|
|00002240| 74 20 75 70 20 6c 69 6e | 65 20 70 61 74 74 65 72 |t up lin|e patter|
|00002250| 6e 20 2a 2f 0a 58 09 09 | 20 20 20 70 61 74 5f 70 |n */.X..| pat_p|
|00002260| 65 72 63 3d 28 24 33 2f | 31 30 30 2e 30 29 3b 0a |erc=($3/|100.0);.|
|00002270| 58 09 09 20 20 20 74 6f | 74 5f 64 69 73 74 3d 73 |X.. to|t_dist=s|
|00002280| 71 72 74 28 70 6f 77 28 | 28 66 6c 6f 61 74 29 6d |qrt(pow(|(float)m|
|00002290| 69 6e 57 69 64 74 68 2c | 28 66 6c 6f 61 74 29 32 |inWidth,|(float)2|
|000022a0| 29 0a 58 09 09 09 09 2b | 70 6f 77 28 28 66 6c 6f |).X....+|pow((flo|
|000022b0| 61 74 29 6d 69 6e 48 65 | 69 67 68 74 2c 28 66 6c |at)minHe|ight,(fl|
|000022c0| 6f 61 74 29 32 29 29 3b | 0a 58 09 09 20 20 20 70 |oat)2));|.X.. p|
|000022d0| 61 74 5f 6c 65 6e 3d 28 | 69 6e 74 29 28 28 70 61 |at_len=(|int)((pa|
|000022e0| 74 5f 70 65 72 63 2a 74 | 6f 74 5f 64 69 73 74 29 |t_perc*t|ot_dist)|
|000022f0| 2f 38 2e 30 29 3b 0a 58 | 09 09 20 20 20 69 66 20 |/8.0);.X|.. if |
|00002300| 28 70 61 74 5f 6c 65 6e | 20 3c 20 31 29 20 70 61 |(pat_len| < 1) pa|
|00002310| 74 5f 6c 65 6e 20 3d 20 | 31 3b 0a 58 09 09 20 20 |t_len = |1;.X.. |
|00002320| 20 6c 69 6e 65 5f 74 79 | 70 65 20 3d 20 58 4d 61 | line_ty|pe = XMa|
|00002330| 6b 65 50 61 74 74 65 72 | 6e 28 6c 69 6e 65 5f 70 |kePatter|n(line_p|
|00002340| 61 74 74 65 72 6e 5b 24 | 31 5d 2c 38 2c 70 61 74 |attern[$|1],8,pat|
|00002350| 5f 6c 65 6e 29 3b 0a 58 | 09 09 20 20 20 7d 20 2f |_len);.X|.. } /|
|00002360| 2a 20 65 6e 64 20 64 61 | 73 68 65 64 20 6c 69 6e |* end da|shed lin|
|00002370| 65 20 2a 2f 0a 58 09 09 | 20 7c 20 44 49 47 49 54 |e */.X..| | DIGIT|
|00002380| 20 43 4f 4d 4d 41 20 44 | 49 47 49 54 0a 58 20 20 | COMMA D|IGIT.X |
|00002390| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000023a0| 20 7b 20 2f 2a 20 62 65 | 67 69 6e 20 64 61 73 68 | { /* be|gin dash|
|000023b0| 65 64 20 6c 69 6e 65 20 | 2a 2f 0a 58 09 09 20 20 |ed line |*/.X.. |
|000023c0| 20 2f 2a 20 73 65 74 20 | 75 70 20 6c 69 6e 65 20 | /* set |up line |
|000023d0| 70 61 74 74 65 72 6e 20 | 2a 2f 0a 58 09 09 20 20 |pattern |*/.X.. |
|000023e0| 20 70 61 74 5f 70 65 72 | 63 3d 28 24 33 2f 31 30 | pat_per|c=($3/10|
|000023f0| 30 2e 30 29 3b 0a 58 09 | 09 20 20 20 74 6f 74 5f |0.0);.X.|. tot_|
|00002400| 64 69 73 74 3d 73 71 72 | 74 28 70 6f 77 28 28 66 |dist=sqr|t(pow((f|
|00002410| 6c 6f 61 74 29 6d 69 6e | 57 69 64 74 68 2c 28 66 |loat)min|Width,(f|
|00002420| 6c 6f 61 74 29 32 29 0a | 58 09 09 09 09 2b 70 6f |loat)2).|X....+po|
|00002430| 77 28 28 66 6c 6f 61 74 | 29 6d 69 6e 48 65 69 67 |w((float|)minHeig|
|00002440| 68 74 2c 28 66 6c 6f 61 | 74 29 32 29 29 3b 0a 58 |ht,(floa|t)2));.X|
|00002450| 09 09 20 20 20 70 61 74 | 5f 6c 65 6e 3d 28 69 6e |.. pat|_len=(in|
|00002460| 74 29 28 28 70 61 74 5f | 70 65 72 63 2a 74 6f 74 |t)((pat_|perc*tot|
|00002470| 5f 64 69 73 74 29 2f 38 | 2e 30 29 3b 0a 58 09 09 |_dist)/8|.0);.X..|
|00002480| 20 20 20 69 66 20 28 70 | 61 74 5f 6c 65 6e 20 3c | if (p|at_len <|
|00002490| 20 31 29 20 70 61 74 5f | 6c 65 6e 20 3d 20 31 3b | 1) pat_|len = 1;|
|000024a0| 0a 58 09 09 20 20 20 6c | 69 6e 65 5f 74 79 70 65 |.X.. l|ine_type|
|000024b0| 20 3d 20 58 4d 61 6b 65 | 50 61 74 74 65 72 6e 28 | = XMake|Pattern(|
|000024c0| 6c 69 6e 65 5f 70 61 74 | 74 65 72 6e 5b 24 31 5d |line_pat|tern[$1]|
|000024d0| 2c 38 2c 70 61 74 5f 6c | 65 6e 29 3b 0a 58 09 09 |,8,pat_l|en);.X..|
|000024e0| 20 20 20 7d 20 2f 2a 20 | 65 6e 64 20 64 61 73 68 | } /* |end dash|
|000024f0| 65 64 20 6c 69 6e 65 20 | 2a 2f 0a 58 09 09 20 3b |ed line |*/.X.. ;|
|00002500| 0a 58 0a 58 74 65 78 74 | 5f 6c 61 62 65 6c 73 20 |.X.Xtext|_labels |
|00002510| 20 20 20 3a 20 4c 42 0a | 58 20 20 20 20 20 20 20 | : LB.|X |
|00002520| 20 20 20 20 20 20 20 20 | 20 20 7b 20 2f 2a 20 62 | | { /* b|
|00002530| 65 67 69 6e 20 70 6c 6f | 74 20 6c 61 62 65 6c 20 |egin plo|t label |
|00002540| 2a 2f 0a 58 09 09 20 2f | 2a 20 70 6c 6f 74 20 74 |*/.X.. /|* plot t|
|00002550| 68 65 20 74 65 78 74 20 | 67 69 76 65 6e 20 61 74 |he text |given at|
|00002560| 20 74 68 65 20 63 75 72 | 72 65 6e 74 20 58 2c 59 | the cur|rent X,Y|
|00002570| 20 6c 6f 63 61 74 69 6f | 6e 73 20 2a 2f 0a 58 09 | locatio|ns */.X.|
|00002580| 09 20 58 54 65 78 74 28 | 6d 61 69 6e 5f 77 69 6e |. XText(|main_win|
|00002590| 64 6f 77 2c 78 2c 79 2d | 66 6f 6e 74 5f 6f 66 66 |dow,x,y-|font_off|
|000025a0| 73 65 74 2c 24 31 2c 73 | 74 72 6c 65 6e 28 24 31 |set,$1,s|trlen($1|
|000025b0| 29 2c 74 65 78 74 5f 66 | 6f 6e 74 2c 0a 58 09 09 |),text_f|ont,.X..|
|000025c0| 20 20 20 20 20 20 20 63 | 75 72 5f 70 65 6e 2c 6e | c|ur_pen,n|
|000025d0| 6f 5f 70 65 6e 29 3b 0a | 58 09 09 20 7d 20 2f 2a |o_pen);.|X.. } /*|
|000025e0| 20 65 6e 64 20 70 6c 6f | 74 20 6c 61 62 65 6c 20 | end plo|t label |
|000025f0| 2a 2f 0a 58 09 20 20 20 | 20 20 20 20 3b 09 0a 58 |*/.X. | ;..X|
|00002600| 0a 58 70 6c 6f 74 5f 63 | 6f 6f 72 64 69 6e 61 74 |.Xplot_c|oordinat|
|00002610| 65 73 20 3a 20 50 41 0a | 58 09 20 20 20 20 20 20 |es : PA.|X. |
|00002620| 20 20 20 20 20 7b 20 2f | 2a 20 62 65 67 69 6e 20 | { /|* begin |
|00002630| 70 65 6e 20 61 62 73 6f | 6c 75 74 65 20 63 6f 6f |pen abso|lute coo|
|00002640| 72 64 69 6e 61 74 65 73 | 20 2a 2f 0a 58 09 09 20 |rdinates| */.X.. |
|00002650| 20 20 61 62 73 6f 6c 75 | 74 65 20 3d 20 31 3b 0a | absolu|te = 1;.|
|00002660| 58 09 09 20 20 20 7d 20 | 2f 2a 20 65 6e 64 20 70 |X.. } |/* end p|
|00002670| 65 6e 20 61 62 73 6f 6c | 75 74 65 20 63 6f 6f 72 |en absol|ute coor|
|00002680| 64 69 6e 61 74 65 73 20 | 2a 2f 0a 58 09 09 20 7c |dinates |*/.X.. ||
|00002690| 20 50 44 0a 58 09 09 20 | 20 20 7b 20 2f 2a 20 62 | PD.X.. | { /* b|
|000026a0| 65 67 69 6e 20 70 65 6e | 20 72 65 6c 69 74 61 76 |egin pen| relitav|
|000026b0| 65 20 63 6f 6f 72 64 69 | 6e 61 74 65 73 20 2a 2f |e coordi|nates */|
|000026c0| 0a 58 09 09 20 20 20 70 | 65 6e 5f 64 6f 77 6e 20 |.X.. p|en_down |
|000026d0| 3d 20 31 3b 0a 58 09 09 | 20 20 20 7d 20 2f 2a 20 |= 1;.X..| } /* |
|000026e0| 65 6e 64 20 70 65 6e 20 | 72 65 6c 69 74 61 76 65 |end pen |relitave|
|000026f0| 20 63 6f 6f 72 64 69 6e | 61 74 65 73 20 2a 2f 0a | coordin|ates */.|
|00002700| 58 09 09 20 7c 20 50 55 | 0a 58 09 09 20 20 20 7b |X.. | PU|.X.. {|
|00002710| 20 2f 2a 20 62 65 67 69 | 6e 20 70 65 6e 20 75 70 | /* begi|n pen up|
|00002720| 20 63 6f 6f 72 64 69 6e | 61 74 65 73 20 2a 2f 0a | coordin|ates */.|
|00002730| 58 09 09 20 20 20 70 65 | 6e 5f 64 6f 77 6e 20 3d |X.. pe|n_down =|
|00002740| 20 30 3b 0a 58 09 09 20 | 20 20 7d 20 2f 2a 20 65 | 0;.X.. | } /* e|
|00002750| 6e 64 20 70 65 6e 20 75 | 70 20 63 6f 6f 72 64 69 |nd pen u|p coordi|
|00002760| 6e 61 74 65 73 20 2a 2f | 0a 58 09 09 20 7c 20 50 |nates */|.X.. | P|
|00002770| 52 0a 58 09 09 20 20 20 | 7b 20 2f 2a 20 62 65 67 |R.X.. |{ /* beg|
|00002780| 69 6e 20 70 65 6e 20 64 | 6f 77 6e 20 63 6f 6f 72 |in pen d|own coor|
|00002790| 64 69 6e 61 74 65 73 20 | 2a 2f 0a 58 09 09 20 20 |dinates |*/.X.. |
|000027a0| 20 61 62 73 6f 6c 75 74 | 65 20 3d 20 30 3b 0a 58 | absolut|e = 0;.X|
|000027b0| 09 09 20 20 20 7d 20 2f | 2a 20 65 6e 64 20 70 65 |.. } /|* end pe|
|000027c0| 6e 20 64 6f 77 6e 20 63 | 6f 6f 72 64 69 6e 61 74 |n down c|oordinat|
|000027d0| 65 73 20 2a 2f 0a 58 09 | 09 20 3b 0a 58 0a 58 73 |es */.X.|. ;.X.Xs|
|000027e0| 63 61 6c 65 5f 63 6f 6f | 72 64 69 6e 61 74 65 73 |cale_coo|rdinates|
|000027f0| 20 3a 20 44 49 47 49 54 | 20 43 4f 4d 4d 41 20 44 | : DIGIT| COMMA D|
|00002800| 49 47 49 54 20 43 4f 4d | 4d 41 20 44 49 47 49 54 |IGIT COM|MA DIGIT|
|00002810| 20 43 4f 4d 4d 41 20 44 | 49 47 49 54 0a 58 20 20 | COMMA D|IGIT.X |
|00002820| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002830| 20 20 7b 20 2f 2a 20 62 | 65 67 69 6e 20 75 73 65 | { /* b|egin use|
|00002840| 72 20 73 63 61 6c 65 20 | 2a 2f 0a 58 09 09 20 20 |r scale |*/.X.. |
|00002850| 20 20 2f 2a 20 73 65 74 | 20 75 70 20 74 68 65 20 | /* set| up the |
|00002860| 75 73 65 72 20 63 6f 6f | 64 69 6e 61 74 65 20 62 |user coo|dinate b|
|00002870| 6f 75 6e 64 61 72 69 65 | 73 20 2a 2f 0a 58 09 09 |oundarie|s */.X..|
|00002880| 20 20 20 20 78 4d 69 6e | 20 3d 20 24 31 3b 0a 58 | xMin| = $1;.X|
|00002890| 09 09 20 20 20 20 78 4d | 61 78 20 3d 20 24 33 3b |.. xM|ax = $3;|
|000028a0| 0a 58 09 09 20 20 20 20 | 79 4d 69 6e 20 3d 20 24 |.X.. |yMin = $|
|000028b0| 35 3b 0a 58 09 09 20 20 | 20 20 79 4d 61 78 20 3d |5;.X.. | yMax =|
|000028c0| 20 24 37 3b 0a 58 20 20 | 20 20 20 20 20 20 20 20 | $7;.X | |
|000028d0| 20 20 20 20 20 20 20 20 | 20 20 7d 20 2f 2a 20 65 | | } /* e|
|000028e0| 6e 64 20 75 73 65 72 20 | 73 63 61 6c 65 20 2a 2f |nd user |scale */|
|000028f0| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X | |
|00002900| 20 20 20 20 3b 0a 58 0a | 58 63 6f 72 64 69 6e 61 | ;.X.|Xcordina|
|00002910| 74 65 5f 6c 69 73 74 20 | 3a 20 2f 2a 20 65 6d 70 |te_list |: /* emp|
|00002920| 74 79 20 73 74 61 74 65 | 6d 65 6e 74 20 2a 2f 0a |ty state|ment */.|
|00002930| 58 09 20 20 20 20 20 20 | 20 7c 20 63 6f 72 64 69 |X. | | cordi|
|00002940| 6e 61 74 65 5f 6c 69 73 | 74 20 63 6f 72 64 69 6e |nate_lis|t cordin|
|00002950| 61 74 65 5f 64 65 66 20 | 63 6f 6d 6d 61 5f 6f 70 |ate_def |comma_op|
|00002960| 74 0a 58 09 20 20 20 20 | 20 20 20 3b 0a 58 0a 58 |t.X. | ;.X.X|
|00002970| 63 6f 6d 6d 61 5f 6f 70 | 74 20 20 20 20 20 20 3a |comma_op|t :|
|00002980| 20 2f 2a 20 65 6d 70 74 | 79 20 73 74 61 74 65 6d | /* empt|y statem|
|00002990| 65 6e 74 20 2a 2f 0a 58 | 09 20 20 20 20 20 20 20 |ent */.X|. |
|000029a0| 7c 20 43 4f 4d 4d 41 0a | 58 09 20 20 20 20 20 20 || COMMA.|X. |
|000029b0| 20 3b 0a 58 0a 58 63 6f | 72 64 69 6e 61 74 65 5f | ;.X.Xco|rdinate_|
|000029c0| 64 65 66 20 20 3a 20 44 | 49 47 49 54 20 43 4f 4d |def : D|IGIT COM|
|000029d0| 4d 41 20 44 49 47 49 54 | 0a 58 20 20 20 20 20 20 |MA DIGIT|.X |
|000029e0| 20 20 20 20 20 20 20 20 | 20 20 20 7b 20 2f 2a 20 | | { /* |
|000029f0| 62 65 67 69 6e 20 63 6f | 72 64 69 6e 61 74 65 20 |begin co|rdinate |
|00002a00| 63 68 61 6e 67 65 20 2a | 2f 0a 58 09 09 20 2f 2a |change *|/.X.. /*|
|00002a10| 20 67 65 74 20 74 68 65 | 20 6e 65 77 20 78 2c 79 | get the| new x,y|
|00002a20| 20 70 6f 69 6e 74 73 20 | 61 6e 64 20 63 6f 6e 76 | points |and conv|
|00002a30| 65 72 74 20 74 68 65 6e | 20 74 6f 20 61 62 73 6f |ert then| to abso|
|00002a40| 6c 75 74 65 0a 58 20 20 | 20 20 20 20 20 20 20 20 |lute.X | |
|00002a50| 20 20 20 20 20 20 20 20 | 20 20 58 20 77 69 6e 64 | | X wind|
|00002a60| 6f 77 20 63 6f 6f 64 69 | 6e 61 74 65 73 20 62 61 |ow coodi|nates ba|
|00002a70| 73 65 64 20 6f 6e 20 74 | 68 65 20 75 73 65 72 20 |sed on t|he user |
|00002a80| 63 6f 6f 72 64 69 6e 61 | 74 65 73 20 61 6e 64 20 |coordina|tes and |
|00002a90| 0a 58 09 09 20 20 20 20 | 70 6c 6f 74 20 73 63 61 |.X.. |plot sca|
|00002aa0| 6c 65 2e 20 2a 2f 0a 58 | 09 09 20 6c 61 73 74 5f |le. */.X|.. last_|
|00002ab0| 78 20 3d 20 78 3b 0a 58 | 09 09 20 6c 61 73 74 5f |x = x;.X|.. last_|
|00002ac0| 79 20 3d 20 79 3b 0a 58 | 09 09 20 69 66 20 28 61 |y = y;.X|.. if (a|
|00002ad0| 62 73 6f 6c 75 74 65 29 | 0a 58 09 09 20 20 20 20 |bsolute)|.X.. |
|00002ae0| 20 7b 20 2f 2a 20 62 65 | 67 69 6e 20 61 62 73 20 | { /* be|gin abs |
|00002af0| 63 6f 6f 72 64 69 6e 61 | 74 65 20 2a 2f 0a 58 09 |coordina|te */.X.|
|00002b00| 09 20 20 20 20 20 78 3d | 28 64 6f 75 62 6c 65 29 |. x=|(double)|
|00002b10| 28 28 24 31 20 2d 20 78 | 4d 69 6e 29 2a 28 6d 69 |(($1 - x|Min)*(mi|
|00002b20| 6e 57 69 64 74 68 2f 28 | 78 4d 61 78 20 2d 20 78 |nWidth/(|xMax - x|
|00002b30| 4d 69 6e 29 29 29 3b 0a | 58 09 09 20 20 20 20 20 |Min)));.|X.. |
|00002b40| 79 3d 28 64 6f 75 62 6c | 65 29 28 28 24 33 20 2d |y=(doubl|e)(($3 -|
|00002b50| 20 79 4d 69 6e 29 2a 28 | 6d 69 6e 48 65 69 67 68 | yMin)*(|minHeigh|
|00002b60| 74 2f 28 79 4d 61 78 20 | 2d 20 79 4d 69 6e 29 29 |t/(yMax |- yMin))|
|00002b70| 29 3b 0a 58 09 09 20 20 | 20 20 20 7d 20 2f 2a 20 |);.X.. | } /* |
|00002b80| 65 6e 64 20 61 62 73 20 | 63 6f 6f 72 64 69 6e 61 |end abs |coordina|
|00002b90| 74 65 20 2a 2f 0a 58 09 | 09 20 65 6c 73 65 0a 58 |te */.X.|. else.X|
|00002ba0| 09 09 20 20 20 20 20 7b | 20 2f 2a 20 62 65 67 69 |.. {| /* begi|
|00002bb0| 6e 20 72 65 6c 69 74 61 | 76 65 20 63 6f 6f 72 64 |n relita|ve coord|
|00002bc0| 69 6e 61 74 65 20 2a 2f | 0a 58 09 09 20 20 20 20 |inate */|.X.. |
|00002bd0| 20 78 3d 6c 61 73 74 5f | 78 2b 28 64 6f 75 62 6c | x=last_|x+(doubl|
|00002be0| 65 29 28 28 24 31 20 2d | 20 78 4d 69 6e 29 2a 28 |e)(($1 -| xMin)*(|
|00002bf0| 6d 69 6e 57 69 64 74 68 | 2f 28 78 4d 61 78 20 2d |minWidth|/(xMax -|
|00002c00| 20 78 4d 69 6e 29 29 29 | 3b 0a 58 09 09 20 20 20 | xMin)))|;.X.. |
|00002c10| 20 20 79 3d 6c 61 73 74 | 5f 79 2b 28 64 6f 75 62 | y=last|_y+(doub|
|00002c20| 6c 65 29 28 28 24 33 20 | 2d 20 79 4d 69 6e 29 2a |le)(($3 |- yMin)*|
|00002c30| 28 6d 69 6e 48 65 69 67 | 68 74 2f 28 79 4d 61 78 |(minHeig|ht/(yMax|
|00002c40| 20 2d 20 79 4d 69 6e 29 | 29 29 3b 0a 58 09 09 20 | - yMin)|));.X.. |
|00002c50| 20 20 20 20 7d 20 2f 2a | 20 65 6e 64 20 72 65 6c | } /*| end rel|
|00002c60| 69 74 61 76 65 20 63 6f | 6f 72 64 69 6e 61 74 65 |itave co|ordinate|
|00002c70| 20 2a 2f 0a 58 09 09 20 | 79 20 3d 20 6d 69 6e 48 | */.X.. |y = minH|
|00002c80| 65 69 67 68 74 20 2d 20 | 79 3b 0a 58 09 09 20 0a |eight - |y;.X.. .|
|00002c90| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|00002ca0| 20 20 2f 2a 20 69 66 20 | 74 68 65 20 70 65 6e 20 | /* if |the pen |
|00002cb0| 69 73 20 64 6f 77 6e 2c | 20 64 72 61 77 20 61 20 |is down,| draw a |
|00002cc0| 6c 69 6e 65 20 6f 66 20 | 74 68 65 20 61 70 70 72 |line of |the appr|
|00002cd0| 6f 70 72 69 61 74 65 20 | 6c 69 6e 65 0a 58 09 09 |opriate |line.X..|
|00002ce0| 20 20 20 20 74 79 70 65 | 20 62 65 74 77 65 65 6e | type| between|
|00002cf0| 20 74 68 65 20 6c 61 73 | 74 20 78 2c 79 20 61 6e | the las|t x,y an|
|00002d00| 64 20 74 68 65 20 63 75 | 72 72 65 6e 74 20 78 2c |d the cu|rrent x,|
|00002d10| 79 0a 58 09 09 20 20 20 | 20 63 6f 6f 72 64 69 6e |y.X.. | coordin|
|00002d20| 61 74 65 73 20 2a 2f 0a | 58 20 20 20 20 20 20 20 |ates */.|X |
|00002d30| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 28 70 65 | | if (pe|
|00002d40| 6e 5f 64 6f 77 6e 29 0a | 58 09 09 20 20 20 20 20 |n_down).|X.. |
|00002d50| 7b 20 2f 2a 20 62 65 67 | 69 6e 20 64 72 61 77 20 |{ /* beg|in draw |
|00002d60| 6c 69 6e 65 20 2a 2f 0a | 58 09 09 20 20 20 20 20 |line */.|X.. |
|00002d70| 63 6f 6f 72 64 69 6e 61 | 74 65 5f 70 6f 69 6e 74 |coordina|te_point|
|00002d80| 73 5b 30 5d 2e 78 20 3d | 20 6c 61 73 74 5f 78 3b |s[0].x =| last_x;|
|00002d90| 0a 58 09 09 20 20 20 20 | 20 63 6f 6f 72 64 69 6e |.X.. | coordin|
|00002da0| 61 74 65 5f 70 6f 69 6e | 74 73 5b 30 5d 2e 79 20 |ate_poin|ts[0].y |
|00002db0| 3d 20 6c 61 73 74 5f 79 | 3b 0a 58 09 09 20 20 20 |= last_y|;.X.. |
|00002dc0| 20 20 63 6f 6f 72 64 69 | 6e 61 74 65 5f 70 6f 69 | coordi|nate_poi|
|00002dd0| 6e 74 73 5b 31 5d 2e 78 | 20 3d 20 78 3b 0a 58 09 |nts[1].x| = x;.X.|
|00002de0| 09 20 20 20 20 20 63 6f | 6f 72 64 69 6e 61 74 65 |. co|ordinate|
|00002df0| 5f 70 6f 69 6e 74 73 5b | 31 5d 2e 79 20 3d 20 79 |_points[|1].y = y|
|00002e00| 3b 0a 58 09 09 20 20 20 | 20 20 58 44 72 61 77 44 |;.X.. | XDrawD|
|00002e10| 61 73 68 65 64 28 6d 61 | 69 6e 5f 77 69 6e 64 6f |ashed(ma|in_windo|
|00002e20| 77 2c 63 6f 6f 72 64 69 | 6e 61 74 65 5f 70 6f 69 |w,coordi|nate_poi|
|00002e30| 6e 74 73 2c 0a 58 09 09 | 09 20 20 20 32 2c 31 2c |nts,.X..|. 2,1,|
|00002e40| 31 2c 63 75 72 5f 70 65 | 6e 2c 6c 69 6e 65 5f 74 |1,cur_pe|n,line_t|
|00002e50| 79 70 65 2c 47 58 63 6f | 70 79 2c 41 6c 6c 50 6c |ype,GXco|py,AllPl|
|00002e60| 61 6e 65 73 29 3b 0a 58 | 09 09 20 20 20 20 20 7d |anes);.X|.. }|
|00002e70| 20 2f 2a 20 65 6e 64 20 | 64 72 61 77 20 6c 69 6e | /* end |draw lin|
|00002e80| 65 20 2a 2f 0a 58 09 09 | 20 7d 20 2f 2a 20 65 6e |e */.X..| } /* en|
|00002e90| 64 20 63 6f 72 64 69 6e | 61 74 65 20 63 68 61 6e |d cordin|ate chan|
|00002ea0| 67 65 20 2a 2f 0a 58 09 | 20 20 20 20 20 20 20 3b |ge */.X.| ;|
|00002eb0| 0a 58 0a 58 25 25 0a 58 | 76 6f 69 64 20 79 79 65 |.X.X%%.X|void yye|
|00002ec0| 72 72 6f 72 28 6d 65 73 | 73 29 0a 58 63 68 61 72 |rror(mes|s).Xchar|
|00002ed0| 20 2a 6d 65 73 73 3b 0a | 58 7b 20 2f 2a 20 62 65 | *mess;.|X{ /* be|
|00002ee0| 67 69 6e 20 70 61 72 73 | 69 6e 67 20 65 72 72 6f |gin pars|ing erro|
|00002ef0| 72 20 2a 2f 0a 58 20 20 | 20 20 66 70 72 69 6e 74 |r */.X | fprint|
|00002f00| 66 28 73 74 64 65 72 72 | 2c 22 53 79 6e 74 61 78 |f(stderr|,"Syntax|
|00002f10| 20 65 72 72 6f 72 20 6c | 69 6e 65 20 25 64 20 74 | error l|ine %d t|
|00002f20| 6f 6b 65 6e 20 25 73 2e | 5c 6e 22 2c 68 6c 69 6e |oken %s.|\n",hlin|
|00002f30| 65 2c 79 79 74 65 78 74 | 29 3b 20 0a 58 20 20 20 |e,yytext|); .X |
|00002f40| 20 65 78 69 74 28 29 3b | 0a 58 7d 20 2f 2a 20 65 | exit();|.X} /* e|
|00002f50| 6e 64 20 70 61 72 73 69 | 6e 67 20 65 72 72 6f 72 |nd parsi|ng error|
|00002f60| 20 2a 2f 0a 58 0a 58 69 | 6e 74 20 79 79 77 72 61 | */.X.Xi|nt yywra|
|00002f70| 70 28 29 0a 58 7b 20 2f | 2a 20 62 65 67 69 6e 20 |p().X{ /|* begin |
|00002f80| 2a 2f 0a 58 09 72 65 74 | 75 72 6e 28 31 29 3b 0a |*/.X.ret|urn(1);.|
|00002f90| 58 7d 20 2f 2a 20 65 6e | 64 20 2a 2f 0a 58 0a 40 |X} /* en|d */.X.@|
|00002fa0| 2f 2f 45 2a 4f 2a 46 20 | 68 70 67 6c 2e 79 2f 2f |//E*O*F |hpgl.y//|
|00002fb0| 0a 63 68 6d 6f 64 20 75 | 3d 72 77 2c 67 3d 72 77 |.chmod u|=rw,g=rw|
|00002fc0| 2c 6f 3d 72 77 20 24 4f | 55 54 0a 0a 65 63 68 6f |,o=rw $O|UT..echo|
|00002fd0| 20 78 20 2d 20 70 63 2e | 78 77 0a 69 66 20 74 65 | x - pc.|xw.if te|
|00002fe0| 73 74 20 2d 66 20 70 63 | 2e 78 77 20 3b 20 74 68 |st -f pc|.xw ; th|
|00002ff0| 65 6e 0a 20 20 20 20 65 | 63 68 6f 20 70 63 2e 78 |en. e|cho pc.x|
|00003000| 77 20 65 78 69 73 74 73 | 2c 20 70 75 74 74 69 6e |w exists|, puttin|
|00003010| 67 20 6f 75 74 70 75 74 | 20 69 6e 20 24 24 70 63 |g output| in $$pc|
|00003020| 2e 78 77 0a 20 20 20 20 | 4f 55 54 3d 24 24 70 63 |.xw. |OUT=$$pc|
|00003030| 2e 78 77 0a 20 20 20 20 | 53 54 41 54 55 53 3d 31 |.xw. |STATUS=1|
|00003040| 0a 65 6c 73 65 0a 20 20 | 20 20 4f 55 54 3d 70 63 |.else. | OUT=pc|
|00003050| 2e 78 77 0a 66 69 0a 73 | 65 64 20 27 73 2f 5e 58 |.xw.fi.s|ed 's/^X|
|00003060| 2f 2f 27 20 3e 20 24 4f | 55 54 20 3c 3c 27 40 2f |//' > $O|UT <<'@/|
|00003070| 2f 45 2a 4f 2a 46 20 70 | 63 2e 78 77 2f 2f 27 0a |/E*O*F p|c.xw//'.|
|00003080| 58 2e 28 2e 40 3b 30 3a | 2e 49 34 30 3b 3b 31 37 |X.(.@;0:|.I40;;17|
|00003090| 3a 2e 4e 3b 31 39 3a 44 | 46 3b 53 43 30 2c 31 39 |:.N;19:D|F;SC0,19|
|000030a0| 39 39 2c 30 2c 31 34 33 | 39 3b 2e 28 0a 58 53 52 |99,0,143|9;.(.XSR|
|000030b0| 30 2e 37 33 33 33 33 33 | 2c 31 2e 33 35 34 31 36 |0.733333|,1.35416|
|000030c0| 37 3b 44 49 31 2c 30 3b | 50 55 3b 53 50 37 3b 53 |7;DI1,0;|PU;SP7;S|
|000030d0| 4c 30 3b 4c 54 3b 2e 29 | 2e 28 0a 58 50 55 3b 53 |L0;LT;.)|.(.XPU;S|
|000030e0| 50 31 3b 50 55 3b 50 41 | 38 32 30 2c 36 30 34 3b |P1;PU;PA|820,604;|
|000030f0| 50 44 3b 50 41 31 31 31 | 32 2c 36 30 34 3b 0a 58 |PD;PA111|2,604;.X|
|00003100| 50 44 3b 50 41 31 31 30 | 38 2c 36 35 30 3b 0a 58 |PD;PA110|8,650;.X|
|00003110| 50 44 3b 50 41 31 30 39 | 38 2c 36 39 34 3b 0a 58 |PD;PA109|8,694;.X|
|00003120| 50 44 3b 50 41 31 30 38 | 30 2c 37 33 37 3b 0a 58 |PD;PA108|0,737;.X|
|00003130| 50 44 3b 50 41 31 30 35 | 36 2c 37 37 36 3b 0a 58 |PD;PA105|6,776;.X|
|00003140| 50 44 3b 50 41 38 32 30 | 2c 36 30 34 3b 0a 58 50 |PD;PA820|,604;.XP|
|00003150| 55 3b 53 50 32 3b 50 44 | 3b 50 41 31 30 35 36 2c |U;SP2;PD|;PA1056,|
|00003160| 37 37 36 3b 0a 58 50 44 | 3b 50 41 31 30 32 36 2c |776;.XPD|;PA1026,|
|00003170| 38 31 30 3b 0a 58 50 44 | 3b 50 41 39 39 32 2c 38 |810;.XPD|;PA992,8|
|00003180| 34 30 3b 0a 58 50 44 3b | 50 41 39 35 33 2c 38 36 |40;.XPD;|PA953,86|
|00003190| 34 3b 0a 58 50 44 3b 50 | 41 39 31 30 2c 38 38 32 |4;.XPD;P|A910,882|
|000031a0| 3b 0a 58 50 44 3b 50 41 | 38 36 36 2c 38 39 32 3b |;.XPD;PA|866,892;|
|000031b0| 0a 58 50 44 3b 50 41 38 | 32 30 2c 38 39 36 3b 0a |.XPD;PA8|20,896;.|
|000031c0| 58 50 44 3b 50 41 37 37 | 34 2c 38 39 32 3b 0a 58 |XPD;PA77|4,892;.X|
|000031d0| 50 44 3b 50 41 37 33 30 | 2c 38 38 32 3b 0a 58 50 |PD;PA730|,882;.XP|
|000031e0| 44 3b 50 41 38 32 30 2c | 36 30 34 3b 0a 58 50 55 |D;PA820,|604;.XPU|
|000031f0| 3b 50 41 37 33 31 2c 38 | 37 37 3b 50 44 3b 50 41 |;PA731,8|77;PD;PA|
|00003200| 37 33 38 2c 38 38 34 3b | 0a 58 50 55 3b 50 41 37 |738,884;|.XPU;PA7|
|00003210| 33 36 2c 38 36 32 3b 50 | 44 3b 50 41 37 36 35 2c |36,862;P|D;PA765,|
|00003220| 38 39 31 3b 0a 58 50 55 | 3b 50 41 37 34 31 2c 38 |891;.XPU|;PA741,8|
|00003230| 34 37 3b 50 44 3b 50 41 | 37 38 38 2c 38 39 34 3b |47;PD;PA|788,894;|
|00003240| 0a 58 50 55 3b 50 41 37 | 34 36 2c 38 33 32 3b 50 |.XPU;PA7|46,832;P|
|00003250| 44 3b 50 41 38 31 30 2c | 38 39 36 3b 0a 58 50 55 |D;PA810,|896;.XPU|
|00003260| 3b 50 41 37 35 31 2c 38 | 31 37 3b 50 44 3b 50 41 |;PA751,8|17;PD;PA|
|00003270| 38 33 30 2c 38 39 36 3b | 0a 58 50 55 3b 50 41 37 |830,896;|.XPU;PA7|
|00003280| 35 36 2c 38 30 32 3b 50 | 44 3b 50 41 38 34 39 2c |56,802;P|D;PA849,|
|00003290| 38 39 35 3b 0a 58 50 55 | 3b 50 41 37 36 31 2c 37 |895;.XPU|;PA761,7|
|000032a0| 38 37 3b 50 44 3b 50 41 | 38 36 36 2c 38 39 32 3b |87;PD;PA|866,892;|
|000032b0| 0a 58 50 55 3b 50 41 37 | 36 36 2c 37 37 32 3b 50 |.XPU;PA7|66,772;P|
|000032c0| 44 3b 50 41 38 38 33 2c | 38 38 39 3b 0a 58 50 55 |D;PA883,|889;.XPU|
|000032d0| 3b 50 41 37 37 31 2c 37 | 35 37 3b 50 44 3b 50 41 |;PA771,7|57;PD;PA|
|000032e0| 38 39 39 2c 38 38 35 3b | 0a 58 50 55 3b 50 41 37 |899,885;|.XPU;PA7|
|000032f0| 37 35 2c 37 34 31 3b 50 | 44 3b 50 41 39 31 34 2c |75,741;P|D;PA914,|
|00003300| 38 38 30 3b 0a 58 50 55 | 3b 50 41 37 38 30 2c 37 |880;.XPU|;PA780,7|
|00003310| 32 36 3b 50 44 3b 50 41 | 39 32 39 2c 38 37 35 3b |26;PD;PA|929,875;|
|00003320| 0a 58 50 55 3b 50 41 37 | 38 35 2c 37 31 31 3b 50 |.XPU;PA7|85,711;P|
|00003330| 44 3b 50 41 39 34 33 2c | 38 36 39 3b 0a 58 50 55 |D;PA943,|869;.XPU|
|00003340| 3b 50 41 37 39 30 2c 36 | 39 36 3b 50 44 3b 50 41 |;PA790,6|96;PD;PA|
|00003350| 39 35 36 2c 38 36 32 3b | 0a 58 50 55 3b 50 41 37 |956,862;|.XPU;PA7|
|00003360| 39 35 2c 36 38 31 3b 50 | 44 3b 50 41 39 36 39 2c |95,681;P|D;PA969,|
|00003370| 38 35 35 3b 0a 58 50 55 | 3b 50 41 38 30 30 2c 36 |855;.XPU|;PA800,6|
|00003380| 36 36 3b 50 44 3b 50 41 | 39 38 31 2c 38 34 37 3b |66;PD;PA|981,847;|
|00003390| 0a 58 50 55 3b 50 41 38 | 30 35 2c 36 35 31 3b 50 |.XPU;PA8|05,651;P|
|000033a0| 44 3b 50 41 39 39 33 2c | 38 33 39 3b 0a 58 50 55 |D;PA993,|839;.XPU|
|000033b0| 3b 50 41 38 31 30 2c 36 | 33 36 3b 50 44 3b 50 41 |;PA810,6|36;PD;PA|
|000033c0| 31 30 30 34 2c 38 33 30 | 3b 0a 58 50 55 3b 50 41 |1004,830|;.XPU;PA|
|000033d0| 38 31 35 2c 36 32 31 3b | 50 44 3b 50 41 31 30 31 |815,621;|PD;PA101|
|000033e0| 35 2c 38 32 31 3b 0a 58 | 50 55 3b 50 41 38 32 30 |5,821;.X|PU;PA820|
|000033f0| 2c 36 30 36 3b 50 44 3b | 50 41 31 30 32 35 2c 38 |,606;PD;|PA1025,8|
|00003400| 31 31 3b 0a 58 50 55 3b | 50 41 38 38 36 2c 36 35 |11;.XPU;|PA886,65|
|00003410| 32 3b 50 44 3b 50 41 31 | 30 33 35 2c 38 30 31 3b |2;PD;PA1|035,801;|
|00003420| 0a 58 50 55 3b 50 41 39 | 36 30 2c 37 30 36 3b 50 |.XPU;PA9|60,706;P|
|00003430| 44 3b 50 41 31 30 34 35 | 2c 37 39 31 3b 0a 58 50 |D;PA1045|,791;.XP|
|00003440| 55 3b 50 41 31 30 33 34 | 2c 37 36 30 3b 50 44 3b |U;PA1034|,760;PD;|
|00003450| 50 41 31 30 35 33 2c 37 | 37 39 3b 0a 58 50 55 3b |PA1053,7|79;.XPU;|
|00003460| 53 50 33 3b 50 55 3b 50 | 41 38 32 30 2c 36 30 34 |SP3;PU;P|A820,604|
|00003470| 3b 50 44 3b 50 41 37 33 | 30 2c 38 38 32 3b 0a 58 |;PD;PA73|0,882;.X|
|00003480| 50 44 3b 50 41 36 38 37 | 2c 38 36 34 3b 0a 58 50 |PD;PA687|,864;.XP|
|00003490| 44 3b 50 41 36 34 38 2c | 38 34 30 3b 0a 58 50 44 |D;PA648,|840;.XPD|
|000034a0| 3b 50 41 36 31 34 2c 38 | 31 30 3b 0a 58 50 44 3b |;PA614,8|10;.XPD;|
|000034b0| 50 41 35 38 34 2c 37 37 | 36 3b 0a 58 50 44 3b 50 |PA584,77|6;.XPD;P|
|000034c0| 41 35 36 30 2c 37 33 37 | 3b 0a 58 50 44 3b 50 41 |A560,737|;.XPD;PA|
|000034d0| 35 34 32 2c 36 39 34 3b | 0a 58 50 44 3b 50 41 35 |542,694;|.XPD;PA5|
|000034e0| 33 32 2c 36 35 30 3b 0a | 58 50 44 3b 50 41 35 32 |32,650;.|XPD;PA52|
|000034f0| 38 2c 36 30 34 3b 0a 58 | 50 44 3b 50 41 35 33 32 |8,604;.X|PD;PA532|
|00003500| 2c 35 35 38 3b 0a 58 50 | 44 3b 50 41 35 34 32 2c |,558;.XP|D;PA542,|
|00003510| 35 31 34 3b 0a 58 50 44 | 3b 50 41 35 36 30 2c 34 |514;.XPD|;PA560,4|
|00003520| 37 31 3b 0a 58 50 44 3b | 50 41 35 38 34 2c 34 33 |71;.XPD;|PA584,43|
|00003530| 32 3b 0a 58 50 44 3b 50 | 41 38 32 30 2c 36 30 34 |2;.XPD;P|A820,604|
|00003540| 3b 0a 58 50 55 3b 50 41 | 35 37 37 2c 34 34 32 3b |;.XPU;PA|577,442;|
|00003550| 50 44 3b 50 41 35 38 36 | 2c 34 33 33 3b 0a 58 50 |PD;PA586|,433;.XP|
|00003560| 55 3b 50 41 35 35 33 2c | 34 38 36 3b 50 44 3b 50 |U;PA553,|486;PD;P|
|00003570| 41 35 39 37 2c 34 34 32 | 3b 0a 58 50 55 3b 50 41 |A597,442|;.XPU;PA|
|00003580| 35 34 31 2c 35 31 38 3b | 50 44 3b 50 41 36 30 39 |541,518;|PD;PA609|
|00003590| 2c 34 35 30 3b 0a 58 50 | 55 3b 50 41 35 33 34 2c |,450;.XP|U;PA534,|
|000035a0| 35 34 35 3b 50 44 3b 50 | 41 36 32 30 2c 34 35 39 |545;PD;P|A620,459|
|000035b0| 3b 0a 58 50 55 3b 50 41 | 35 33 30 2c 35 36 39 3b |;.XPU;PA|530,569;|
|000035c0| 50 44 3b 50 41 36 33 32 | 2c 34 36 37 3b 0a 58 50 |PD;PA632|,467;.XP|
|000035d0| 55 3b 50 41 35 32 38 2c | 35 39 31 3b 50 44 3b 50 |U;PA528,|591;PD;P|
|000035e0| 41 36 34 34 2c 34 37 35 | 3b 0a 58 50 55 3b 50 41 |A644,475|;.XPU;PA|
|000035f0| 35 32 38 2c 36 31 31 3b | 50 44 3b 50 41 36 35 35 |528,611;|PD;PA655|
|00003600| 2c 34 38 34 3b 0a 58 50 | 55 3b 50 41 35 32 39 2c |,484;.XP|U;PA529,|
|00003610| 36 33 30 3b 50 44 3b 50 | 41 36 36 37 2c 34 39 32 |630;PD;P|A667,492|
|00003620| 3b 0a 58 50 55 3b 50 41 | 35 33 31 2c 36 34 38 3b |;.XPU;PA|531,648;|
|00003630| 50 44 3b 50 41 36 37 38 | 2c 35 30 31 3b 0a 58 50 |PD;PA678|,501;.XP|
|00003640| 55 3b 50 41 35 33 34 2c | 36 36 35 3b 50 44 3b 50 |U;PA534,|665;PD;P|
|00003650| 41 36 39 30 2c 35 30 39 | 3b 0a 58 50 55 3b 50 41 |A690,509|;.XPU;PA|
|00003660| 35 33 38 2c 36 38 31 3b | 50 44 3b 50 41 37 30 31 |538,681;|PD;PA701|
|00003670| 2c 35 31 38 3b 0a 58 50 | 55 3b 50 41 35 34 33 2c |,518;.XP|U;PA543,|
|00003680| 36 39 36 3b 50 44 3b 50 | 41 37 31 33 2c 35 32 36 |696;PD;P|A713,526|
|00003690| 3b 0a 58 50 55 3b 50 41 | 35 34 38 2c 37 31 31 3b |;.XPU;PA|548,711;|
|000036a0| 50 44 3b 50 41 37 32 35 | 2c 35 33 34 3b 0a 58 50 |PD;PA725|,534;.XP|
|000036b0| 55 3b 50 41 35 35 34 2c | 37 32 35 3b 50 44 3b 50 |U;PA554,|725;PD;P|
|000036c0| 41 37 33 36 2c 35 34 33 | 3b 0a 58 50 55 3b 50 41 |A736,543|;.XPU;PA|
|000036d0| 35 36 31 2c 37 33 38 3b | 50 44 3b 50 41 37 34 38 |561,738;|PD;PA748|
|000036e0| 2c 35 35 31 3b 0a 58 50 | 55 3b 50 41 35 36 38 2c |,551;.XP|U;PA568,|
|000036f0| 37 35 31 3b 50 44 3b 50 | 41 37 35 39 2c 35 36 30 |751;PD;P|A759,560|
|00003700| 3b 0a 58 50 55 3b 50 41 | 35 37 35 2c 37 36 34 3b |;.XPU;PA|575,764;|
|00003710| 50 44 3b 50 41 37 37 31 | 2c 35 36 38 3b 0a 58 50 |PD;PA771|,568;.XP|
|00003720| 55 3b 50 41 35 38 34 2c | 37 37 35 3b 50 44 3b 50 |U;PA584,|775;PD;P|
|00003730| 41 37 38 32 2c 35 37 37 | 3b 0a 58 50 55 3b 50 41 |A782,577|;.XPU;PA|
|00003740| 35 39 32 2c 37 38 37 3b | 50 44 3b 50 41 37 39 34 |592,787;|PD;PA794|
|00003750| 2c 35 38 35 3b 0a 58 50 | 55 3b 50 41 36 30 31 2c |,585;.XP|U;PA601,|
|00003760| 37 39 38 3b 50 44 3b 50 | 41 38 30 36 2c 35 39 33 |798;PD;P|A806,593|
|00003770| 3b 0a 58 50 55 3b 50 41 | 36 31 31 2c 38 30 38 3b |;.XPU;PA|611,808;|
|00003780| 50 44 3b 50 41 38 31 37 | 2c 36 30 32 3b 0a 58 50 |PD;PA817|,602;.XP|
|00003790| 55 3b 50 41 36 32 31 2c | 38 31 38 3b 50 44 3b 50 |U;PA621,|818;PD;P|
|000037a0| 41 38 31 33 2c 36 32 36 | 3b 0a 58 50 55 3b 50 41 |A813,626|;.XPU;PA|
|000037b0| 36 33 32 2c 38 32 37 3b | 50 44 3b 50 41 38 30 33 |632,827;|PD;PA803|
|000037c0| 2c 36 35 36 3b 0a 58 50 | 55 3b 50 41 36 34 33 2c |,656;.XP|U;PA643,|
|000037d0| 38 33 36 3b 50 44 3b 50 | 41 37 39 34 2c 36 38 35 |836;PD;P|A794,685|
|000037e0| 3b 0a 58 50 55 3b 50 41 | 36 35 34 2c 38 34 35 3b |;.XPU;PA|654,845;|
|000037f0| 50 44 3b 50 41 37 38 34 | 2c 37 31 35 3b 0a 58 50 |PD;PA784|,715;.XP|
|00003800| 55 3b 50 41 36 36 37 2c | 38 35 32 3b 50 44 3b 50 |U;PA667,|852;PD;P|
|00003810| 41 37 37 35 2c 37 34 34 | 3b 0a 58 50 55 3b 50 41 |A775,744|;.XPU;PA|
|00003820| 36 37 39 2c 38 36 30 3b | 50 44 3b 50 41 37 36 35 |679,860;|PD;PA765|
|00003830| 2c 37 37 34 3b 0a 58 50 | 55 3b 50 41 36 39 32 2c |,774;.XP|U;PA692,|
|00003840| 38 36 37 3b 50 44 3b 50 | 41 37 35 35 2c 38 30 34 |867;PD;P|A755,804|
|00003850| 3b 0a 58 50 55 3b 50 41 | 37 30 36 2c 38 37 33 3b |;.XPU;PA|706,873;|
|00003860| 50 44 3b 50 41 37 34 36 | 2c 38 33 33 3b 0a 58 50 |PD;PA746|,833;.XP|
|00003870| 55 3b 50 41 37 32 30 2c | 38 37 39 3b 50 44 3b 50 |U;PA720,|879;PD;P|
|00003880| 41 37 33 36 2c 38 36 33 | 3b 0a 58 50 55 3b 53 50 |A736,863|;.XPU;SP|
|00003890| 34 3b 50 55 3b 50 41 38 | 32 30 2c 36 30 34 3b 50 |4;PU;PA8|20,604;P|
|000038a0| 44 3b 50 41 35 38 34 2c | 34 33 32 3b 0a 58 50 44 |D;PA584,|432;.XPD|
|000038b0| 3b 50 41 36 31 34 2c 33 | 39 38 3b 0a 58 50 44 3b |;PA614,3|98;.XPD;|
|000038c0| 50 41 36 34 38 2c 33 36 | 38 3b 0a 58 50 44 3b 50 |PA648,36|8;.XPD;P|
|000038d0| 41 36 38 37 2c 33 34 34 | 3b 0a 58 50 44 3b 50 41 |A687,344|;.XPD;PA|
|000038e0| 37 33 30 2c 33 32 36 3b | 0a 58 50 44 3b 50 41 37 |730,326;|.XPD;PA7|
|000038f0| 37 34 2c 33 31 36 3b 0a | 58 50 44 3b 50 41 38 32 |74,316;.|XPD;PA82|
|00003900| 30 2c 33 31 32 3b 0a 58 | 50 44 3b 50 41 38 36 36 |0,312;.X|PD;PA866|
|00003910| 2c 33 31 36 3b 0a 58 50 | 44 3b 50 41 39 31 30 2c |,316;.XP|D;PA910,|
|00003920| 33 32 36 3b 0a 58 50 44 | 3b 50 41 39 35 33 2c 33 |326;.XPD|;PA953,3|
|00003930| 34 34 3b 0a 58 50 44 3b | 50 41 39 39 32 2c 33 36 |44;.XPD;|PA992,36|
|00003940| 38 3b 0a 58 50 44 3b 50 | 41 31 30 32 36 2c 33 39 |8;.XPD;P|A1026,39|
|00003950| 38 3b 0a 58 50 44 3b 50 | 41 31 30 35 36 2c 34 33 |8;.XPD;P|A1056,43|
|00003960| 32 3b 0a 58 50 44 3b 50 | 41 31 30 38 30 2c 34 37 |2;.XPD;P|A1080,47|
|00003970| 31 3b 0a 58 50 44 3b 50 | 41 31 30 39 38 2c 35 31 |1;.XPD;P|A1098,51|
|00003980| 34 3b 0a 58 50 44 3b 50 | 41 31 31 30 38 2c 35 35 |4;.XPD;P|A1108,55|
|00003990| 38 3b 0a 58 50 44 3b 50 | 41 31 31 31 32 2c 36 30 |8;.XPD;P|A1112,60|
|000039a0| 34 3b 0a 58 50 44 3b 50 | 41 38 32 30 2c 36 30 34 |4;.XPD;P|A820,604|
|000039b0| 3b 0a 58 50 55 3b 50 41 | 36 30 30 2c 34 34 34 3b |;.XPU;PA|600,444;|
|000039c0| 50 44 3b 50 41 36 30 30 | 2c 34 31 32 3b 0a 58 50 |PD;PA600|,412;.XP|
|000039d0| 55 3b 50 41 36 32 30 2c | 34 35 38 3b 50 44 3b 50 |U;PA620,|458;PD;P|
|000039e0| 41 36 32 30 2c 33 39 31 | 3b 0a 58 50 55 3b 50 41 |A620,391|;.XPU;PA|
|000039f0| 36 34 30 2c 34 37 33 3b | 50 44 3b 50 41 36 34 30 |640,473;|PD;PA640|
|00003a00| 2c 33 37 34 3b 0a 58 50 | 55 3b 50 41 36 36 30 2c |,374;.XP|U;PA660,|
|00003a10| 34 38 37 3b 50 44 3b 50 | 41 36 36 30 2c 33 36 30 |487;PD;P|A660,360|
|00003a20| 3b 0a 58 50 55 3b 50 41 | 36 38 30 2c 35 30 32 3b |;.XPU;PA|680,502;|
|00003a30| 50 44 3b 50 41 36 38 30 | 2c 33 34 38 3b 0a 58 50 |PD;PA680|,348;.XP|
|00003a40| 55 3b 50 41 37 30 30 2c | 35 31 37 3b 50 44 3b 50 |U;PA700,|517;PD;P|
|00003a50| 41 37 30 30 2c 33 33 38 | 3b 0a 58 50 55 3b 50 41 |A700,338|;.XPU;PA|
|00003a60| 37 32 30 2c 35 33 31 3b | 50 44 3b 50 41 37 32 30 |720,531;|PD;PA720|
|00003a70| 2c 33 33 30 3b 0a 58 50 | 55 3b 50 41 37 34 30 2c |,330;.XP|U;PA740,|
|00003a80| 35 34 36 3b 50 44 3b 50 | 41 37 34 30 2c 33 32 33 |546;PD;P|A740,323|
|00003a90| 3b 0a 58 50 55 3b 50 41 | 37 36 30 2c 35 36 30 3b |;.XPU;PA|760,560;|
|00003aa0| 50 44 3b 50 41 37 36 30 | 2c 33 31 38 3b 0a 58 50 |PD;PA760|,318;.XP|
|00003ab0| 55 3b 50 41 37 38 30 2c | 35 37 35 3b 50 44 3b 50 |U;PA780,|575;PD;P|
|00003ac0| 41 37 38 30 2c 33 31 35 | 3b 0a 58 50 55 3b 50 41 |A780,315|;.XPU;PA|
|00003ad0| 38 30 30 2c 35 38 39 3b | 50 44 3b 50 41 38 30 30 |800,589;|PD;PA800|
|00003ae0| 2c 33 31 33 3b 0a 58 50 | 55 3b 50 41 38 32 30 2c |,313;.XP|U;PA820,|
|00003af0| 36 30 34 3b 50 44 3b 50 | 41 38 32 30 2c 33 31 32 |604;PD;P|A820,312|
|00003b00| 3b 0a 58 50 55 3b 50 41 | 38 34 30 2c 36 30 34 3b |;.XPU;PA|840,604;|
|00003b10| 50 44 3b 50 41 38 34 30 | 2c 33 31 33 3b 0a 58 50 |PD;PA840|,313;.XP|
|00003b20| 55 3b 50 41 38 36 30 2c | 36 30 34 3b 50 44 3b 50 |U;PA860,|604;PD;P|
|00003b30| 41 38 36 30 2c 33 31 35 | 3b 0a 58 50 55 3b 50 41 |A860,315|;.XPU;PA|
|00003b40| 38 38 30 2c 36 30 34 3b | 50 44 3b 50 41 38 38 30 |880,604;|PD;PA880|
|00003b50| 2c 33 31 38 3b 0a 58 50 | 55 3b 50 41 39 30 30 2c |,318;.XP|U;PA900,|
|00003b60| 36 30 34 3b 50 44 3b 50 | 41 39 30 30 2c 33 32 33 |604;PD;P|A900,323|
|00003b70| 3b 0a 58 50 55 3b 50 41 | 39 32 30 2c 36 30 34 3b |;.XPU;PA|920,604;|
|00003b80| 50 44 3b 50 41 39 32 30 | 2c 33 33 30 3b 0a 58 50 |PD;PA920|,330;.XP|
|00003b90| 55 3b 50 41 39 34 30 2c | 36 30 34 3b 50 44 3b 50 |U;PA940,|604;PD;P|
|00003ba0| 41 39 34 30 2c 33 33 38 | 3b 0a 58 50 55 3b 50 41 |A940,338|;.XPU;PA|
|00003bb0| 39 36 30 2c 36 30 34 3b | 50 44 3b 50 41 39 36 30 |960,604;|PD;PA960|
|00003bc0| 2c 33 34 38 3b 0a 58 50 | 55 3b 50 41 39 38 30 2c |,348;.XP|U;PA980,|
|00003bd0| 36 30 34 3b 50 44 3b 50 | 41 39 38 30 2c 33 36 30 |604;PD;P|A980,360|
|00003be0| 3b 0a 58 50 55 3b 50 41 | 31 30 30 30 2c 36 30 34 |;.XPU;PA|1000,604|
|00003bf0| 3b 50 44 3b 50 41 31 30 | 30 30 2c 33 37 34 3b 0a |;PD;PA10|00,374;.|
|00003c00| 58 50 55 3b 50 41 31 30 | 32 30 2c 36 30 34 3b 50 |XPU;PA10|20,604;P|
|00003c10| 44 3b 50 41 31 30 32 30 | 2c 33 39 31 3b 0a 58 50 |D;PA1020|,391;.XP|
|00003c20| 55 3b 50 41 31 30 34 30 | 2c 36 30 34 3b 50 44 3b |U;PA1040|,604;PD;|
|00003c30| 50 41 31 30 34 30 2c 34 | 31 32 3b 0a 58 50 55 3b |PA1040,4|12;.XPU;|
|00003c40| 50 41 31 30 36 30 2c 36 | 30 34 3b 50 44 3b 50 41 |PA1060,6|04;PD;PA|
|00003c50| 31 30 36 30 2c 34 33 38 | 3b 0a 58 50 55 3b 50 41 |1060,438|;.XPU;PA|
|00003c60| 31 30 38 30 2c 36 30 34 | 3b 50 44 3b 50 41 31 30 |1080,604|;PD;PA10|
|00003c70| 38 30 2c 34 37 31 3b 0a | 58 50 55 3b 50 41 31 31 |80,471;.|XPU;PA11|
|00003c80| 30 30 2c 36 30 34 3b 50 | 44 3b 50 41 31 31 30 30 |00,604;P|D;PA1100|
|00003c90| 2c 35 32 31 3b 0a 58 50 | 55 3b 53 50 37 3b 50 55 |,521;.XP|U;SP7;PU|
|00003ca0| 3b 50 41 36 34 34 2c 31 | 33 31 31 3b 0a 58 50 55 |;PA644,1|311;.XPU|
|00003cb0| 3b 4c 42 44 41 54 41 20 | 46 52 4f 4d 20 40 50 49 |;LBDATA |FROM @PI|
|00003cc0| 45 4d 45 0a 58 50 55 3b | 50 41 37 34 38 2c 31 32 |EME.XPU;|PA748,12|
|00003cd0| 33 33 3b 0a 58 50 55 3b | 4c 42 50 49 45 20 31 0a |33;.XPU;|LBPIE 1.|
|00003ce0| 58 50 55 3b 53 50 31 3b | 50 55 3b 50 41 31 37 30 |XPU;SP1;|PU;PA170|
|00003cf0| 36 2c 37 34 30 3b 50 44 | 3b 50 41 31 38 32 33 2c |6,740;PD|;PA1823,|
|00003d00| 37 34 30 3b 0a 58 50 44 | 3b 50 41 31 38 32 33 2c |740;.XPD|;PA1823,|
|00003d10| 37 37 38 3b 0a 58 50 44 | 3b 50 41 31 37 30 36 2c |778;.XPD|;PA1706,|
|00003d20| 37 37 38 3b 0a 58 50 44 | 3b 50 41 31 37 30 36 2c |778;.XPD|;PA1706,|
|00003d30| 37 34 30 3b 0a 58 50 55 | 3b 53 50 37 3b 50 55 3b |740;.XPU|;SP7;PU;|
|00003d40| 50 41 31 38 34 36 2c 37 | 34 37 3b 0a 58 50 55 3b |PA1846,7|47;.XPU;|
|00003d50| 4c 42 53 4c 49 43 45 20 | 31 0a 58 50 55 3b 53 50 |LBSLICE |1.XPU;SP|
|00003d60| 32 3b 50 55 3b 50 41 31 | 37 30 36 2c 36 36 32 3b |2;PU;PA1|706,662;|
|00003d70| 50 44 3b 50 41 31 38 32 | 33 2c 36 36 32 3b 0a 58 |PD;PA182|3,662;.X|
|00003d80| 50 44 3b 50 41 31 38 32 | 33 2c 37 30 30 3b 0a 58 |PD;PA182|3,700;.X|
|00003d90| 50 44 3b 50 41 31 37 30 | 36 2c 37 30 30 3b 0a 58 |PD;PA170|6,700;.X|
|00003da0| 50 44 3b 50 41 31 37 30 | 36 2c 36 36 32 3b 0a 58 |PD;PA170|6,662;.X|
|00003db0| 50 55 3b 50 41 31 37 30 | 36 2c 36 38 35 3b 50 44 |PU;PA170|6,685;PD|
|00003dc0| 3b 50 41 31 37 32 31 2c | 37 30 30 3b 0a 58 50 55 |;PA1721,|700;.XPU|
|00003dd0| 3b 50 41 31 37 30 36 2c | 36 36 35 3b 50 44 3b 50 |;PA1706,|665;PD;P|
|00003de0| 41 31 37 34 31 2c 37 30 | 30 3b 0a 58 50 55 3b 50 |A1741,70|0;.XPU;P|
|00003df0| 41 31 37 32 33 2c 36 36 | 32 3b 50 44 3b 50 41 31 |A1723,66|2;PD;PA1|
|00003e00| 37 36 31 2c 37 30 30 3b | 0a 58 50 55 3b 50 41 31 |761,700;|.XPU;PA1|
|00003e10| 37 34 33 2c 36 36 32 3b | 50 44 3b 50 41 31 37 38 |743,662;|PD;PA178|
|00003e20| 31 2c 37 30 30 3b 0a 58 | 50 55 3b 50 41 31 37 36 |1,700;.X|PU;PA176|
|00003e30| 33 2c 36 36 32 3b 50 44 | 3b 50 41 31 38 30 31 2c |3,662;PD|;PA1801,|
|00003e40| 37 30 30 3b 0a 58 50 55 | 3b 50 41 31 37 38 33 2c |700;.XPU|;PA1783,|
|00003e50| 36 36 32 3b 50 44 3b 50 | 41 31 38 32 31 2c 37 30 |662;PD;P|A1821,70|
|00003e60| 30 3b 0a 58 50 55 3b 50 | 41 31 38 30 33 2c 36 36 |0;.XPU;P|A1803,66|
|00003e70| 32 3b 50 44 3b 50 41 31 | 38 32 33 2c 36 38 32 3b |2;PD;PA1|823,682;|
|00003e80| 0a 58 50 55 3b 50 41 31 | 38 32 33 2c 36 36 32 3b |.XPU;PA1|823,662;|
|00003e90| 50 44 3b 50 41 31 38 32 | 33 2c 36 36 32 3b 0a 58 |PD;PA182|3,662;.X|
|00003ea0| 50 55 3b 53 50 37 3b 50 | 55 3b 50 41 31 38 34 36 |PU;SP7;P|U;PA1846|
|00003eb0| 2c 36 36 39 3b 0a 58 50 | 55 3b 4c 42 53 4c 49 43 |,669;.XP|U;LBSLIC|
|00003ec0| 45 20 32 0a 58 50 55 3b | 53 50 33 3b 50 55 3b 50 |E 2.XPU;|SP3;PU;P|
|00003ed0| 41 31 37 30 36 2c 35 38 | 34 3b 50 44 3b 50 41 31 |A1706,58|4;PD;PA1|
|00003ee0| 38 32 33 2c 35 38 34 3b | 0a 58 50 44 3b 50 41 31 |823,584;|.XPD;PA1|
|00003ef0| 38 32 33 2c 36 32 32 3b | 0a 58 50 44 3b 50 41 31 |823,622;|.XPD;PA1|
|00003f00| 37 30 36 2c 36 32 32 3b | 0a 58 50 44 3b 50 41 31 |706,622;|.XPD;PA1|
|00003f10| 37 30 36 2c 35 38 34 3b | 0a 58 50 55 3b 50 41 31 |706,584;|.XPU;PA1|
|00003f20| 37 30 36 2c 35 39 33 3b | 50 44 3b 50 41 31 37 31 |706,593;|PD;PA171|
|00003f30| 35 2c 35 38 34 3b 0a 58 | 50 55 3b 50 41 31 37 30 |5,584;.X|PU;PA170|
|00003f40| 36 2c 36 31 33 3b 50 44 | 3b 50 41 31 37 33 35 2c |6,613;PD|;PA1735,|
|00003f50| 35 38 34 3b 0a 58 50 55 | 3b 50 41 31 37 31 37 2c |584;.XPU|;PA1717,|
|00003f60| 36 32 32 3b 50 44 3b 50 | 41 31 37 35 35 2c 35 38 |622;PD;P|A1755,58|
|00003f70| 34 3b 0a 58 50 55 3b 50 | 41 31 37 33 37 2c 36 32 |4;.XPU;P|A1737,62|
|00003f80| 32 3b 50 44 3b 50 41 31 | 37 37 35 2c 35 38 34 3b |2;PD;PA1|775,584;|
|00003f90| 0a 58 50 55 3b 50 41 31 | 37 35 37 2c 36 32 32 3b |.XPU;PA1|757,622;|
|00003fa0| 50 44 3b 50 41 31 37 39 | 35 2c 35 38 34 3b 0a 58 |PD;PA179|5,584;.X|
|00003fb0| 50 55 3b 50 41 31 37 37 | 37 2c 36 32 32 3b 50 44 |PU;PA177|7,622;PD|
|00003fc0| 3b 50 41 31 38 31 35 2c | 35 38 34 3b 0a 58 50 55 |;PA1815,|584;.XPU|
|00003fd0| 3b 50 41 31 37 39 37 2c | 36 32 32 3b 50 44 3b 50 |;PA1797,|622;PD;P|
|00003fe0| 41 31 38 32 33 2c 35 39 | 37 3b 0a 58 50 55 3b 50 |A1823,59|7;.XPU;P|
|00003ff0| 41 31 38 31 37 2c 36 32 | 32 3b 50 44 3b 50 41 31 |A1817,62|2;PD;PA1|
|00004000| 38 32 33 2c 36 31 36 3b | 0a 58 50 55 3b 53 50 37 |823,616;|.XPU;SP7|
|00004010| 3b 50 55 3b 50 41 31 38 | 34 36 2c 35 39 31 3b 0a |;PU;PA18|46,591;.|
|00004020| 58 50 55 3b 4c 42 53 4c | 49 43 45 20 33 0a 58 50 |XPU;LBSL|ICE 3.XP|
|00004030| 55 3b 53 50 34 3b 50 55 | 3b 50 41 31 37 30 36 2c |U;SP4;PU|;PA1706,|
|00004040| 35 30 36 3b 50 44 3b 50 | 41 31 38 32 33 2c 35 30 |506;PD;P|A1823,50|
|00004050| 36 3b 0a 58 50 44 3b 50 | 41 31 38 32 33 2c 35 34 |6;.XPD;P|A1823,54|
|00004060| 34 3b 0a 58 50 44 3b 50 | 41 31 37 30 36 2c 35 34 |4;.XPD;P|A1706,54|
|00004070| 34 3b 0a 58 50 44 3b 50 | 41 31 37 30 36 2c 35 30 |4;.XPD;P|A1706,50|
|00004080| 36 3b 0a 58 50 55 3b 50 | 41 31 37 32 30 2c 35 30 |6;.XPU;P|A1720,50|
|00004090| 36 3b 50 44 3b 50 41 31 | 37 32 30 2c 35 34 34 3b |6;PD;PA1|720,544;|
|000040a0| 0a 58 50 55 3b 50 41 31 | 37 34 30 2c 35 30 36 3b |.XPU;PA1|740,506;|
|000040b0| 50 44 3b 50 41 31 37 34 | 30 2c 35 34 34 3b 0a 58 |PD;PA174|0,544;.X|
|000040c0| 50 55 3b 50 41 31 37 36 | 30 2c 35 30 36 3b 50 44 |PU;PA176|0,506;PD|
|000040d0| 3b 50 41 31 37 36 30 2c | 35 34 34 3b 0a 58 50 55 |;PA1760,|544;.XPU|
|000040e0| 3b 50 41 31 37 38 30 2c | 35 30 36 3b 50 44 3b 50 |;PA1780,|506;PD;P|
|000040f0| 41 31 37 38 30 2c 35 34 | 34 3b 0a 58 50 55 3b 50 |A1780,54|4;.XPU;P|
|00004100| 41 31 38 30 30 2c 35 30 | 36 3b 50 44 3b 50 41 31 |A1800,50|6;PD;PA1|
|00004110| 38 30 30 2c 35 34 34 3b | 0a 58 50 55 3b 50 41 31 |800,544;|.XPU;PA1|
|00004120| 38 32 30 2c 35 30 36 3b | 50 44 3b 50 41 31 38 32 |820,506;|PD;PA182|
|00004130| 30 2c 35 34 34 3b 0a 58 | 50 55 3b 53 50 37 3b 50 |0,544;.X|PU;SP7;P|
|00004140| 55 3b 50 41 31 38 34 36 | 2c 35 31 33 3b 0a 58 50 |U;PA1846|,513;.XP|
|00004150| 55 3b 4c 42 53 4c 49 43 | 45 20 34 0a 58 50 55 3b |U;LBSLIC|E 4.XPU;|
|00004160| 50 41 30 2c 31 33 38 39 | 3b 0a 58 50 55 3b 4c 42 |PA0,1389|;.XPU;LB|
|00004170| 50 43 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |PC | |
|00004180| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004190| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000041a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000041b0| 20 20 20 31 31 2d 4a 55 | 4c 2d 38 39 20 31 32 3a | 11-JU|L-89 12:|
|000041c0| 30 36 20 50 61 67 65 20 | 31 20 0a 58 50 55 3b 53 |06 Page |1 .XPU;S|
|000041d0| 50 30 3b 2e 29 2e 28 50 | 55 3b 50 41 30 2c 31 34 |P0;.).(P|U;PA0,14|
|000041e0| 33 39 3b 44 46 3b 53 50 | 30 3b 2e 29 0a 40 2f 2f |39;DF;SP|0;.).@//|
|000041f0| 45 2a 4f 2a 46 20 70 63 | 2e 78 77 2f 2f 0a 63 68 |E*O*F pc|.xw//.ch|
|00004200| 6d 6f 64 20 75 3d 72 77 | 2c 67 3d 72 77 2c 6f 3d |mod u=rw|,g=rw,o=|
|00004210| 72 77 20 24 4f 55 54 0a | 0a 65 63 68 6f 20 78 20 |rw $OUT.|.echo x |
|00004220| 2d 20 78 68 70 67 6c 2e | 63 0a 69 66 20 74 65 73 |- xhpgl.|c.if tes|
|00004230| 74 20 2d 66 20 78 68 70 | 67 6c 2e 63 20 3b 20 74 |t -f xhp|gl.c ; t|
|00004240| 68 65 6e 0a 20 20 20 20 | 65 63 68 6f 20 78 68 70 |hen. |echo xhp|
|00004250| 67 6c 2e 63 20 65 78 69 | 73 74 73 2c 20 70 75 74 |gl.c exi|sts, put|
|00004260| 74 69 6e 67 20 6f 75 74 | 70 75 74 20 69 6e 20 24 |ting out|put in $|
|00004270| 24 78 68 70 67 6c 2e 63 | 0a 20 20 20 20 4f 55 54 |$xhpgl.c|. OUT|
|00004280| 3d 24 24 78 68 70 67 6c | 2e 63 0a 20 20 20 20 53 |=$$xhpgl|.c. S|
|00004290| 54 41 54 55 53 3d 31 0a | 65 6c 73 65 0a 20 20 20 |TATUS=1.|else. |
|000042a0| 20 4f 55 54 3d 78 68 70 | 67 6c 2e 63 0a 66 69 0a | OUT=xhp|gl.c.fi.|
|000042b0| 73 65 64 20 27 73 2f 5e | 58 2f 2f 27 20 3e 20 24 |sed 's/^|X//' > $|
|000042c0| 4f 55 54 20 3c 3c 27 40 | 2f 2f 45 2a 4f 2a 46 20 |OUT <<'@|//E*O*F |
|000042d0| 78 68 70 67 6c 2e 63 2f | 2f 27 0a 58 2f 2a 2a 2a |xhpgl.c/|/'.X/***|
|000042e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000042f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 5c |********|*******\|
|00004320| 0a 58 20 2a 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X * | |
|00004330| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004340| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004350| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004360| 20 20 20 20 2a 0a 58 20 | 2a 20 20 46 69 6c 65 20 | *.X |* File |
|00004370| 4e 61 6d 65 3a 20 20 78 | 68 70 67 6c 2e 63 20 20 |Name: x|hpgl.c |
|00004380| 20 20 70 61 72 74 20 6f | 66 20 68 70 67 6c 20 74 | part o|f hpgl t|
|00004390| 6f 20 58 77 69 6e 64 6f | 77 73 20 70 72 6f 67 72 |o Xwindo|ws progr|
|000043a0| 61 6d 20 20 20 20 20 20 | 20 2a 0a 58 20 2a 20 20 |am | *.X * |
|000043b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000043c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000043d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000043e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2a 0a | | *.|
|000043f0| 58 20 2a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X * | |
|00004400| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004410| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004420| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004430| 20 20 20 2a 0a 58 20 2a | 20 20 41 75 74 68 6f 72 | *.X *| Author|
|00004440| 3a 20 20 52 61 6e 64 79 | 20 4c 2e 20 59 61 63 68 |: Randy| L. Yach|
|00004450| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004460| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004470| 20 20 20 20 20 20 20 20 | 2a 0a 58 20 2a 20 20 20 | |*.X * |
|00004480| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004490| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000044a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000044b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2a 0a 58 | | *.X|
|000044c0| 20 2a 20 20 46 75 6e 63 | 74 69 6f 6e 61 6c 20 64 | * Func|tional d|
|000044d0| 65 73 63 72 69 70 74 69 | 6f 6e 3a 20 20 20 20 20 |escripti|on: |
|000044e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000044f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004500| 20 20 2a 0a 58 20 2a 20 | 20 20 20 20 20 20 20 20 | *.X * | |
|00004510| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004520| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004530| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004540| 20 20 20 20 20 20 20 2a | 0a 58 20 2a 20 20 20 20 | *|.X * |
|00004550| 20 54 68 69 73 20 70 72 | 6f 67 72 61 6d 20 77 69 | This pr|ogram wi|
|00004560| 6c 6c 20 72 65 61 64 20 | 61 20 37 34 37 30 61 20 |ll read |a 7470a |
|00004570| 73 79 6e 74 61 78 20 48 | 50 47 4c 20 66 69 6c 65 |syntax H|PGL file|
|00004580| 20 61 6e 64 20 20 20 20 | 20 20 20 20 2a 0a 58 20 | and | *.X |
|00004590| 2a 20 20 20 20 20 64 69 | 73 70 6c 61 79 20 69 74 |* di|splay it|
|000045a0| 20 6f 6e 20 61 6e 20 58 | 77 69 6e 64 6f 77 20 64 | on an X|window d|
|000045b0| 69 73 70 6c 61 79 2e 20 | 20 20 20 20 20 20 20 20 |isplay. | |
|000045c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000045d0| 20 2a 0a 58 20 2a 20 20 | 20 20 20 20 20 20 20 20 | *.X * | |
|000045e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000045f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004600| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004610| 20 20 20 20 20 20 2a 0a | 58 5c 2a 2a 2a 2a 2a 2a | *.|X\******|
|00004620| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004630| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004640| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004650| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2f 0a 58 0a |********|****/.X.|
|00004660| 58 0a 58 23 69 6e 63 6c | 75 64 65 20 3c 58 2f 58 |X.X#incl|ude <X/X|
|00004670| 6c 69 62 2e 68 3e 0a 58 | 23 69 6e 63 6c 75 64 65 |lib.h>.X|#include|
|00004680| 20 3c 73 74 64 69 6f 2e | 68 3e 0a 58 23 69 6e 63 | <stdio.|h>.X#inc|
|00004690| 6c 75 64 65 20 22 62 6c | 61 63 6b 2e 62 69 74 6d |lude "bl|ack.bitm|
|000046a0| 61 70 22 0a 58 0a 58 23 | 64 65 66 69 6e 65 20 44 |ap".X.X#|define D|
|000046b0| 49 53 43 41 52 44 20 31 | 0a 58 23 64 65 66 69 6e |ISCARD 1|.X#defin|
|000046c0| 65 20 4d 41 58 58 20 31 | 30 30 30 0a 58 23 64 65 |e MAXX 1|000.X#de|
|000046d0| 66 69 6e 65 20 4d 41 58 | 59 20 37 37 33 0a 58 0a |fine MAX|Y 773.X.|
|000046e0| 58 64 6f 75 62 6c 65 20 | 78 4d 69 6e 2c 78 4d 61 |Xdouble |xMin,xMa|
|000046f0| 78 2c 79 4d 69 6e 2c 79 | 4d 61 78 3b 20 2f 2a 20 |x,yMin,y|Max; /* |
|00004700| 75 73 65 72 20 6d 69 6e | 2f 6d 61 78 20 63 6f 6f |user min|/max coo|
|00004710| 72 64 69 6e 61 74 65 20 | 62 6f 75 6e 64 61 72 69 |rdinate |boundari|
|00004720| 65 73 20 2a 2f 0a 58 69 | 6e 74 20 6c 61 73 74 5f |es */.Xi|nt last_|
|00004730| 78 2c 20 6c 61 73 74 5f | 79 3b 20 2f 2a 20 6c 61 |x, last_|y; /* la|
|00004740| 73 74 20 78 20 61 6e 64 | 20 79 20 63 6f 6f 72 64 |st x and| y coord|
|00004750| 69 6e 61 74 65 73 20 66 | 6f 72 20 6c 69 6e 65 20 |inates f|or line |
|00004760| 64 72 61 77 69 6e 67 20 | 2a 2f 0a 58 69 6e 74 20 |drawing |*/.Xint |
|00004770| 78 2c 79 3b 20 20 20 20 | 20 20 20 20 20 20 20 2f |x,y; | /|
|00004780| 2a 20 63 75 72 72 65 6e | 74 20 78 20 61 6e 64 20 |* curren|t x and |
|00004790| 79 20 63 6f 6f 72 64 69 | 6e 61 74 65 73 20 66 6f |y coordi|nates fo|
|000047a0| 72 20 6c 69 6e 65 20 64 | 72 61 77 69 6e 67 20 2a |r line d|rawing *|
|000047b0| 2f 0a 58 69 6e 74 20 63 | 75 72 5f 70 65 6e 2c 6e |/.Xint c|ur_pen,n|
|000047c0| 6f 5f 70 65 6e 2c 6c 69 | 6e 65 3b 20 2f 2a 20 63 |o_pen,li|ne; /* c|
|000047d0| 75 72 72 65 6e 74 20 70 | 65 6e 20 63 6f 6c 6f 72 |urrent p|en color|
|000047e0| 20 2a 2f 0a 58 69 6e 74 | 20 70 65 6e 5f 64 6f 77 | */.Xint| pen_dow|
|000047f0| 6e 3b 20 20 20 20 20 20 | 20 20 20 20 20 20 2f 2a |n; | /*|
|00004800| 20 70 65 6e 20 73 74 61 | 74 75 73 20 2a 2f 0a 58 | pen sta|tus */.X|
|00004810| 69 6e 74 20 61 62 73 6f | 6c 75 74 65 3b 20 20 20 |int abso|lute; |
|00004820| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 70 6c 6f 74 | | /* plot|
|00004830| 65 72 20 73 74 61 74 75 | 73 20 2a 2f 0a 58 46 6f |er statu|s */.XFo|
|00004840| 6e 74 20 74 65 78 74 5f | 66 6f 6e 74 3b 20 20 20 |nt text_|font; |
|00004850| 20 20 20 20 20 20 20 2f | 2a 20 4c 42 20 66 6f 6e | /|* LB fon|
|00004860| 74 20 73 65 6c 65 63 74 | 69 6f 6e 20 2a 2f 0a 58 |t select|ion */.X|
|00004870| 73 68 6f 72 74 20 66 6f | 6e 74 5f 6f 66 66 73 65 |short fo|nt_offse|
|00004880| 74 3b 20 20 20 20 20 20 | 20 2f 2a 20 64 69 73 74 |t; | /* dist|
|00004890| 61 6e 63 65 20 66 72 6f | 6d 20 6c 6f 77 65 72 20 |ance fro|m lower |
|000048a0| 6c 65 66 74 20 74 6f 20 | 75 70 70 65 72 20 6c 65 |left to |upper le|
|000048b0| 66 74 20 6f 66 20 66 6f | 6e 74 20 2a 2f 0a 58 57 |ft of fo|nt */.XW|
|000048c0| 69 6e 64 6f 77 20 6d 61 | 69 6e 5f 77 69 6e 64 6f |indow ma|in_windo|
|000048d0| 77 3b 20 20 20 20 20 20 | 2f 2a 20 6d 61 69 6e 20 |w; |/* main |
|000048e0| 77 69 6e 64 6f 77 20 66 | 6f 72 20 70 6c 6f 74 74 |window f|or plott|
|000048f0| 69 6e 67 20 2a 2f 0a 58 | 43 6f 6c 6f 72 20 70 65 |ing */.X|Color pe|
|00004900| 6e 5b 31 30 5d 3b 20 20 | 20 20 20 20 20 20 20 20 |n[10]; | |
|00004910| 20 20 2f 2a 20 61 6c 6c | 20 70 65 6e 20 63 6f 6c | /* all| pen col|
|00004920| 6f 72 73 20 66 6f 72 20 | 70 6c 6f 74 74 69 6e 67 |ors for |plotting|
|00004930| 20 2a 2f 0a 58 69 6e 74 | 20 6d 69 6e 57 69 64 74 | */.Xint| minWidt|
|00004940| 68 2c 6d 69 6e 48 65 69 | 67 68 74 3b 20 20 2f 2a |h,minHei|ght; /*|
|00004950| 20 73 69 7a 65 20 6f 66 | 20 58 20 77 69 6e 64 6f | size of| X windo|
|00004960| 77 20 66 6f 72 20 70 6c | 6f 74 74 69 6e 67 20 2a |w for pl|otting *|
|00004970| 2f 0a 58 50 61 74 74 65 | 72 6e 20 6c 69 6e 65 5f |/.XPatte|rn line_|
|00004980| 74 79 70 65 3b 20 20 20 | 20 20 20 20 2f 2a 20 6c |type; | /* l|
|00004990| 69 6e 65 20 64 61 73 68 | 20 70 61 74 74 65 72 6e |ine dash| pattern|
|000049a0| 20 2a 2f 0a 58 63 68 61 | 72 20 66 6f 6e 74 5f 6e | */.Xcha|r font_n|
|000049b0| 61 6d 65 5b 33 32 5d 3b | 20 2f 2a 20 66 6f 6e 74 |ame[32];| /* font|
|000049c0| 20 6e 61 6d 65 20 6f 66 | 20 75 73 65 72 20 73 75 | name of| user su|
|000049d0| 70 70 6c 69 65 64 20 66 | 6f 6e 74 20 2a 2f 0a 58 |pplied f|ont */.X|
|000049e0| 0a 58 2f 2a 0c 2a 2f 0a | 58 2f 2a 2a 2a 2a 2a 2a |.X/*.*/.|X/******|
|000049f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004a00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004a10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004a20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 5c 0a 58 20 |********|****\.X |
|00004a30| 2a 20 70 72 6f 64 65 64 | 75 72 65 20 73 65 6c 65 |* proded|ure sele|
|00004a40| 63 74 5f 66 6f 6e 74 28 | 78 2c 79 29 20 20 20 20 |ct_font(|x,y) |
|00004a50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004a60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004a70| 20 2a 0a 58 20 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | *.X ***|********|
|00004a80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004a90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004aa0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004ab0| 2a 2a 2a 2a 2a 2a 2a 0a | 58 20 2a 20 20 20 20 77 |*******.|X * w|
|00004ac0| 69 6c 6c 20 70 69 63 6b | 20 61 20 66 6f 6e 74 20 |ill pick| a font |
|00004ad0| 62 61 73 65 64 20 6f 6e | 20 74 68 65 20 77 69 6e |based on| the win|
|00004ae0| 64 6f 77 20 73 69 7a 65 | 20 20 20 20 20 20 20 20 |dow size| |
|00004af0| 20 20 20 20 20 20 20 20 | 20 20 20 2a 0a 58 5c 2a | | *.X\*|
|00004b00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004b10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004b20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004b30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004b40| 2a 2f 0a 58 0a 58 76 6f | 69 64 20 67 65 74 5f 74 |*/.X.Xvo|id get_t|
|00004b50| 65 78 74 5f 66 6f 6e 74 | 28 75 73 65 72 5f 66 6f |ext_font|(user_fo|
|00004b60| 6e 74 29 0a 58 69 6e 74 | 20 75 73 65 72 5f 66 6f |nt).Xint| user_fo|
|00004b70| 6e 74 3b 0a 58 7b 0a 58 | 20 20 20 20 20 69 66 20 |nt;.X{.X| if |
|00004b80| 28 21 75 73 65 72 5f 66 | 6f 6e 74 29 0a 58 09 20 |(!user_f|ont).X. |
|00004b90| 7b 0a 58 20 20 20 20 20 | 20 20 20 20 69 66 20 28 |{.X | if (|
|00004ba0| 28 6d 69 6e 57 69 64 74 | 68 20 3c 20 33 35 30 29 |(minWidt|h < 350)|
|00004bb0| 20 7c 7c 20 28 6d 69 6e | 48 65 69 67 68 74 20 3c | || (min|Height <|
|00004bc0| 20 33 35 30 29 29 20 0a | 58 09 20 20 20 20 20 73 | 350)) .|X. s|
|00004bd0| 74 72 63 70 79 28 66 6f | 6e 74 5f 6e 61 6d 65 2c |trcpy(fo|nt_name,|
|00004be0| 22 6e 69 6c 32 22 29 3b | 0a 58 20 20 20 20 20 20 |"nil2");|.X |
|00004bf0| 20 20 20 65 6c 73 65 20 | 69 66 20 28 28 6d 69 6e | else |if ((min|
|00004c00| 57 69 64 74 68 20 3c 20 | 37 30 30 29 20 7c 7c 20 |Width < |700) || |
|00004c10| 28 6d 69 6e 48 65 69 67 | 68 74 20 3c 20 37 30 30 |(minHeig|ht < 700|
|00004c20| 29 29 20 0a 58 09 20 20 | 20 20 20 73 74 72 63 70 |)) .X. | strcp|
|00004c30| 79 28 66 6f 6e 74 5f 6e | 61 6d 65 2c 22 36 78 31 |y(font_n|ame,"6x1|
|00004c40| 30 22 29 3b 0a 58 20 20 | 20 20 20 20 20 20 20 65 |0");.X | e|
|00004c50| 6c 73 65 20 69 66 20 28 | 28 6d 69 6e 57 69 64 74 |lse if (|(minWidt|
|00004c60| 68 20 3c 20 38 30 30 29 | 20 7c 7c 20 28 6d 69 6e |h < 800)| || (min|
|00004c70| 48 65 69 67 68 74 20 3c | 20 38 30 30 29 29 20 0a |Height <| 800)) .|
|00004c80| 58 09 20 20 20 20 20 73 | 74 72 63 70 79 28 66 6f |X. s|trcpy(fo|
|00004c90| 6e 74 5f 6e 61 6d 65 2c | 22 38 78 31 33 22 29 3b |nt_name,|"8x13");|
|00004ca0| 0a 58 20 20 20 20 20 20 | 20 20 20 65 6c 73 65 20 |.X | else |
|00004cb0| 0a 58 09 20 20 20 20 20 | 73 74 72 63 70 79 28 66 |.X. |strcpy(f|
|00004cc0| 6f 6e 74 5f 6e 61 6d 65 | 2c 22 39 78 31 35 22 29 |ont_name|,"9x15")|
|00004cd0| 3b 0a 58 09 20 7d 0a 58 | 0a 58 20 20 20 20 2f 2a |;.X. }.X|.X /*|
|00004ce0| 20 67 65 74 20 74 68 65 | 20 66 6f 6e 74 20 61 6e | get the| font an|
|00004cf0| 64 20 63 68 65 63 6b 20 | 69 66 20 69 74 20 69 73 |d check |if it is|
|00004d00| 20 76 61 6c 69 64 20 2a | 2f 0a 58 20 20 20 20 74 | valid *|/.X t|
|00004d10| 65 78 74 5f 66 6f 6e 74 | 20 3d 20 58 47 65 74 46 |ext_font| = XGetF|
|00004d20| 6f 6e 74 28 66 6f 6e 74 | 5f 6e 61 6d 65 29 3b 0a |ont(font|_name);.|
|00004d30| 58 0a 58 7d 0a 58 0a 58 | 2f 2a 0c 2a 2f 0a 58 2f |X.X}.X.X|/*.*/.X/|
|00004d40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004d50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004d60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004d70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004d80| 2a 2a 5c 0a 58 20 2a 20 | 70 72 6f 63 65 64 75 72 |**\.X * |procedur|
|00004d90| 65 20 72 65 76 65 72 73 | 65 20 20 20 20 20 20 20 |e revers|e |
|00004da0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004db0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004dc0| 20 20 20 20 20 20 20 2a | 0a 58 20 2a 2a 2a 2a 2a | *|.X *****|
|00004dd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004de0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004df0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004e00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 58 20 |********|*****.X |
|00004e10| 2a 20 20 20 20 75 73 65 | 64 20 74 6f 20 72 65 76 |* use|d to rev|
|00004e20| 65 72 73 20 61 20 73 74 | 72 69 6e 67 20 73 20 20 |ers a st|ring s |
|00004e30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004e40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004e50| 20 2a 0a 58 5c 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | *.X\***|********|
|00004e60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004e70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004e80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004e90| 2a 2a 2a 2a 2a 2a 2a 2f | 0a 58 76 6f 69 64 20 72 |*******/|.Xvoid r|
|00004ea0| 65 76 65 72 73 65 28 73 | 29 0a 58 2f 2a 20 72 65 |everse(s|).X/* re|
|00004eb0| 76 65 72 73 65 20 73 74 | 72 69 6e 67 20 73 20 69 |verse st|ring s i|
|00004ec0| 6e 20 70 6c 61 63 65 20 | 2a 2f 0a 58 63 68 61 72 |n place |*/.Xchar|
|00004ed0| 20 73 5b 5d 3b 0a 58 7b | 20 2f 2a 20 62 65 67 69 | s[];.X{| /* begi|
|00004ee0| 6e 20 72 65 76 65 72 73 | 65 20 2a 2f 0a 58 69 6e |n revers|e */.Xin|
|00004ef0| 74 20 63 2c 69 2c 6a 3b | 0a 58 0a 58 20 20 20 66 |t c,i,j;|.X.X f|
|00004f00| 6f 72 20 28 69 20 3d 20 | 30 2c 20 6a 20 3d 20 73 |or (i = |0, j = s|
|00004f10| 74 72 6c 65 6e 28 73 29 | 2d 31 3b 20 69 20 3c 20 |trlen(s)|-1; i < |
|00004f20| 6a 3b 20 69 2b 2b 2c 20 | 6a 2d 2d 29 20 0a 58 20 |j; i++, |j--) .X |
|00004f30| 20 20 20 20 20 20 7b 20 | 2f 2a 20 62 65 67 69 6e | { |/* begin|
|00004f40| 20 66 6f 72 20 73 74 72 | 69 6e 67 20 2a 2f 0a 58 | for str|ing */.X|
|00004f50| 20 20 20 20 20 20 20 63 | 20 3d 20 73 5b 69 5d 3b | c| = s[i];|
|00004f60| 0a 58 20 20 20 20 20 20 | 20 73 5b 69 5d 20 3d 20 |.X | s[i] = |
|00004f70| 73 5b 6a 5d 3b 0a 58 20 | 20 20 20 20 20 20 73 5b |s[j];.X | s[|
|00004f80| 6a 5d 20 3d 20 63 3b 0a | 58 20 20 20 20 20 20 20 |j] = c;.|X |
|00004f90| 7d 20 2f 2a 20 65 6e 64 | 20 66 6f 72 20 73 74 72 |} /* end| for str|
|00004fa0| 69 6e 67 20 2a 2f 0a 58 | 20 20 20 20 7d 20 2f 2a |ing */.X| } /*|
|00004fb0| 20 65 6e 64 20 72 65 76 | 65 72 73 65 20 2a 2f 0a | end rev|erse */.|
|00004fc0| 58 0a 58 2f 2a 0c 2a 2f | 0a 58 2f 2a 2a 2a 2a 2a |X.X/*.*/|.X/*****|
|00004fd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004fe0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004ff0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005000| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 5c 0a 58 |********|*****\.X|
|00005010| 20 2a 20 70 72 6f 63 65 | 64 75 72 65 20 69 74 6f | * proce|dure ito|
|00005020| 61 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |a | |
|00005030| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005040| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005050| 20 20 2a 0a 58 20 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | *.X **|********|
|00005060| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005070| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005080| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005090| 2a 2a 2a 2a 2a 2a 2a 2a | 0a 58 20 2a 20 20 20 20 |********|.X * |
|000050a0| 63 6f 6e 76 65 72 74 73 | 20 61 6e 20 69 6e 74 65 |converts| an inte|
|000050b0| 67 65 72 20 74 6f 20 61 | 20 73 74 72 69 6e 67 2e |ger to a| string.|
|000050c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000050d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2a 0a 58 5c | | *.X\|
|000050e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000050f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005100| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005110| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005120| 2a 2a 2f 0a 58 76 6f 69 | 64 20 69 74 6f 61 28 73 |**/.Xvoi|d itoa(s|
|00005130| 2c 6e 29 20 0a 58 2f 2a | 20 63 6f 6e 76 65 72 74 |,n) .X/*| convert|
|00005140| 20 6e 20 74 6f 20 63 68 | 61 72 61 63 74 65 72 73 | n to ch|aracters|
|00005150| 20 69 6e 20 73 20 2a 2f | 0a 58 69 6e 74 20 6e 3b | in s */|.Xint n;|
|00005160| 0a 58 63 68 61 72 20 73 | 5b 5d 3b 0a 58 7b 20 2f |.Xchar s|[];.X{ /|
|00005170| 2a 20 62 65 67 69 6e 20 | 69 74 6f 61 20 2a 2f 0a |* begin |itoa */.|
|00005180| 58 69 6e 74 20 69 2c 20 | 73 69 67 6e 3b 0a 58 0a |Xint i, |sign;.X.|
|00005190| 58 20 20 20 69 66 20 28 | 28 73 69 67 6e 20 3d 20 |X if (|(sign = |
|000051a0| 6e 29 20 3c 20 30 29 20 | 20 2f 2a 20 72 65 63 6f |n) < 0) | /* reco|
|000051b0| 72 64 20 73 69 67 6e 20 | 2a 2f 0a 58 20 20 20 20 |rd sign |*/.X |
|000051c0| 20 20 6e 20 3d 20 2d 6e | 3b 0a 58 20 20 20 69 20 | n = -n|;.X i |
|000051d0| 3d 20 30 3b 0a 58 20 20 | 20 64 6f 20 7b 20 20 2f |= 0;.X | do { /|
|000051e0| 2a 20 67 65 6e 65 72 61 | 74 65 20 64 69 67 69 74 |* genera|te digit|
|000051f0| 73 20 69 6e 20 72 65 76 | 65 72 73 65 20 6f 72 64 |s in rev|erse ord|
|00005200| 65 72 20 2a 2f 0a 58 20 | 20 20 20 20 20 73 5b 69 |er */.X | s[i|
|00005210| 2b 2b 5d 20 3d 20 6e 20 | 25 20 31 30 20 2b 20 27 |++] = n |% 10 + '|
|00005220| 30 27 3b 20 20 2f 2a 20 | 67 65 74 20 6e 65 78 74 |0'; /* |get next|
|00005230| 20 64 69 67 69 74 20 2a | 2f 0a 58 20 20 20 7d 20 | digit *|/.X } |
|00005240| 77 68 69 6c 65 20 28 28 | 6e 20 2f 3d 20 31 30 29 |while ((|n /= 10)|
|00005250| 20 3e 20 30 29 3b 20 20 | 2f 2a 20 64 65 6c 65 74 | > 0); |/* delet|
|00005260| 65 20 69 74 20 2a 2f 0a | 58 20 20 20 69 66 20 28 |e it */.|X if (|
|00005270| 73 69 67 6e 20 3c 20 30 | 29 0a 58 20 20 20 20 20 |sign < 0|).X |
|00005280| 20 73 5b 69 2b 2b 5d 20 | 3d 20 27 2d 27 3b 0a 58 | s[i++] |= '-';.X|
|00005290| 20 20 20 73 5b 69 5d 20 | 3d 20 27 5c 30 27 3b 0a | s[i] |= '\0';.|
|000052a0| 58 20 20 20 72 65 76 65 | 72 73 65 28 73 29 3b 0a |X reve|rse(s);.|
|000052b0| 58 7d 20 2f 2a 20 65 6e | 64 20 69 74 6f 61 20 2a |X} /* en|d itoa *|
|000052c0| 2f 0a 58 0a 58 2f 2a 0c | 2a 2f 0a 58 2f 2a 2a 2a |/.X.X/*.|*/.X/***|
|000052d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000052e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000052f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 5c |********|*******\|
|00005310| 0a 58 20 2a 20 70 72 6f | 63 65 64 75 72 65 20 69 |.X * pro|cedure i|
|00005320| 6e 69 74 69 61 6c 69 7a | 65 5f 70 6c 6f 74 74 65 |nitializ|e_plotte|
|00005330| 72 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r | |
|00005340| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005350| 20 20 20 20 2a 0a 58 20 | 2a 2a 2a 2a 2a 2a 2a 2a | *.X |********|
|00005360| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005370| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005380| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005390| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0a 58 20 2a 20 20 |********|**.X * |
|000053a0| 20 20 75 73 65 64 20 74 | 6f 20 73 65 74 20 75 70 | used t|o set up|
|000053b0| 20 74 68 65 20 64 65 66 | 61 75 6c 74 20 70 6c 6f | the def|ault plo|
|000053c0| 74 74 65 72 20 63 6f 6e | 64 69 74 69 6f 6e 73 2e |tter con|ditions.|
|000053d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2a 0a | | *.|
|000053e0| 58 5c 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |X\******|********|
|000053f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005400| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005410| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005420| 2a 2a 2a 2a 2f 0a 58 76 | 6f 69 64 20 69 6e 69 74 |****/.Xv|oid init|
|00005430| 69 61 6c 69 7a 65 5f 70 | 6c 6f 74 74 65 72 28 29 |ialize_p|lotter()|
|00005440| 0a 58 7b 20 2f 2a 20 62 | 65 67 69 6e 20 69 6e 69 |.X{ /* b|egin ini|
|00005450| 74 69 61 6c 69 7a 65 5f | 70 6c 6f 74 74 65 72 20 |tialize_|plotter |
|00005460| 2a 2f 0a 58 20 20 20 20 | 78 3d 30 3b 20 20 20 20 |*/.X |x=0; |
|00005470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2f 2a | | /*|
|00005480| 20 73 65 74 20 63 75 72 | 72 65 6e 74 20 78 20 70 | set cur|rent x p|
|00005490| 6c 6f 74 74 65 72 20 63 | 6f 6f 72 64 69 6e 61 74 |lotter c|oordinat|
|000054a0| 65 20 2a 2f 0a 58 20 20 | 20 20 79 3d 30 3b 20 20 |e */.X | y=0; |
|000054b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000054c0| 2f 2a 20 73 65 74 20 63 | 75 72 72 65 6e 74 20 79 |/* set c|urrent y|
|000054d0| 20 70 6c 6f 74 74 65 72 | 20 63 6f 6f 72 64 69 6e | plotter| coordin|
|000054e0| 61 74 65 20 2a 2f 0a 58 | 20 20 20 20 6c 61 73 74 |ate */.X| last|
|000054f0| 5f 78 3d 30 3b 20 20 20 | 20 20 20 20 20 20 20 20 |_x=0; | |
|00005500| 20 20 2f 2a 20 73 65 74 | 20 6c 61 73 74 20 78 20 | /* set| last x |
|00005510| 70 6c 6f 74 74 65 72 20 | 63 6f 6f 72 64 69 6e 61 |plotter |coordina|
|00005520| 74 65 20 2a 2f 0a 58 20 | 20 20 20 6c 61 73 74 5f |te */.X | last_|
|00005530| 79 3d 30 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |y=0; | |
|00005540| 20 2f 2a 20 73 65 74 20 | 6c 61 73 74 20 79 20 70 | /* set |last y p|
|00005550| 6c 6f 74 74 65 72 20 63 | 6f 6f 72 64 69 6e 61 74 |lotter c|oordinat|
|00005560| 65 20 2a 2f 0a 58 20 20 | 20 20 0a 58 20 20 20 20 |e */.X | .X |
|00005570| 78 4d 69 6e 20 3d 20 30 | 3b 20 20 20 20 20 20 20 |xMin = 0|; |
|00005580| 20 20 20 20 20 20 2f 2a | 20 73 65 74 20 64 65 66 | /*| set def|
|00005590| 61 75 6c 74 20 78 20 61 | 6e 64 20 79 20 70 6c 6f |ault x a|nd y plo|
|000055a0| 74 74 65 72 20 73 63 61 | 6c 65 20 2a 2f 0a 58 20 |tter sca|le */.X |
|000055b0| 20 20 20 79 4d 69 6e 20 | 3d 20 30 3b 20 20 20 20 | yMin |= 0; |
|000055c0| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 75 73 65 72 | | /* user|
|000055d0| 20 63 6f 6f 72 64 69 6e | 61 74 65 73 2e 20 20 54 | coordin|ates. T|
|000055e0| 68 69 73 20 61 73 73 75 | 6d 65 73 20 2a 2f 0a 58 |his assu|mes */.X|
|000055f0| 20 20 20 20 78 4d 61 78 | 20 3d 20 31 30 33 30 30 | xMax| = 10300|
|00005600| 3b 20 20 20 20 20 20 20 | 20 20 2f 2a 20 74 68 61 |; | /* tha|
|00005610| 74 20 74 68 65 20 37 34 | 37 30 61 20 69 73 20 69 |t the 74|70a is i|
|00005620| 6e 20 55 53 20 6d 6f 64 | 65 20 2a 2f 0a 58 20 20 |n US mod|e */.X |
|00005630| 20 20 79 4d 61 78 20 3d | 20 37 36 35 30 3b 0a 58 | yMax =| 7650;.X|
|00005640| 20 20 20 20 0a 58 20 20 | 20 20 70 65 6e 5f 64 6f | .X | pen_do|
|00005650| 77 6e 3d 30 3b 20 20 20 | 20 20 20 20 20 20 20 20 |wn=0; | |
|00005660| 2f 2a 20 70 6f 74 20 74 | 68 65 20 70 65 6e 20 69 |/* pot t|he pen i|
|00005670| 6e 20 75 70 20 70 6f 73 | 69 74 69 6f 6e 20 2a 2f |n up pos|ition */|
|00005680| 0a 58 20 20 20 20 0a 58 | 20 20 20 20 63 75 72 5f |.X .X| cur_|
|00005690| 70 65 6e 3d 70 65 6e 5b | 30 5d 2e 70 69 78 65 6c |pen=pen[|0].pixel|
|000056a0| 3b 20 2f 2a 20 73 65 6c | 65 63 74 20 6e 6f 20 70 |; /* sel|ect no p|
|000056b0| 65 6e 20 6f 72 20 6e 6f | 20 63 6f 6c 6f 72 20 2a |en or no| color *|
|000056c0| 2f 0a 58 20 20 20 20 6e | 6f 5f 70 65 6e 3d 70 65 |/.X n|o_pen=pe|
|000056d0| 6e 5b 30 5d 2e 70 69 78 | 65 6c 3b 20 20 2f 2a 20 |n[0].pix|el; /* |
|000056e0| 6e 65 65 64 20 61 20 72 | 65 66 65 72 65 6e 63 65 |need a r|eference|
|000056f0| 20 62 61 63 6b 67 72 6f | 75 6e 64 20 63 6f 6c 6f | backgro|und colo|
|00005700| 72 20 66 6f 72 20 74 65 | 78 74 20 2a 2f 0a 58 20 |r for te|xt */.X |
|00005710| 20 20 20 0a 58 20 20 20 | 20 6c 69 6e 65 5f 74 79 | .X | line_ty|
|00005720| 70 65 20 3d 20 58 4d 61 | 6b 65 50 61 74 74 65 72 |pe = XMa|kePatter|
|00005730| 6e 28 30 78 66 66 2c 38 | 2c 31 29 3b 20 2f 2a 20 |n(0xff,8|,1); /* |
|00005740| 73 65 74 20 75 70 20 73 | 6f 6c 69 64 20 6c 69 6e |set up s|olid lin|
|00005750| 65 20 70 61 74 74 65 72 | 6e 20 2a 2f 0a 58 20 20 |e patter|n */.X |
|00005760| 20 20 7d 20 2f 2a 20 65 | 6e 64 20 69 6e 69 74 69 | } /* e|nd initi|
|00005770| 61 6c 69 7a 65 5f 70 6c | 6f 74 74 65 72 20 2a 2f |alize_pl|otter */|
|00005780| 0a 58 2f 2a 0c 2a 2f 0a | 58 2f 2a 2a 2a 2a 2a 2a |.X/*.*/.|X/******|
|00005790| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000057a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000057b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000057c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 5c 0a 58 20 |********|****\.X |
|000057d0| 2a 20 70 72 6f 63 65 64 | 75 72 65 20 61 73 73 69 |* proced|ure assi|
|000057e0| 67 6e 5f 63 6f 6c 6f 72 | 20 20 20 20 20 20 20 20 |gn_color| |
|000057f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005800| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005810| 20 2a 0a 58 20 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | *.X ***|********|
|00005820| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005830| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005840| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005850| 2a 2a 2a 2a 2a 2a 2a 0a | 58 20 2a 20 20 20 20 75 |*******.|X * u|
|00005860| 73 65 64 20 74 6f 20 61 | 73 73 69 67 6e 20 61 20 |sed to a|ssign a |
|00005870| 63 6f 6c 6f 72 20 74 6f | 20 65 61 63 68 20 70 6c |color to| each pl|
|00005880| 6f 74 74 65 72 20 70 65 | 6e 2e 20 20 20 20 20 20 |otter pe|n. |
|00005890| 20 20 20 20 20 20 20 20 | 20 20 20 2a 0a 58 5c 2a | | *.X\*|
|000058a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000058b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000058c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000058d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000058e0| 2a 2f 0a 58 76 6f 69 64 | 20 61 73 73 69 67 6e 5f |*/.Xvoid| assign_|
|000058f0| 63 6f 6c 6f 72 28 70 65 | 6e 5f 6e 75 6d 2c 63 6f |color(pe|n_num,co|
|00005900| 6c 6f 72 29 0a 58 69 6e | 74 20 70 65 6e 5f 6e 75 |lor).Xin|t pen_nu|
|00005910| 6d 3b 0a 58 63 68 61 72 | 20 63 6f 6c 6f 72 5b 5d |m;.Xchar| color[]|
|00005920| 3b 0a 58 7b 20 2f 2a 20 | 62 65 67 69 6e 20 61 73 |;.X{ /* |begin as|
|00005930| 73 69 67 6e 5f 63 6f 6c | 6f 72 20 2a 2f 0a 58 20 |sign_col|or */.X |
|00005940| 20 20 20 69 66 20 28 28 | 70 65 6e 5f 6e 75 6d 20 | if ((|pen_num |
|00005950| 3c 3d 30 29 20 7c 7c 20 | 28 70 65 6e 5f 6e 75 6d |<=0) || |(pen_num|
|00005960| 20 3e 3d 20 39 29 29 0a | 58 20 20 20 20 20 20 20 | >= 9)).|X |
|00005970| 20 7b 20 2f 2a 20 62 65 | 67 69 6e 20 69 6e 76 61 | { /* be|gin inva|
|00005980| 6c 69 64 20 70 65 6e 20 | 2a 2f 0a 58 20 20 20 20 |lid pen |*/.X |
|00005990| 20 20 20 20 66 70 72 69 | 6e 74 66 28 73 74 64 65 | fpri|ntf(stde|
|000059a0| 72 72 2c 22 70 65 6e 20 | 6e 75 6d 62 65 72 73 20 |rr,"pen |numbers |
|000059b0| 6d 75 73 74 20 62 65 20 | 31 20 74 6f 20 38 2e 5c |must be |1 to 8.\|
|000059c0| 6e 22 29 3b 0a 58 09 65 | 78 69 74 28 2d 31 29 3b |n");.X.e|xit(-1);|
|000059d0| 0a 58 09 7d 20 2f 2a 20 | 65 6e 64 20 69 6e 76 61 |.X.} /* |end inva|
|000059e0| 6c 69 64 20 70 65 6e 20 | 2a 2f 0a 58 20 20 20 20 |lid pen |*/.X |
|000059f0| 65 6c 73 65 0a 58 09 7b | 20 2f 2a 20 62 65 67 69 |else.X.{| /* begi|
|00005a00| 6e 20 76 61 6c 69 64 20 | 70 65 6e 20 2a 2f 0a 58 |n valid |pen */.X|
|00005a10| 20 20 20 20 20 20 20 20 | 69 66 20 28 73 74 72 63 | |if (strc|
|00005a20| 6d 70 28 63 6f 6c 6f 72 | 2c 22 62 6c 61 63 6b 22 |mp(color|,"black"|
|00005a30| 29 3d 3d 30 29 20 0a 58 | 20 20 20 20 20 20 20 20 |)==0) .X| |
|00005a40| 20 20 20 20 7b 20 2f 2a | 20 62 65 67 69 6e 20 62 | { /*| begin b|
|00005a50| 6c 61 63 6b 20 2a 2f 0a | 58 20 20 20 20 20 20 20 |lack */.|X |
|00005a60| 20 20 20 20 20 70 65 6e | 5b 70 65 6e 5f 6e 75 6d | pen|[pen_num|
|00005a70| 5d 2e 72 65 64 3d 30 3b | 20 0a 58 09 20 20 20 20 |].red=0;| .X. |
|00005a80| 70 65 6e 5b 70 65 6e 5f | 6e 75 6d 5d 2e 67 72 65 |pen[pen_|num].gre|
|00005a90| 65 6e 3d 30 3b 20 70 65 | 6e 5b 70 65 6e 5f 6e 75 |en=0; pe|n[pen_nu|
|00005aa0| 6d 5d 2e 62 6c 75 65 3d | 30 3b 0a 58 20 20 20 20 |m].blue=|0;.X |
|00005ab0| 20 20 20 20 20 20 20 20 | 7d 20 2f 2a 20 65 6e 64 | |} /* end|
|00005ac0| 20 62 6c 61 63 6b 20 2a | 2f 0a 58 20 20 20 20 20 | black *|/.X |
|00005ad0| 20 20 20 65 6c 73 65 20 | 69 66 20 28 73 74 72 63 | else |if (strc|
|00005ae0| 6d 70 28 63 6f 6c 6f 72 | 2c 22 72 65 64 22 29 3d |mp(color|,"red")=|
|00005af0| 3d 30 29 20 0a 58 20 20 | 20 20 20 20 20 20 20 20 |=0) .X | |
|00005b00| 20 20 7b 20 2f 2a 20 62 | 65 67 69 6e 20 72 65 64 | { /* b|egin red|
|00005b10| 20 2a 2f 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 | */.X | |
|00005b20| 20 70 65 6e 5b 70 65 6e | 5f 6e 75 6d 5d 2e 72 65 | pen[pen|_num].re|
|00005b30| 64 3d 36 35 35 33 35 3b | 20 0a 58 09 20 20 20 20 |d=65535;| .X. |
|00005b40| 70 65 6e 5b 70 65 6e 5f | 6e 75 6d 5d 2e 67 72 65 |pen[pen_|num].gre|
|00005b50| 65 6e 3d 30 3b 20 70 65 | 6e 5b 70 65 6e 5f 6e 75 |en=0; pe|n[pen_nu|
|00005b60| 6d 5d 2e 62 6c 75 65 3d | 30 3b 0a 58 20 20 20 20 |m].blue=|0;.X |
|00005b70| 20 20 20 20 20 20 20 20 | 7d 20 2f 2a 20 65 6e 64 | |} /* end|
|00005b80| 20 72 65 64 20 2a 2f 0a | 58 20 20 20 20 20 20 20 | red */.|X |
|00005b90| 20 65 6c 73 65 20 69 66 | 20 28 73 74 72 63 6d 70 | else if| (strcmp|
|00005ba0| 28 63 6f 6c 6f 72 2c 22 | 67 6f 6c 64 22 29 3d 3d |(color,"|gold")==|
|00005bb0| 30 29 20 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |0) .X | |
|00005bc0| 20 7b 20 2f 2a 20 62 65 | 67 69 6e 20 67 6f 6c 64 | { /* be|gin gold|
|00005bd0| 20 2a 2f 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 | */.X | |
|00005be0| 20 70 65 6e 5b 70 65 6e | 5f 6e 75 6d 5d 2e 72 65 | pen[pen|_num].re|
|00005bf0| 64 3d 36 31 35 30 30 3b | 70 65 6e 5b 70 65 6e 5f |d=61500;|pen[pen_|
|00005c00| 6e 75 6d 5d 2e 67 72 65 | 65 6e 3d 33 36 37 35 30 |num].gre|en=36750|
|00005c10| 3b 20 0a 58 09 20 20 20 | 20 70 65 6e 5b 70 65 6e |; .X. | pen[pen|
|00005c20| 5f 6e 75 6d 5d 2e 62 6c | 75 65 3d 32 35 30 30 30 |_num].bl|ue=25000|
|00005c30| 3b 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 7d |;.X | }|
|00005c40| 20 2f 2a 20 65 6e 64 20 | 67 6f 6c 64 20 2a 2f 0a | /* end |gold */.|
|00005c50| 58 20 20 20 20 20 20 20 | 20 65 6c 73 65 20 69 66 |X | else if|
|00005c60| 20 28 73 74 72 63 6d 70 | 28 63 6f 6c 6f 72 2c 22 | (strcmp|(color,"|
|00005c70| 66 69 72 65 62 72 69 63 | 6b 22 29 3d 3d 30 29 20 |firebric|k")==0) |
|00005c80| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 7b 20 |.X | { |
|00005c90| 2f 2a 20 62 65 67 69 6e | 20 66 69 72 65 62 72 69 |/* begin| firebri|
|00005ca0| 63 6b 20 2a 2f 0a 58 20 | 20 20 20 20 20 20 20 20 |ck */.X | |
|00005cb0| 20 20 20 70 65 6e 5b 70 | 65 6e 5f 6e 75 6d 5d 2e | pen[p|en_num].|
|00005cc0| 72 65 64 3d 34 32 36 30 | 30 3b 70 65 6e 5b 70 65 |red=4260|0;pen[pe|
|00005cd0| 6e 5f 6e 75 6d 5d 2e 67 | 72 65 65 6e 3d 31 30 35 |n_num].g|reen=105|
|00005ce0| 30 30 3b 20 0a 58 09 20 | 20 20 20 70 65 6e 5b 70 |00; .X. | pen[p|
|00005cf0| 65 6e 5f 6e 75 6d 5d 2e | 62 6c 75 65 3d 31 30 35 |en_num].|blue=105|
|00005d00| 30 30 3b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |00;.X | |
|00005d10| 20 7d 20 2f 2a 20 65 6e | 64 20 66 69 72 65 62 72 | } /* en|d firebr|
|00005d20| 69 63 6b 20 2a 2f 0a 58 | 20 20 20 20 20 20 20 20 |ick */.X| |
|00005d30| 65 6c 73 65 20 69 66 20 | 28 73 74 72 63 6d 70 28 |else if |(strcmp(|
|00005d40| 63 6f 6c 6f 72 2c 22 6d | 61 72 6f 6f 6e 22 29 3d |color,"m|aroon")=|
|00005d50| 3d 30 29 20 0a 58 20 20 | 20 20 20 20 20 20 20 20 |=0) .X | |
|00005d60| 20 20 7b 20 2f 2a 20 62 | 65 67 69 6e 20 6d 61 72 | { /* b|egin mar|
|00005d70| 6f 6f 6e 20 2a 2f 0a 58 | 20 20 20 20 20 20 20 20 |oon */.X| |
|00005d80| 20 20 20 20 70 65 6e 5b | 70 65 6e 5f 6e 75 6d 5d | pen[|pen_num]|
|00005d90| 2e 72 65 64 3d 34 32 36 | 30 30 3b 20 70 65 6e 5b |.red=426|00; pen[|
|00005da0| 70 65 6e 5f 6e 75 6d 5d | 2e 67 72 65 65 6e 3d 31 |pen_num]|.green=1|
|00005db0| 30 35 30 30 3b 20 0a 58 | 09 20 20 20 20 70 65 6e |0500; .X|. pen|
|00005dc0| 5b 70 65 6e 5f 6e 75 6d | 5d 2e 62 6c 75 65 3d 33 |[pen_num|].blue=3|
|00005dd0| 32 31 30 30 3b 0a 58 20 | 20 20 20 20 20 20 20 20 |2100;.X | |
|00005de0| 20 20 20 7d 20 2f 2a 20 | 65 6e 64 20 6d 61 72 6f | } /* |end maro|
|00005df0| 6f 6e 20 2a 2f 0a 58 20 | 20 20 20 20 20 20 20 65 |on */.X | e|
|00005e00| 6c 73 65 20 69 66 20 28 | 73 74 72 63 6d 70 28 63 |lse if (|strcmp(c|
|00005e10| 6f 6c 6f 72 2c 22 6f 72 | 61 6e 67 65 22 29 3d 3d |olor,"or|ange")==|
|00005e20| 30 29 20 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |0) .X | |
|00005e30| 20 7b 20 2f 2a 20 62 65 | 67 69 6e 20 6f 72 61 6e | { /* be|gin oran|
|00005e40| 67 65 20 2a 2f 0a 58 20 | 20 20 20 20 20 20 20 20 |ge */.X | |
|00005e50| 20 20 20 70 65 6e 5b 70 | 65 6e 5f 6e 75 6d 5d 2e | pen[p|en_num].|
|00005e60| 72 65 64 3d 36 31 32 30 | 30 3b 20 70 65 6e 5b 70 |red=6120|0; pen[p|
|00005e70| 65 6e 5f 6e 75 6d 5d 2e | 67 72 65 65 6e 3d 31 35 |en_num].|green=15|
|00005e80| 30 30 30 3b 20 0a 58 09 | 20 20 20 20 70 65 6e 5b |000; .X.| pen[|
|00005e90| 70 65 6e 5f 6e 75 6d 5d | 2e 62 6c 75 65 3d 31 35 |pen_num]|.blue=15|
|00005ea0| 30 30 30 3b 0a 58 20 20 | 20 20 20 20 20 20 20 20 |000;.X | |
|00005eb0| 20 20 7d 20 2f 2a 20 65 | 6e 64 20 6f 72 61 6e 67 | } /* e|nd orang|
|00005ec0| 65 20 2a 2f 0a 58 20 20 | 20 20 20 20 20 20 65 6c |e */.X | el|
|00005ed0| 73 65 20 69 66 20 28 73 | 74 72 63 6d 70 28 63 6f |se if (s|trcmp(co|
|00005ee0| 6c 6f 72 2c 22 70 69 6e | 6b 22 29 3d 3d 30 29 20 |lor,"pin|k")==0) |
|00005ef0| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 7b 20 |.X | { |
|00005f00| 2f 2a 20 62 65 67 69 6e | 20 70 69 6e 6b 20 2a 2f |/* begin| pink */|
|00005f10| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 70 65 |.X | pe|
|00005f20| 6e 5b 70 65 6e 5f 6e 75 | 6d 5d 2e 72 65 64 3d 35 |n[pen_nu|m].red=5|
|00005f30| 36 34 30 30 3b 20 70 65 | 6e 5b 70 65 6e 5f 6e 75 |6400; pe|n[pen_nu|
|00005f40| 6d 5d 2e 67 72 65 65 6e | 3d 34 32 39 30 30 3b 20 |m].green|=42900; |
|00005f50| 0a 58 09 20 20 20 20 70 | 65 6e 5b 70 65 6e 5f 6e |.X. p|en[pen_n|
|00005f60| 75 6d 5d 2e 62 6c 75 65 | 3d 34 32 39 30 30 3b 0a |um].blue|=42900;.|
|00005f70| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 7d 20 2f |X | } /|
|00005f80| 2a 20 65 6e 64 20 70 69 | 6e 6b 20 2a 2f 0a 58 20 |* end pi|nk */.X |
|00005f90| 20 20 20 20 20 20 20 65 | 6c 73 65 20 69 66 20 28 | e|lse if (|
|00005fa0| 73 74 72 63 6d 70 28 63 | 6f 6c 6f 72 2c 22 74 75 |strcmp(c|olor,"tu|
|00005fb0| 72 71 75 6f 69 73 65 22 | 29 3d 3d 30 29 20 0a 58 |rquoise"|)==0) .X|
|00005fc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 7b 20 2f 2a | | { /*|
|00005fd0| 20 62 65 67 69 6e 20 74 | 75 72 71 75 6f 69 73 65 | begin t|urquoise|
|00005fe0| 20 2a 2f 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 | */.X | |
|00005ff0| 20 70 65 6e 5b 70 65 6e | 5f 6e 75 6d 5d 2e 72 65 | pen[pen|_num].re|
|00006000| 64 3d 35 31 39 30 30 3b | 20 70 65 6e 5b 70 65 6e |d=51900;| pen[pen|
|00006010| 5f 6e 75 6d 5d 2e 67 72 | 65 65 6e 3d 36 35 35 33 |_num].gr|een=6553|
|00006020| 35 3b 20 0a 58 09 20 20 | 20 20 70 65 6e 5b 70 65 |5; .X. | pen[pe|
|00006030| 6e 5f 6e 75 6d 5d 2e 62 | 6c 75 65 3d 36 35 35 33 |n_num].b|lue=6553|
|00006040| 35 3b 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |5;.X | |
|00006050| 7d 20 2f 2a 20 65 6e 64 | 20 74 75 72 71 75 6f 69 |} /* end| turquoi|
|00006060| 73 65 20 2a 2f 0a 58 20 | 20 20 20 20 20 20 20 65 |se */.X | e|
|00006070| 6c 73 65 20 69 66 20 28 | 73 74 72 63 6d 70 28 63 |lse if (|strcmp(c|
|00006080| 6f 6c 6f 72 2c 22 76 69 | 6f 6c 65 74 22 29 3d 3d |olor,"vi|olet")==|
|00006090| 30 29 20 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |0) .X | |
|000060a0| 20 7b 20 2f 2a 20 62 65 | 67 69 6e 20 76 69 6f 6c | { /* be|gin viol|
|000060b0| 65 74 20 2a 2f 0a 58 20 | 20 20 20 20 20 20 20 20 |et */.X | |
|000060c0| 20 20 20 70 65 6e 5b 70 | 65 6e 5f 6e 75 6d 5d 2e | pen[p|en_num].|
|000060d0| 72 65 64 3d 32 33 37 30 | 30 3b 20 70 65 6e 5b 70 |red=2370|0; pen[p|
|000060e0| 65 6e 5f 6e 75 6d 5d 2e | 67 72 65 65 6e 3d 31 34 |en_num].|green=14|
|000060f0| 31 30 30 3b 20 0a 58 09 | 20 20 20 20 70 65 6e 5b |100; .X.| pen[|
|00006100| 70 65 6e 5f 6e 75 6d 5d | 2e 62 6c 75 65 3d 32 33 |pen_num]|.blue=23|
|00006110| 37 30 30 3b 0a 58 20 20 | 20 20 20 20 20 20 20 20 |700;.X | |
|00006120| 20 20 7d 20 2f 2a 20 65 | 6e 64 20 76 69 6f 6c 65 | } /* e|nd viole|
|00006130| 74 20 2a 2f 0a 58 20 20 | 20 20 20 20 20 20 65 6c |t */.X | el|
|00006140| 73 65 20 69 66 20 28 73 | 74 72 63 6d 70 28 63 6f |se if (s|trcmp(co|
|00006150| 6c 6f 72 2c 22 67 72 65 | 65 6e 22 29 3d 3d 30 29 |lor,"gre|en")==0)|
|00006160| 20 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 7b | .X | {|
|00006170| 20 2f 2a 20 62 65 67 69 | 6e 20 67 72 65 65 6e 20 | /* begi|n green |
|00006180| 2a 2f 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |*/.X | |
|00006190| 70 65 6e 5b 70 65 6e 5f | 6e 75 6d 5d 2e 72 65 64 |pen[pen_|num].red|
|000061a0| 3d 30 3b 20 0a 58 09 20 | 20 20 20 70 65 6e 5b 70 |=0; .X. | pen[p|
|000061b0| 65 6e 5f 6e 75 6d 5d 2e | 67 72 65 65 6e 3d 36 35 |en_num].|green=65|
|000061c0| 35 33 35 3b 20 70 65 6e | 5b 70 65 6e 5f 6e 75 6d |535; pen|[pen_num|
|000061d0| 5d 2e 62 6c 75 65 3d 30 | 3b 0a 58 20 20 20 20 20 |].blue=0|;.X |
|000061e0| 20 20 20 20 20 20 20 7d | 20 2f 2a 20 65 6e 64 20 | }| /* end |
|000061f0| 67 72 65 65 6e 20 2a 2f | 0a 58 20 20 20 20 20 20 |green */|.X |
|00006200| 20 20 65 6c 73 65 20 69 | 66 20 28 73 74 72 63 6d | else i|f (strcm|
|00006210| 70 28 63 6f 6c 6f 72 2c | 22 62 6c 75 65 22 29 3d |p(color,|"blue")=|
|00006220| 3d 30 29 20 0a 58 20 20 | 20 20 20 20 20 20 20 20 |=0) .X | |
|00006230| 20 20 7b 20 2f 2a 20 62 | 65 67 69 6e 20 62 6c 75 | { /* b|egin blu|
|00006240| 65 20 2a 2f 0a 58 20 20 | 20 20 20 20 20 20 20 20 |e */.X | |
|00006250| 20 20 70 65 6e 5b 70 65 | 6e 5f 6e 75 6d 5d 2e 72 | pen[pe|n_num].r|
|00006260| 65 64 3d 30 3b 20 0a 58 | 09 20 20 20 20 70 65 6e |ed=0; .X|. pen|
|00006270| 5b 70 65 6e 5f 6e 75 6d | 5d 2e 67 72 65 65 6e 3d |[pen_num|].green=|
|00006280| 30 3b 20 70 65 6e 5b 70 | 65 6e 5f 6e 75 6d 5d 2e |0; pen[p|en_num].|
|00006290| 62 6c 75 65 3d 36 35 35 | 33 35 3b 0a 58 20 20 20 |blue=655|35;.X |
|000062a0| 20 20 20 20 20 20 20 20 | 20 7d 20 2f 2a 20 65 6e | | } /* en|
|000062b0| 64 20 62 6c 75 65 20 2a | 2f 0a 58 20 20 20 20 20 |d blue *|/.X |
|000062c0| 20 20 20 65 6c 73 65 20 | 69 66 20 28 73 74 72 63 | else |if (strc|
|000062d0| 6d 70 28 63 6f 6c 6f 72 | 2c 22 79 65 6c 6c 6f 77 |mp(color|,"yellow|
|000062e0| 22 29 3d 3d 30 29 20 0a | 58 20 20 20 20 20 20 20 |")==0) .|X |
|000062f0| 20 20 20 20 20 7b 20 2f | 2a 20 62 65 67 69 6e 20 | { /|* begin |
|00006300| 79 65 6c 6c 6f 77 20 2a | 2f 0a 58 20 20 20 20 20 |yellow *|/.X |
|00006310| 20 20 20 20 20 20 20 70 | 65 6e 5b 70 65 6e 5f 6e | p|en[pen_n|
|00006320| 75 6d 5d 2e 72 65 64 3d | 36 35 35 33 35 3b 20 0a |um].red=|65535; .|
|00006330| 58 09 20 20 20 20 70 65 | 6e 5b 70 65 6e 5f 6e 75 |X. pe|n[pen_nu|
|00006340| 6d 5d 2e 67 72 65 65 6e | 3d 36 35 35 33 35 3b 20 |m].green|=65535; |
|00006350| 70 65 6e 5b 70 65 6e 5f | 6e 75 6d 5d 2e 62 6c 75 |pen[pen_|num].blu|
|00006360| 65 3d 30 3b 0a 58 20 20 | 20 20 20 20 20 20 20 20 |e=0;.X | |
|00006370| 20 20 7d 20 2f 2a 20 65 | 6e 64 20 79 65 6c 6c 6f | } /* e|nd yello|
|00006380| 77 20 2a 2f 0a 58 20 20 | 20 20 20 20 20 20 65 6c |w */.X | el|
|00006390| 73 65 20 69 66 20 28 73 | 74 72 63 6d 70 28 63 6f |se if (s|trcmp(co|
|000063a0| 6c 6f 72 2c 22 63 79 61 | 6e 22 29 3d 3d 30 29 20 |lor,"cya|n")==0) |
|000063b0| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 7b 20 |.X | { |
|000063c0| 2f 2a 20 62 65 67 69 6e | 20 63 79 61 6e 20 2a 2f |/* begin| cyan */|
|000063d0| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 70 65 |.X | pe|
|000063e0| 6e 5b 70 65 6e 5f 6e 75 | 6d 5d 2e 72 65 64 3d 30 |n[pen_nu|m].red=0|
|000063f0| 3b 20 0a 58 09 20 20 20 | 20 70 65 6e 5b 70 65 6e |; .X. | pen[pen|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.