%!PS-Adobe-2.0 %%DocumentFonts: (atend) %%Title: F:\\LPT\\COMPR\\APP_B.DOC %%Creator: Lotus Manuscript %%For: EWvA, MRK %%CreationDate: February 26, 1993 %%Pages: (atend) %%BoundingBox: 0 0 595 841 %%EndComments % PostScript Prologue (initialization) for Manuscript % Copyright (c) 1985,1986,1987,1988 Lotus Development Corporation % There is no user servicable code in this file. % set timeouts to infinite statusdict begin 0 setjobtimeout /manualfeedtimeout 3600 def /waittimeout 0 def end % correct bug correction in rev 41.0 /idiv{div cvi}bind def % define User Dictionary /msdict 300 dict def msdict begin /bd{bind def}bind def % Define commonly used things /delay{usertime 5000 add{dup usertime lt{pop exit}if}loop}bd /mfeed{statusdict begin /manualfeed true def end}bd /afeed{statusdict begin /manualfeed false def end}bd /bfeed{ afeed statusdict begin /setpapertray where {pop setpapertray}{pop} ifelse end}bd /dpi{0.24 dup scale}bd % These two are called for each page /inpage false def /begpage{save dpi /inpage true def}bd /endpage{inpage {restore showpage}if }bd % for possible banner /fileinfo {pop pop pop}bd /enddocument {end} bd % these are also used by eqn & gmf /ld{load def}bd /x/exch ld /cu{300 mul 72 div}bd /m/moveto ld /t/translate ld /rm/rmoveto ld /cp/currentpoint ld /st/stroke ld /ln/lineto ld /rlt/rlineto ld /slw/setlinewidth ld /ff/findfont ld /scf/scalefont ld /sf/setfont ld /fs{x /pt x def ff pt cu scf sf}bd % linedraw /li{4 2 roll setlinewidth 3 1 roll moveto 0.0 rlineto st}bd % outline factor /olwid 40.0 def % stroke width for outline /uoslw {pt cu x div slw}bd % relative horizontal move /xm{x currentpoint pop sub 0.0 rmoveto}bd % The basic show /s/show ld % move horizontal and show /ms{xm s}bd % variations % outline show - first printer attribute /ppss{dup cp 3 -1 roll false charpath st x 3 -1 roll stringwidth pop add x moveto}bd /pss{olwid uoslw { ( ) dup 0 4 -1 roll put ppss}forall}bd /ps{pss}bd /mps{xm ps}bd % graybox show - second printer attribute /gb{cp 3 -1 roll pt cu dup 4 div neg 0 x rm dup 0 x rlt x 0 rlt neg 0 x rlt closepath currentgray .9 setgray fill setgray m}bd /usi{dup stringwidth pop gb}bd /us{usi s}bd /xum{x cp pop sub dup gb 0 rmoveto}bd % combinations of PD1 and PD2 /ups{usi pss}bd /mups{xm ups}bd /mus{xm us}bd % define a new encoding vector (code page 850 based) /PC 256 array def StandardEncoding PC copy pop /dotaccent/bullet /quotesingle/quotedblleft/quotedblright/quotesinglbase /quotedblbase/guilsinglleft/guilsinglright/.notdef /ellipsis/perthousand/.notdef/.notdef/paragraph/section/dagger/daggerdbl /OE/oe/fi/fl/endash/emdash/fraction/Ydieresis PC 6 26 getinterval astore pop /Ccedilla/udieresis/eacute/acircumflex/adieresis/agrave/aring/ccedilla /ecircumflex/edieresis/egrave/idieresis/icircumflex/igrave/Adieresis/Aring /Eacute/ae/AE/ocircumflex/odieresis/ograve/ucircumflex/ugrave /ydieresis/Odieresis/Udieresis/oslash/sterling/Oslash/.notdef/florin /aacute/iacute/oacute/uacute/ntilde/Ntilde/ordfeminine/ordmasculine /questiondown/.notdef/.notdef/onehalf/onequarter/exclamdown/guillemotleft/guillemotright /.notdef/.notdef/.notdef/.notdef/.notdef/Aacute/Acircumflex/Agrave /.notdef/.notdef/.notdef/.notdef/.notdef/cent/yen/.notdef /.notdef/grave/.notdef/circumflex/tilde/.notdef/atilde/Atilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/currency /eth/Eth/Ecircumflex/Edieresis/Egrave/dotlessi/Iacute/Icircumflex /Idieresis/.notdef/.notdef/.notdef/.notdef/brokenbar/Igrave/.notdef /Oacute/germandbls/Ocircumflex/Ograve/otilde/Otilde/.notdef/thorn /Thorn/Uacute/Ucircumflex/Ugrave/yacute/Yacute/.notdef/acute /.notdef/.notdef/.notdef/threequarters/paragraph/section/.notdef/cedilla /ring/dieresis/periodcentered/onesuperior/threesuperior/twosuperior/.notdef/.notdef PC 128 128 getinterval astore pop % duplicate fonts with a new encoding vector /recd 5 dict def /pcft {recd begin /ncs PC def /nfn x def /bfn x def /bfd bfn findfont def /nf bfd maxlength dict def bfd{x dup dup /FID ne x /Encoding ne and {x nf 3 1 roll put}{pop pop}ifelse }forall nf/FontName nfn put nf/Encoding ncs put nfn nf definefont pop end}bd /fs{x /pt x def ff pt cu scf sf}bd % used by eqn /Times-Roman/TR pcft /Times-Bold/TRB pcft /Times-Italic/TRI pcft /Times-BoldItalic/TRBI pcft /Helvetica/HV pcft /Helvetica-Bold/HVB pcft /Helvetica-Oblique/HVO pcft /Helvetica-BoldOblique/HVBO pcft /Courier/CR pcft /Courier-Bold/CRB pcft /Sym{/Symbol fs}bd % Bit map image data decompression code /xx 0 def /yy 0 def /xbytes 0 def /lbuf 1200 string def /obuf 600 string def /bval def /blacks 96 string def /whites 96 string def 0 1 95 {whites x 255 put} for /dispatch [ { dup 47 le {32 sub 4 bitshift x pop 1}{ dup 63 le {x pop 48 sub bval x get 3 copy put x 1 add x 0} { dup 79 le {62 sub} { 80 sub { 3 copy put x 1 add x } repeat 0 }ifelse }ifelse }ifelse }bind { 32 sub add 3 copy put x 1 add x 0 } bind { 32 sub x pop add 255 0 }bind { 32 sub x pop 3 copy getinterval whites 0 3 index getinterval x copy pop add 255 0 }bind { 32 sub x pop 3 copy getinterval blacks 0 3 index getinterval x copy pop add 0 0 }bind ]def % read a raster line and unpack /readx{ obuf 0 255 0 currentfile lbuf readline pop {x dispatch x get exec} forall pop pop pop 0 xbytes getinterval}bd /mspic{ /yy x def/xx x def /xbytes xx 8 idiv def xx yy 1 [xx 0 0 0 yy sub 0 yy]{readx}image}bd /Helvetica/fA pcft/FA{/fA fs}bd /Helvetica-Oblique/fAI pcft/FAI{/fAI fs}bd /Helvetica-Bold/fAB pcft/FAB{/fAB fs}bd /Helvetica-BoldOblique/fAIB pcft/FAIB{/fAIB fs}bd /Times-Roman/fB pcft/FB{/fB fs}bd /Times-Italic/fBI pcft/FBI{/fBI fs}bd /Times-Bold/fBB pcft/FBB{/fBB fs}bd /Times-BoldItalic/fBIB pcft/FBIB{/fBIB fs}bd /Courier/fH pcft/FH{/fH fs}bd /Courier-Oblique/fHI pcft/FHI{/fHI fs}bd /Courier-Bold/fHB pcft/FHB{/fHB fs}bd /Courier-BoldOblique/fHIB pcft/FHIB{/fHIB fs}bd /ZapfChancery-MediumItalic/fL pcft/FL{/fL fs}bd /ZapfChancery-MediumItalic/fLI pcft/FLI{/fLI fs}bd /ZapfChancery-MediumItalic/fLB pcft/FLB{/fLB fs}bd /ZapfChancery-MediumItalic/fLIB pcft/FLIB{/fLIB fs}bd /AvantGarde-Book/fM pcft/FM{/fM fs}bd /AvantGarde-BookOblique/fMI pcft/FMI{/fMI fs}bd /AvantGarde-Demi/fMB pcft/FMB{/fMB fs}bd /AvantGarde-DemiOblique/fMIB pcft/FMIB{/fMIB fs}bd (F:\\LPT\\COMPR\\APP_B.DOC)(EWvA, MRK)(February 26, 1993)fileinfo %%EndProlog %%Page: 0 1 delay mfeed begpage 12 FAB 969 3176 m (Appendix B: Testcode)s 12 FB 295 2969 m (This)s 397(appendix)ms 594(is)ms 641(a)ms 677(separate)ms 855(file.)ms 948(It)ms 992(contains)ms 1172(the)ms 1247(test)ms 1330(code)ms 1438(that)ms 1527(can)ms 1610(be)ms 1671(inserted)ms 1843(to)ms 1896(debug)ms 2032(the)ms 2107(pal-)ms 295 2909 m (indrome)s 475(filter)ms 587(program.)ms 783(If)ms 830(the)ms 11 FH 906(PALINDROME.PAS)ms 12 FB 1305(module)ms 1469(is)ms 1517(extracted)ms 1714(from)ms 1826(appendices)ms 2062(A)ms 2112(and)ms 295 2849 m (B)s 340(together,)ms 529(then)ms 628(the)ms 701(resulting)ms 889(module)ms 1051(includes)ms 1231(this)ms 1315(test)ms 1397(code.)ms 12 FAB 295 2726 m (B.1. Print the contents of IN_LINE and LETTERS)s 12 FB 295 2639 m (Correct)s 462(reading)ms 629(of)ms 688(the)ms 767(input)ms 887(is)ms 938(crucial.)ms 1104(For)ms 1191(debugging)ms 1419(purposes)ms 1614(we)ms 1690(may)ms 1794(want)ms 1908(to)ms 1964(inspect)ms 2123(the)ms 295 2579 m (contents)s 474(of)ms 11 FH 528(IN_LINE)ms 12 FB 733(and)ms 11 FH 818(LETTERS)ms 12 FB (.)s 1035(We)ms 1117(need)ms 1224(a)ms 1259(local)ms 1368(counter)ms 10 FH 345 2498 m (\(******* Palindrome variables #quick *******\))s 345 2456 m ( T : INTEGER;)s 12 FB 295 2364 m (We)s 376(want)ms 486(the)ms 560(debugging)ms 783(information)ms 1032(te)ms 1081(be)ms 1140(clearly)ms 1289(flagged)ms 1451(as)ms 1505(such.)ms 10 FH 345 2283 m (\(***************** Palindrome \(test\) ******************\))s 345 2241 m (\(** Check contents of IN_LINE and LETTERS. **\))s 345 2200 m (WRITELN;)s 345 2158 m (WRITELN \('============ DEBUGGING INFORMATION ==============='\);)s 345 2116 m (WRITELN \('Contents of buffer IN_LINE: '\);)s 345 2075 m (WITH IN_LINE DO)s 345 2033 m (FOR T := 1 TO LENGTH DO WRITE \(OUTPUT, CHARS[T]\);)s 345 1991 m (WRITELN \('Contents of buffer LETTERS: '\);)s 345 1950 m (WITH LETTERS DO)s 345 1908 m (FOR T := 1 TO LENGTH DO WRITE \(OUTPUT, CHARS[T]\);)s 345 1866 m (WRITELN \('========== END OF DEBUGGING INFORMATION =========='\);)s 345 1825 m (WRITELN;)s 345 1783 m (\(************* End of Palindrome \(test\) ***************\))s 8 FB 295 204 m (The)s 355(CLiP)ms 433(Style)ms 510(of)ms 546(Literate)ms 658(Programming)ms 850(\(3.038,)ms 953(26-feb-93\))ms 12 FB 2075 204 m ( 1 )s 50 2 2130 216 li 50 2 2020 216 li endpage %%Trailer enddocument %%Pages: 1 %%DocumentFonts: %%+ Helvetica-Bold %%+ Times-Roman %%+ Courier %%EOF