%!PS-Adobe-2.0 %%DocumentFonts: (atend) %%Title: F:\\LPT\\MAN\\MANUAL.DOC %%Creator: Lotus Manuscript %%For: EWvA %%CreationDate: November 16, 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 /Times-Roman/fA pcft/FA{/fA fs}bd /Times-Italic/fAI pcft/FAI{/fAI fs}bd /Times-Bold/fAB pcft/FAB{/fAB fs}bd /Times-BoldItalic/fAIB pcft/FAIB{/fAIB fs}bd /Helvetica/fC pcft/FC{/fC fs}bd /Helvetica-Oblique/fCI pcft/FCI{/fCI fs}bd /Helvetica-Bold/fCB pcft/FCB{/fCB fs}bd /Helvetica-BoldOblique/fCIB pcft/FCIB{/fCIB 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 /Helvetica-Narrow/fK pcft/FK{/fK fs}bd /Helvetica-Narrow-Oblique/fKI pcft/FKI{/fKI fs}bd /Helvetica-Narrow-Bold/fKB pcft/FKB{/fKB fs}bd /Helvetica-Narrow-BoldOblique/fKIB pcft/FKIB{/fKIB 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\\MAN\\MANUAL.DOC)(EWvA)(November 16, 1993)fileinfo %%EndProlog %%Page: 0 1 begpage 14 FCB 719 2578 m (CLiP - )s 14 FCIB (C)s 14 FCB ( ode from )s 14 FCIB (Li)s 14 FCB ( terate )s 14 FCIB (P)s 14 FCB ( rograms)s 14 FCB 901 2438 m (Provisional User Manual)s 12 FAB 295 2133 m (Disclaimer:)s 12 FA 389 2073 m (This)s 493(document)ms 706(is)ms 755(meant)ms 893(for)ms 967(programmers)ms 1250(who)ms 1351(are)ms 1428(already)ms 1591(familiar)ms 1765(with)ms 1870(the)ms 1947(literate)ms 2101(pro-)ms 295 2013 m (gramming)s 512(paradigm.)ms 725(It)ms 767(pretends)ms 948(in)ms 999(no)ms 1061(way)ms 1156(to)ms 1207(be)ms 1266(a)ms 1299(complete)ms 1495(user)ms 1590(manual)ms 1749(in)ms 1799(the)ms 1872(real)ms 1959(meaning)ms 2143(of)ms 295 1953 m (the)s 369(word.)ms 497(But)ms 583(the)ms 657(document)ms 868(should)ms 1014(supply)ms 1161(sufficient)ms 1363(hints)ms 1473(to)ms 1525(experiment)ms 1764(successfully)ms 2021(with)ms 2123(the)ms 295 1893 m (CLiP)s 413(system.)ms 389 1833 m (You)s 492(are)ms 571(assumed)ms 761(to)ms 817(be)ms 882(familiar)ms 1058(with)ms 1165(the)ms 1243(ideas)ms 1364(and)ms 1454(design)ms 1602(goals)ms 1725(of)ms 1784(the)ms 1863(CLiP)ms 1986(system)ms 2143(as)ms 295 1773 m (explained)s 513(in)ms 576([Ammers)ms 788(and)ms 884(Kramer)ms 1061(1993].)ms 1214(Also)ms 1332(you)ms 1431(should)ms 1588(have)ms 1707(read)ms 11 FH 1816(READ_ME.TXT)ms 12 FA 2143(or)ms 11 FH 295 1713 m (READ_ME.PS)s 12 FA 577(which)ms 707(come)ms 823(with)ms 919(the)ms 988(executables)ms 1229(and)ms 1309(understand)ms 1536(the)ms 1604(meaning)ms 1784(of)ms 1833(the)ms 1902(INI-file)ms 2062(which)ms 295 1653 m (guides)s 438(the)ms 511(extraction)ms 724(process.)ms 389 1593 m (The)s 481(DOS)ms 596(and)ms 683(VMS)ms 806(versions)ms 987(of)ms 1044(CLiP)ms 1164(consist)ms 1318(of)ms 1374(two)ms 1464(independent)ms 1723(programs,)ms 1939(CLIP_1)ms 2112(and)ms 295 1533 m (CLIP_2.)s 481(CLIP_1)ms 654(is)ms 703(purely)ms 846(to)ms 900(create)ms 1035(an)ms 1097(INI-file)ms 1265(for)ms 1339(CLIP_2,)ms 1525(which)ms 1662(performs)ms 1858(the)ms 1935(actual)ms 2069(work.)ms 295 1473 m (The)s 387(Unix)ms 502(version)ms 664(consists)ms 837(of)ms 894(only)ms 998(one)ms 1085(program,)ms 1282(CLIP)ms 1405(\(which)ms 1559(is)ms 1607(identical)ms 1794(to)ms 1848(CLIP_2\),)ms 2050(and)ms 2137(an)ms 295 1413 m (INI-file)s 459(should)ms 603(be)ms 662(made)ms 782(using)ms 902(the)ms 974(supplied)ms 1155(scripts)ms 1297(or)ms 1350(an)ms 1409(editor.)ms 1549(This)ms 1650(manual)ms 1808(only)ms 1909(deals)ms 2023(with)ms 2123(the)ms 295 1353 m (second)s 446(program.)ms 14 FCB 295 1193 m (1 Introduction)s 12 FA 295 1098 m (In)s 354(short)ms 472(the)ms 551(idea)ms 652(behind)ms 806(CLiP)ms 930(is)ms 981(to)ms 1038(define)ms 1181(a)ms 1221(style)ms 1334(of)ms 1393(programming)ms 1683(sufficiently)ms 1929(formal)ms 2080(to)ms 2137(be)ms 295 1038 m (recognized)s 531(by)ms 597(a)ms 636(literate)ms 792(programming)ms 1080(automaton.)ms 1321(This)ms 1426(syntax)ms 1574(\(which)ms 1729(we)ms 1804(will)ms 1899(refer)ms 2010(to)ms 2065(as)ms 2123(the)ms 295 978 m (CLiP-syntax\))s 577(should)ms 724(not)ms 801(obstruct)ms 975(a)ms 1011(natural)ms 1163(way)ms 1259(of)ms 1314(programming.)ms 1612(Ideally)ms 1764(the)ms 1839(system)ms 1991(should)ms 2137(be)ms 295 918 m (smart)s 421(enough)ms 583(to)ms 637("see")ms 756(stubs,)ms 887(slots)ms 993(and)ms 1080(the)ms 1157(like)ms 1247(by)ms 1312("inspecting")ms 1573(the)ms 1649(documentation)ms 1961(and)ms 2048(simply)ms 295 858 m ("understanding")s 631(the)ms 704(refinements)ms 952(the)ms 1025(programmer)ms 1285(has)ms 1364(made.)ms 1497(Alas,)ms 1613(this)ms 1697(is)ms 1743(far)ms 1810(beyond)ms 1970(the)ms 2043(current)ms 295 798 m (potential)s 485(of)ms 542(artificial)ms 726(intelligence)ms 975(and)ms 1062(we)ms 1136(will)ms 1229(have)ms 1339(to)ms 1393(reach)ms 1516(the)ms 1593(automaton)ms 1819(a)ms 1857(helping)ms 2022(hand)ms 2134(by)ms 295 738 m (defining)s 474(a)ms 508(special)ms 660(syntax.)ms 389 678 m (So)s 454(we)ms 524(want)ms 634(the)ms 707("look)ms 829(and)ms 914(feel")ms 1021(of)ms 1075(a)ms 1110(documentation)ms 1420(to)ms 1471(be)ms 1530(as)ms 1584("natural")ms 1776(as)ms 1830(possible,)ms 2019(but)ms 2096(with)ms 295 618 m (CLiP)s 413(features)ms 584(that)ms 672(can)ms 754(be)ms 814(recognized)ms 1046(by)ms 1109(an)ms 1169(automaton.)ms 1406(On)ms 1480(the)ms 1554(other)ms 1669(hand)ms 1779(should)ms 1926(the)ms 2000(reader)ms 2137(be)ms 295 558 m (burdened)s 497(as)ms 554(little)ms 662(as)ms 720(possible)ms 900(with)ms 1004(the)ms 1082(fact)ms 1173(that)ms 1264(additional)ms 1480(processing)ms 1709(is)ms 1759(needed)ms 1916(to)ms 1971(extract)ms 2123(the)ms 295 498 m (modules.)s 493(In)ms 551(systems)ms 726(like)ms 818(VAMP)ms 979([Ammers)ms 1184(1984])ms 1317(and)ms 1406(WEB)ms 1534([Knuth)ms 1692(1984])ms 1825(- which)ms 1993(use)ms 2076(batch)ms 295 438 m (formatters -)s 539(this)ms 622(is)ms 665(achieved)ms 853(by)ms 913(adding)ms 1059(explicit)ms 1219(commands)ms 1446(in)ms 1495(the)ms 1566(source-files)ms 1809(that)ms 1894(are)ms 1965(suppressed)ms 295 378 m (in)s 349(the)ms 425(formatted)ms 634(documentation.)ms 959(But)ms 1047(this)ms 1134(technique)ms 1344(does)ms 1450(not)ms 1530(work)ms 1647(if)ms 1693(the)ms 1769(documentation)ms 2082(envi-)ms 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms endpage %%Page: 1 2 begpage 10 FCB 295 3182 m (2)s 10 FC 460 3182 m (Syntax \(programming style\))s 12 FA 295 3011 m (ronment)s 470(is)ms 512(an)ms 568(interactive)ms 788(word-processor)ms 1107(\(Word)ms 1247(Perfect,)ms 1409(Lotus)ms 1532(Manuscript,)ms 1781(MS-Word,)ms 2005(Ami)ms 2102(Pro,)ms 295 2951 m (etc.\).)s 411(So)ms 480(CLiP)ms 602(uses)ms 705(either)ms 835(the)ms 912(ASCII-export)ms 1204(from)ms 1317(a)ms 1356(word-processors)ms 1703(or)ms 1761(the)ms 1838(ASCII)ms 1985(input)ms 2104(of)ms 2162(a)ms 295 2891 m (formatter)s 491(and)ms 573(extracts)ms 738(modules)ms 918(from)ms 1025(there.)ms 1148(In)ms 1199(these)ms 1312(files)ms 1408(CLiP)ms 1524(recognizes)ms 1748(the)ms 1819(important)ms 2023(sections)ms 295 2831 m (by)s 357(a)ms 392(particular)ms 596(programming-style)ms 992(rather)ms 1121(than)ms 1219(by)ms 1282(explicit)ms 1444(commands.)ms 389 2771 m (The)s 479(first)ms 573(section)ms 727(describes)ms 926(the)ms 1000(syntax)ms 1143(that)ms 1231(CLiP)ms 1350("sees".)ms 1499(The)ms 1590(next)ms 1689(section)ms 1843(gives)ms 1962(a)ms 1997(couple)ms 2143(of)ms 295 2711 m (useful)s 427(examples.)ms 640(In)ms 692(section)ms 844(4)ms 880(we)ms 949(describe)ms 1127(the)ms 1198(options)ms 1356(that)ms 1442(may)ms 1539(be)ms 1597(used)ms 1699(to)ms 1749(customize)ms 1963(the)ms 2035(process)ms 295 2651 m (of)s 350(module)ms 514(generation.)ms 752(In)ms 808(section)ms 963(5)ms 1002(we)ms 1075(give)ms 1175(some)ms 1295(hints)ms 1406(on)ms 1470(how)ms 1570(to)ms 1623(organize)ms 1809(your)ms 1915(working)ms 2096(with)ms 295 2591 m (CLiP)s 409(efficiently.)ms 637(Stubs)ms 757(and)ms 839(slots)ms 940(my)ms 1013(remaining)ms 1226(sections)ms 1396(illustrate)ms 1580(the)ms 1651(style)ms 1755(of)ms 1806(documentation)ms 2112(and)ms 295 2531 m (programs)s 492(that)ms 575(would)ms 709(result.)ms 841(CLiP)ms 955(is)ms 997(in)ms 1044(development)ms 1311(and)ms 1392(we)ms 1459(compile)ms 1628(the)ms 1698(known)ms 1843(bugs)ms 1946(in)ms 1993(section 6.)ms 14 FCB 295 2371 m (2 Syntax \(programming style\))s 12 FAI 295 2276 m (CLiP-lines)s 12 FA 562( that)ms 670(is)ms 723(lines)ms 838(which)ms 981(have)ms 1096(a)ms 1138(special)ms 1297(meaning)ms 1490(to)ms 1549(CLiP )ms 1718(start)ms 1824(with)ms 1934(a)ms 1976(CLIP-left-)ms 295 2216 m (parenthesis)s 537(\(CLIP-lpar\))ms 790(and)ms 879(end)ms 969(with)ms 1075(a)ms 1114(CLIP-right-parenthesis)ms 1593(\(CLIP-rpar\).)ms 1861(Both)ms 1976(tokens)ms 2123(are)ms 295 2156 m (constructed)s 545(as)ms 607(extensions)ms 838(of)ms 899(the)ms 980(tokens)ms 1131(encapsulating)ms 1426(comments)ms 1651(which)ms 1794(we)ms 1872(will)ms 1970(refer)ms 2084(to)ms 2143(as)ms 11 FH 295 2096 m (COMM-START)s 12 FA 581(and)ms 11 FH 665(COMM-END)ms 12 FA (.)s 909(If)ms 954(we)ms 1024(program)ms 1205(in)ms 1256(Pascal)ms 1396(then)ms 1493(everything)ms 1719(between)ms 1897(")ms 11 FH (\(*)s 12 FA (")s 2005(and)ms 2089(")ms 11 FH (*\))s 12 FA (")s 295 2036 m (is)s 340(seen)ms 442(as)ms 496(comment,)ms 707(thus)ms 803(we)ms 874(have)ms 981(the)ms 1054(convention:)ms 11 FH 554 1951 m (COMM-START)s 12 FA 841(=)ms 882(")ms 11 FH (\(*)s 12 FA (")s 11 FH 554 1891 m (COMM-END)s 12 FA 811(=)ms 852(")ms 11 FH (*\))s 12 FA (")s 295 1806 m (Extension)s 503(of)ms 553(the)ms 622(comment)ms 816(token)ms 936(is)ms 977(by)ms 1035(a)ms 1066(character)ms 1257(with)ms 1354(a)ms 1385(special)ms 1532(meaning)ms 1712(to)ms 1759(clip,)ms 1855(the)ms 11 FH 1924(CLIP-CHAR)ms 12 FA (.)s 295 1746 m (In)s 349(our)ms 428(case)ms 526(we)ms 597(assume)ms 11 FH 554 1661 m (CLIP-CHAR)s 12 FA 814(=)ms 854(")ms 11 FH (*)s 12 FA (")s 295 1576 m (Thus)s 407(CLiP-lines)ms 636(are)ms 710(enclosed)ms 897(by)ms 554 1491 m (CLIP-lpar)s 769(of)ms 823(the)ms 897(form)ms 1006(")ms 11 FH (\(**)s 12 FA (")s 295 1406 m (and)s 554 1321 m (CLIP-rpar)s 772(of)ms 826(the)ms 899(form)ms 1009(")ms 11 FH (**\))s 12 FA (")s 295 1236 m (The)s 380(parameters)ms 11 FH 607(COMM-START)ms 12 FA (,)s 11 FH 902(COMM-END)ms 12 FA 1129(and)ms 11 FH 1209(CLIP-CHAR)ms 12 FA 1464(are)ms 1532(set)ms 1595(by)ms 1653(the)ms 1721(INI-file)ms 1882(and)ms 1961(it)ms 1997(is)ms 2037(evident)ms 295 1176 m (that)s 382(the)ms 456(convention)ms 690(can)ms 772(be)ms 832(adjusted.)ms 389 1091 m (CLiP)s 507(distinguishes)ms 780(six)ms 851(source)ms 994(line)ms 1082(categories:)ms 10 FH 395 1011 m (1)s 470 1011 m (\(******************* **********************\))s 395 961 m (2)s 470 961 m (\(**************** End of ******************\))s 395 911 m (3)s 470 911 m (\(** **\))s 395 861 m (4)s 470 861 m (\(***************************************************************\))s 395 811 m (5)s 470 811 m ()s 395 761 m (6)s 470 761 m ()s 12 FA 295 664 m (We)s 373(will)ms 460(refer)ms 563(to)ms 611(a)ms 642(line)ms 726(from)ms 832(the)ms 902(second)ms 1049(category)ms 1230(as)ms 1281(an)ms 1337("L2")ms 1442(and)ms 1523(so)ms 1577(on)ms 1636(and)ms 1717(investigate)ms 1942(the)ms 2012(meaning)ms 295 604 m (is)s 340(of)ms 395(the)ms 468(various)ms 628(categories)ms 843(for)ms 914(CLiP.)ms 389 544 m (The)s 479(string)ms 605(")ms 11 FH (End)s 736(of)ms 12 FA (")s 824(of)ms 879(an)ms 938(L2)ms 1007(has)ms 1086(a)ms 1121(special)ms 1272(meaning)ms 1457(that)ms 1545(distinguishes)ms 1819(an)ms 1879(L2)ms 1947(from)ms 2057(an)ms 2117(L1.)ms 295 484 m (Again)s 429(this)ms 514(special)ms 665(string)ms 792(is)ms 838(defined)ms 1000(by)ms 1063(a)ms 1097(parameter)ms 1310(in)ms 1361(the)ms 1435(INI-file)ms 11 FH 554 394 m (END-STRING)s 12 FA 841(=)ms 882(")ms 11 FH (ENDOF)s 12 FA (")s 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms 4 300 430 889 li 25 2 1670 2288 li 25 2 534 2288 li endpage %%Page: 2 3 begpage 10 FC 1203 3182 m (2.1 Stub blocks and documentation blocks)s 10 FCB 2161 3182 m (3)s 12 FA 295 3011 m (Observe)s 472(that)ms 558(CLiP)ms 674(does)ms 776(not)ms 851(distinguish)ms 1081(between)ms 1258(upper)ms 1383(and)ms 1466(lower)ms 1590(case)ms 1687(and)ms 1770(forgets)ms 1920(about)ms 2041(spaces.)ms 295 2951 m (In)s 351(fact)ms 440(CLiP)ms 561(reduces)ms 728(the)ms 804()ms 1175(internally)ms 1381(to)ms 1435(a)ms 1472(sequence)ms 1670(of)ms 1726(the)ms 1802(characters)ms 2019(")ms 11 FH (A)s 12 FA ("-")s 11 FH (Z)s 12 FA (",)s 295 2891 m (")s 11 FH (0)s 12 FA ("-")s 11 FH (9)s 12 FA (")s 460(and)ms 545(")ms 11 FH (.)s 12 FA (")s 389 2831 m (Note)s 500(that)ms 590(for)ms 663(an)ms 725(L3)ms 796(the)ms 872(character)ms 1070(immediately)ms 1334(following)ms 1544(the)ms 11 FH 1619(CLIP-CHAR)ms 12 FA 1882(on)ms 1947(the)ms 2022(left)ms 2104(side)ms 295 2771 m (and)s 381(the)ms 456(character)ms 654(preceding)ms 866(the)ms 11 FH 941(CLIP-CHAR)ms 12 FA 1203(on)ms 1267(the)ms 1343(right)ms 1451(side)ms 1546(may)ms 1647(be)ms 1708(anything)ms 1898(apart)ms 2012(from)ms 2123(the)ms 11 FH 295 2711 m (CLIP-CHAR)s 12 FA 555(itself.)ms 12 FCB 295 2588 m (2.1 Stub blocks and documentation blocks)s 12 FA 295 2501 m (From)s 412(CLiP's)ms 563(point)ms 674(of)ms 725(view)ms 831(the)ms 901(source-files)ms 1143(are)ms 1213(divided)ms 1372(in)ms 12 FAI 1420(documentation)ms 1726(blocks)ms 12 FA 1863(and)ms 12 FAI 1944(stub-blocks)ms 12 FA (.)s 295 2441 m (A)s 344(stub-block)ms 568(starts)ms 686(with)ms 788(an)ms 848(L1)ms 917(and)ms 1002(usually)ms 1159(ends)ms 1264(with)ms 1365(an)ms 1426(L2.)ms 1507(A)ms 1556(special)ms 1707(kind)ms 1809(of)ms 1864(stub,)ms 1973(a)ms 2008(so)ms 2065(called)ms 295 2381 m (quick)s 416(stub)ms 509(\(see)ms 599(sect.)ms 699(3.3)ms 772(and)ms 854(4\),)ms 918(is)ms 961(ended)ms 1090(by)ms 1150(an)ms 1207(L5)ms 1273(or)ms 1324(an)ms 1382(.)ms 1555(Everything)ms 1787(outside)ms 1941(a)ms 1973(stub-block)ms 295 2321 m (is)s 343(a)ms 381(documentation)ms 694(block)ms 820(and)ms 908(ignored)ms 1076(by)ms 1142(CLiP.)ms 1276(For)ms 1360(this)ms 1448(reason)ms 1594(we)ms 1668(say)ms 1750(that)ms 1841(CLiP)ms 1962(is)ms 2011(in)ms 12 FAI 2065(active)ms 12 FAI 295 2261 m (mode)s 12 FA 419(during)ms 565(the)ms 642(processing)ms 872(of)ms 930(a)ms 968(stub-block)ms 1195(and)ms 1283(in)ms 12 FAI 1338(passive)ms 1501(mode)ms 12 FA 1625(otherwise.)ms 1848(The)ms 1942(only)ms 2046(way)ms 2146(to)ms 295 2201 m (change)s 448(CLiP)ms 566(from)ms 675(passive)ms 835(to)ms 886(active)ms 1017(mode)ms 1140(is)ms 1186(by)ms 1248(an)ms 1307(L1)ms 1375(and)ms 1459(the)ms 1532(usual)ms 1650(way)ms 1745(from)ms 1855(active)ms 1986(to)ms 2037(passive)ms 295 2141 m (is)s 340(through)ms 508(an)ms 568(L2.)ms 649(An)ms 722(L2)ms 790(in)ms 842(passive)ms 1001(mode)ms 1125(is)ms 1171(presumably)ms 1417(an)ms 1476(error)ms 1586(and)ms 1671(will)ms 1761(be)ms 1821(ignored.)ms 12 FCB 295 1988 m (2.2 Segments)s 12 FA 295 1901 m (A)s 356(stub-block)ms 592(contains)ms 784(one)ms 882(and)ms 979(only)ms 1094(one)ms 12 FAI 1191(stub-segment)ms 12 FA (,)s 1493(which)ms 1640(starts)ms 1771(the)ms 1858(stub-block.)ms 2107(The)ms 295 1841 m (stub-segment)s 574(may)ms 672(be)ms 732(followed)ms 922(by)ms 985(any)ms 1069(number)ms 1235(of)ms 12 FAI 1289(slot-segments)ms 12 FA 1574(and/or)ms 12 FAI 1714(code-segments)ms 12 FA (.)s 389 1781 m (An)s 458(L1)ms 522(always)ms 669(starts)ms 783(a)ms 814(new)ms 906(stub-)ms 1014(or)ms 1064(slot-segment)ms 1328(and)ms 1409(the)ms 1479(segment)ms 1654(continues)ms 1854(with)ms 1951(any)ms 2032(number)ms 295 1721 m (of)s 350(lines)ms 459(of)ms 514(type)ms 614(L3)ms 684(or)ms 740(L4.)ms 822(A)ms 872(segment)ms 1052(is)ms 1100(a)ms 1136(slot-segment)ms 1405(if)ms 1450(and)ms 1536(only)ms 1639(if)ms 1684(it)ms 1725(is)ms 1773(not)ms 1851(the)ms 1926(first)ms 2020(one)ms 2107(of)ms 2162(a)ms 295 1661 m (stub-block.)s 532(A)ms 582(code-segment)ms 874(consists)ms 1046(of)ms 1102(any)ms 1188(number)ms 1355(of)ms 1410(contiguous)ms 1644(lines)ms 1752(of)ms 1808(type)ms 1908(L5.)ms 1990(Stub-)ms 2112(and)ms 12 FA 295 1601 m (slot-segments)s 587(have)ms 699(an)ms 12 FAI 764(identification)ms 12 FA 1048(or)ms 12 FAI 1107(name)ms 12 FA 1233(which)ms 1373(is)ms 1424(constructed)ms 1672(somehow)ms 1881(from)ms 1996(the)ms 11 FH 2075()ms 12 FA (s)s 739(inside)ms 871(the)ms 945(segment.)ms 389 1481 m (L3)s 455(and)ms 539(L4)ms 606(are)ms 678(continuations)ms 958(of)ms 1011(stub-)ms 1123(and)ms 1206(slot-segments,)ms 1505(but)ms 1580(with)ms 1680(a)ms 1714(slightly)ms 1875(different)ms 2058(status.)ms 295 1421 m (An)s 373(L3)ms 446(that)ms 538(cannot)ms 688(be)ms 753(pasted)ms 898(to)ms 954(a)ms 994(segment)ms 1177(is)ms 1228(flagged)ms 1395(as)ms 1454(an)ms 1519(error.)ms 1645(But)ms 1735(an)ms 1799(L4)ms 1872(under)ms 2003(the)ms 2082(same)ms 295 1361 m (conditions)s 515(is)ms 561(interpreted)ms 790(as)ms 844(belonging)ms 1057(to)ms 1108(the)ms 1182(current)ms 1336(code-segment.)ms 12 FCB 295 1208 m (2.3 Options)s 12 FA 295 1121 m (The)s 390(module)ms 557(extraction)ms 774(process)ms 941(can)ms 1028(be)ms 1092(tuned)ms 1221(by)ms 1288(means)ms 1433(of)ms 12 FAI 1492(options)ms 12 FA (.)s 1669(Stub-segments)ms 1981(as)ms 2040(well)ms 2143(as)ms 295 1061 m (slot-segments)s 593(may)ms 702(have)ms 820(options.)ms 1003(An)ms 1087(option)ms 1238(starts)ms 1367(with)ms 1479(a)ms 1525(keyword)ms 1723(signalled)ms 1927(by)ms 2000(a)ms 2046(special)ms 11 FH 295 1001 m (OPTION-MARKER)s 12 FA (.)s 681(The)ms 775(option)ms 919(keyword)ms 1110(may)ms 1212(be)ms 1276(abbreviated)ms 1525(to)ms 1581(a)ms 1619(unique)ms 1772(headerstring)ms 2035(for)ms 2110(that)ms 295 941 m (option.)s 446(We)ms 527(will)ms 616(assume)ms 775(")ms 11 FH (#)s 12 FA (")s 854(for)ms 11 FH 924(OPTION-MARKER)ms 12 FA (,)s 1305(but)ms 1380(of)ms 1433(course)ms 1575(this)ms 1659(again)ms 1778(is)ms 1823(a)ms 1857(parameter)ms 2068(set)ms 2135(by)ms 295 881 m (the)s 370(INI-file.)ms 549(The)ms 641(argument\(s\))ms 897(following)ms 1105(an)ms 1166(option)ms 1308(continue)ms 1495(till)ms 1564(the)ms 1640(next)ms 1740(option-keyword)ms 2073(or)ms 2129(till)ms 295 821 m (the)s 368(end)ms 453(of)ms 507(the)ms 581(segment.)ms 772(Therefore)ms 982(the)ms 1055(name)ms 1176(of)ms 1230(a)ms 1265(segment)ms 1444(must)ms 1554(precede)ms 1722(the)ms 1796(options.)ms 389 761 m (In)s 440(general)ms 596(options)ms 753(operate)ms 910(on)ms 970(the)ms 12 FAI 1040(inside)ms 12 FA 1169(of)ms 1221(the)ms 1291(stub)ms 1384(only,)ms 1495(since)ms 1608(that)ms 1692(is)ms 1735(the)ms 1806(part)ms 1893(of)ms 1944(the)ms 2015(program)ms 295 701 m (that)s 381(the)ms 453(programmer)ms 711(of)ms 764(this)ms 847(particular)ms 1050(refinement)ms 1278(has)ms 1355(in)ms 1405(his)ms 1475(or)ms 1528(her)ms 1603(mind.)ms 1729(In)ms 1782(addition)ms 1957(options)ms 2115(can)ms 295 641 m (be)s 351(inherited.)ms 551(The)ms 639(meaning)ms 821(of)ms 872(the)ms 943(various)ms 1100(options)ms 1257(is)ms 1300(explained)ms 1504(in)ms 1553(section 4.)ms 1754(Some)ms 1878(frequently)ms 2093(used)ms 295 581 m (options)s 454(show)ms 572(up)ms 635(in)ms 686(the)ms 760(examples)ms 961(of)ms 1015(section 3.)ms 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms endpage %%Page: 3 4 begpage 10 FCB 295 3182 m (4)s 10 FC 460 3182 m (Examples)s 14 FCB 295 3001 m (3 Examples)s 12 FA 295 2906 m (In)s 351(the)ms 426(examples)ms 630(we)ms 703(will)ms 795(illustrate)ms 984(the)ms 1060(most)ms 1172(important)ms 1381(features)ms 1554(of)ms 1610(CLiP)ms 1730(by)ms 1794(making)ms 1959(remarks)ms 2134(on)ms 295 2846 m (excerpts)s 474(drawn)ms 611(from)ms 721(the)ms 794(documentation)ms 1104(of)ms 1158(CLiPs)ms 1296(predecessor,)ms 1557(VAMP.)ms 12 FCB 295 2723 m (3.1 Example 1: Defining a module)s 10 FAIB 470 2641 m (The module VAMP:)s 10 FA 570 2591 m (Starting from nowhere, the empty program will do.)s 10 FH 395 2491 m (1)s 470 2491 m (\(**** #File "VAMP.PAS". #Indent on. ****\))s 395 2441 m (2)s 395 2391 m (3)s 470 2391 m (\(***************************************************************\))s 395 2341 m (4)s 470 2341 m (\(* Routine: VAMP)s 1070(-)ms 1170(Main module of the VAMP system.)ms 2020( *\))ms 395 2291 m (5)s 470 2291 m (\(* Purpose:)s 870(Main module and unique entry point to the)ms 2020( *\))ms 395 2241 m (6)s 470 2241 m (\(*)s 870(VAMP-system.)ms 2020( *\))ms 395 2191 m (7)s 470 2191 m (\(* Interface:)s 870(TTY -)ms 1070(All communication with the user)ms 2020( *\))ms 395 2141 m (8)s 470 2141 m (\(*)s 870(proceeds via the terminal.)ms 2020( *\))ms 395 2091 m (9)s 470 2091 m (\(* Author/Date:)s 870(VAMP project management, Sept. 12, 1983.)ms 2020( *\))ms 370 2041 m (10)s 470 2041 m (\(***************************************************************\))s 370 1991 m (11)s 370 1941 m (12)s 470 1941 m (\(********************** VAMP \(body\) **************************\))s 370 1891 m (13)s 370 1841 m (14)s 470 1841 m (\(*********************** End of VAMP *************************\))s 370 1791 m (15)s 370 1741 m (16)s 370 1691 m (18)s 470 1691 m (\(********* VAMP \(body\) #def ***********\))s 370 1641 m (19)s 470 1641 m (PROGRAM)s 770(VAMP \(INPUT, OUTPUT\);)ms 370 1591 m (20)s 570 1591 m (BEGIN)s 370 1541 m (21)s 570 1541 m (WRITELN \('!!! VAMP was here !!!'\);)s 370 1491 m (22)s 570 1491 m (END \(*VAMP*\).)s 370 1441 m (23)s 470 1441 m (\(********** End of VAMP \(body\) *********\))s 12 FAB 295 1344 m (Remarks:)s 12 FA 389 1284 m (There)s 523(are)ms 602(two)ms 695(stubs)ms 816(in)ms 873(this)ms 964(section.)ms 1136(Line)ms 1246(1-14)ms 1355(and)ms 1446(line)ms 1539(18-23.)ms 1686(Both)ms 1801(stub-blocks)ms 2050(have)ms 2162(a)ms 295 1224 m (stub-segment)s 574(of)ms 628(one)ms 713(line)ms 800(only)ms 901(\(lines)ms 1025(1)ms 1063(and)ms 1147(18)ms 1210(respectively\).)ms 389 1164 m (The)s 480(first)ms 575(stub-segment)ms 856(has)ms 937(no)ms 1001(identification.)ms 1294(It)ms 1339(specifies)ms 1528(the)ms 1603(start)ms 1703(of)ms 1759(a)ms 1795(new)ms 1893(output)ms 2034(module)ms 295 1104 m (by)s 357(the)ms 431(FILE)ms 549(option)ms 689(and)ms 774(thus)ms 870(is)ms 915(not)ms 992(meant)ms 1126(to)ms 1178(be)ms 1238(referenced)ms 1461(\(see)ms 1554(also)ms 1647(example)ms 1829(5\).)ms 389 1044 m (Line)s 494(2)ms 533(\(an)ms 611(L5\))ms 697(separates)ms 894(line)ms 982(3)ms 1021(\(an)ms 1099(L4\))ms 1185(from)ms 1296(the)ms 1371(stub-segment)ms 1652(and)ms 1738(makes)ms 1879(it)ms 1921(belong)ms 2071(to)ms 2123(the)ms 295 984 m (code-segment)s 585(which)ms 719(expands)ms 896(over)ms 997(lines)ms 1104(2-11.)ms 389 924 m (There)s 525(resides)ms 684(only)ms 793(one)ms 885(slot)ms 978(inside)ms 1117(the)ms 1198(first)ms 1299(stub)ms 1402(\(line)ms 1514(12\))ms 1601(and)ms 1693(this)ms 1785(slot)ms 1878(is)ms 1931(identified)ms 2143(as)ms 295 864 m (")s 11 FH (VAMPBODY)s 12 FA (".)s 580(The)ms 671(second)ms 822(stub)ms 918(has)ms 997(no)ms 1059(slots)ms 1164(at)ms 1212(all.)ms 389 804 m (Line)s 489(13)ms 548(is)ms 590(a)ms 621(trivial)ms 749(code-segment)ms 1036(and)ms 1117(line)ms 1201(14)ms 1260(marks)ms 1391(the)ms 1461(end)ms 1542(of)ms 1592(the)ms 1662(first)ms 1752(stub-block.)ms 1984(The)ms 2071(string)ms 295 744 m (following)s 501(the)ms 575("End)ms 689(of")ms 763(is)ms 809(optional)ms 985(and)ms 1070(does)ms 1174(not)ms 1251(have)ms 1357(to)ms 1409(match)ms 1544(the)ms 1617(stub)ms 1713(name)ms 1834(in)ms 1885(any)ms 1970(way.)ms 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms 4 1250 430 2044 li endpage %%Page: 4 5 begpage 10 FC 1453 3182 m (3.2 Example 2: Multiple slots)s 10 FCB 2161 3182 m (5)s 12 FCB 295 3008 m (3.2 Example 2: Multiple slots)s 10 FAIB 470 2926 m (Environment module)s 10 FA (:)s 10 FA 570 2876 m (In the past there have been made several changes in the VAMP program. These changes have)s 10 FA 470 2826 m (been made in the extracted modules rather then in the VAMP source. To make source files consistent)s 10 FA 470 2776 m (with the modules, the source files have been updated in march 1990 by Jeroen Reef.)s 10 FA 570 2726 m (Furthermore, the updated source files contain two additional modules, VAMP.MSG and)s 10 FA 470 2676 m (DECLAR_MOD. The module VAMP.MSG contains the error messages of VAMP and the module)s 10 FA 470 2626 m (DECLAR_MOD contains the types and constants used by several modules of VAMP. This module)s 10 FA 470 2576 m (uses the ENVIRONMENT, which directs the compiler to generate an environment file)s 10 FA 470 2526 m (DECLAR.PEN. Other modules can reference the identifiers declared in DECLAR_MOD by inheriting)s 10 FA 470 2476 m (the environment with the INHERIT attribute.)s 10 FH 395 2359 m (1)s 470 2359 m (\(****** #File "DECLAR_MOD.PAS". #Indent ON. ******\))s 395 2309 m (2)s 395 2259 m (3)s 470 2259 m (\(***************************************************************\))s 395 2209 m (4)s 470 2209 m (\(* Module to contain all parameters and global declarations)s 2020( *\))ms 395 2159 m (5)s 470 2159 m (\(* of the VAMP system.)s 2020( *\))ms 395 2109 m (6)s 470 2109 m (\(***************************************************************\))s 395 2059 m (7)s 470 2059 m ([ENVIRONMENT \('DECLAR.PEN'\)])s 1270(MODULE DECLARS;)ms 395 2009 m (8)s 395 1959 m (9)s 470 1959 m (\(********** Parameters of the VAMP-system \(#mul\) *************\))s 370 1909 m (10)s 370 1859 m (11)s 470 1859 m (TYPE)s 370 1809 m (12)s 570 1809 m (ABSTRACT = \(DEFINED, UNDEFINED\);)s 370 1759 m (13)s 570 1759 m (\(********* Simple types of the VAMP-system \(#mul\) ********\))s 370 1709 m (14)s 570 1709 m (\(******** Structured types of the VAMP-system \(#mul\) ******\))s 370 1659 m (15)s 470 1659 m (END.)s 370 1609 m (16)s 470 1609 m (\(***************** End of DECLARE_MOD.PAS ********************\))s 12 FAB 295 1513 m (Remarks:)s 12 FA 389 1453 m (The)s 483(stub-block)ms 711(extends)ms 880(over)ms 986(16)ms 1052(lines.)ms 1176(Line)ms 1284(1)ms 1326(is)ms 1376(the)ms 1454(stub-segment)ms 1737(and)ms 1826(line)ms 1918(16)ms 1984(closes)ms 2123(the)ms 295 1393 m (stub-block.)s 532(Lines)ms 657(2-8)ms 737(constitute)ms 945(the)ms 1020(first)ms 1115(code-segment)ms 1406(of)ms 1462(the)ms 1536(stub)ms (,)s 1646(lines)ms 1754(10-12)ms 1885(the)ms 1960(middle)ms 2112(one)ms 295 1333 m (and)s 379(line)ms 467(15)ms 529(the)ms 603(last)ms 685(one.)ms 389 1273 m (There)s 515(are)ms 587(three)ms 697(slots)ms 799(\(or)ms 868(slot-segments\),)ms 1182(lines)ms 1287(9,)ms 1335(13)ms 1395(and)ms 1478(14.)ms 1550(All)ms 1625(slots)ms 1727(consist)ms 1876(of)ms 1928(one)ms 2010(line)ms 2096(only)ms 295 1213 m (and)s 380(carry)ms 496(the)ms 570(multiple)ms 750(option.)ms 903(For)ms 986(instance)ms 1163(the)ms 1237(first)ms 1331(slot)ms 1416(can)ms 1499(swallow)ms 1679(any)ms 1764(number)ms 1930(of)ms 1985(parameter)ms 295 1153 m (definition)s 501(that)ms 589(might)ms 718(turn)ms 811(up)ms 874(in)ms 925(the)ms 999(future.)ms 389 1093 m (The)s 479(names)ms 619(\(identifications\))ms 951(of)ms 1005(the)ms 1079(slots)ms 1183(are)ms 1256(respectively)ms 460 1008 m (")s 11 FH (PARAMETERSOFTHEVAMPSYSTEM)s 12 FA (")s 460 948 m (")s 11 FH (SIMPLETYPESOFTHEVAMPSYSTEM)s 12 FA (")s 460 888 m (")s 11 FH (STRUCTUREDTYPESOFTHEVAMPSYSTEM)s 12 FA (")s 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms 4 800 430 1988 li 4 500 430 2704 li endpage %%Page: 5 6 begpage 10 FCB 295 3182 m (6)s 10 FC 460 3182 m (Examples)s 12 FCB 295 3008 m (3.3 Example 3: Quick stubs and abstract data types)s 10 FAIB 495 2926 m (First level data structures:)s 10 FA 595 2876 m (This level introduces the data-structure TTY_INFO, containing the initial communication)s 10 FA 495 2826 m (between the terminal and the program. The definition requires in addition four system parameters)s 10 FA 495 2776 m (and some constants and types which are related to file specifications. The structure of CODE_INFO)s 10 FA 495 2726 m (is left open for the time being.)s 10 FH 420 2626 m (1)s 495 2626 m (\(********** Parameters of the VAMP-system \(#quick\) ***********\))s 420 2576 m (2)s 495 2576 m (\(*)s 795(-------- Parameters of TTY_INFO ---------)ms 2045( *\))ms 420 2526 m (3)s 495 2526 m (MAX_FILE_SPEC_L = 255;)s 1195(\(* Maximum length file-specific.)ms 2045( *\))ms 420 2476 m (4)s 495 2476 m (MAX_FILE_NAME_L = 39;)s 1195(\(* Maximum length file-name.)ms 2045( *\))ms 420 2426 m (5)s 495 2426 m (MAX_FILE_EXT_L = 39;)s 1195(\(* Maximum length file-extension.)ms 2045( *\))ms 420 2376 m (6)s 495 2376 m (MAX_IN_FILES =)s 995( 8;)ms 1195(\(* Maximum number of in-files for)ms 2045( *\))ms 420 2326 m (7)s 1195 2326 m (\(* a single run.)s 2045( *\))ms 420 2276 m (8)s 495 2276 m (UPB_IN_FILES =)s 995(9;)ms 1195(\(* = MAX_IN_FILES + 1.)ms 2045( *\))ms 420 2226 m (9)s 495 2226 m (MAX_MODULES =)s 995(10;)ms 1195(\(* Maximum number of modules)ms 2045( *\))ms 395 2176 m (10)s 1195 2176 m (\(* specified for a run.)s 2045( *\))ms 395 2126 m (11)s 495 2126 m (UPB_MODULES =)s 995(11;)ms 1195(\(* = MAX_MODULES + 1.)ms 2045( *\))ms 395 2076 m (12)s 495 2076 m (EMPTY = '';)s 395 2026 m (13)s 395 1976 m (14)s 495 1976 m (\(********* Simple types of the VAMP-system \(#quick\) **********\))s 395 1926 m (15)s 495 1926 m (\(*)s 795(-------- Simple types of TTY_INFO ---------)ms 2045( *\))ms 395 1876 m (16)s 495 1876 m (FILE_SPEC = VARYING [MAX_FILE_SPEC_L] OF CHAR;)s 395 1826 m (17)s 495 1826 m (FILE_NAME = VARYING [MAX_FILE_NAME_L] OF CHAR;)s 395 1776 m (18)s 495 1776 m (FILE_EXT = VARYING [MAX_FILE_EXT_L] OF CHAR;)s 395 1726 m (19)s 395 1676 m (20)s 495 1676 m (\(******** Structured types of the VAMP-system ****************\))s 395 1626 m (21)s 495 1626 m (\(*)s 695(-------- Structured types of TTY_INFO ---------)ms 2045( *\))ms 395 1576 m (22)s 495 1576 m (TTY_INFO =)s 795(RECORD)ms 395 1526 m (23)s 895 1526 m (IN_FILES:)s 1195(ARRAY [1..UPB_IN_FILES] OF FILE_SPEC;)ms 395 1476 m (24)s 895 1476 m (MODULES:)s 1195(ARRAY [1..UPB_MODULES] OF FILE_NAME;)ms 395 1426 m (25)s 895 1426 m (DFLT_EXT:)s 1195(FILE_EXT;)ms 395 1376 m (26)s 895 1376 m (INV_MODE,)s 395 1326 m (27)s 895 1326 m (GO:)s 1195(BOOLEAN;)ms 395 1276 m (29)s 795 1276 m (END \(*RECORD*\);)s 395 1226 m (30)s 495 1226 m (\(**************** Declaration of CODE_INFO *******************\))s 395 1176 m (31)s 495 1176 m (\(******** End of Structured types of the VAMP-system *********\))s 395 1126 m (32)s 395 1076 m (33)s 395 1026 m (34)s 495 1026 m (\(************* Declaration of CODE_INFO \(#def\) ***************\))s 395 976 m (35)s 495 976 m (CODE_INFO = ABSTRACT;)s 395 926 m (36)s 495 926 m (\(******************** End of declaration *********************\))s 12 FAB 295 846 m (Remarks:)s 12 FA 389 786 m (This)s 487(section)ms 639(contains)ms 816(five)ms 904(stubs)ms 1017(altogether,)ms 1239(i.e.)ms 1310(lines)ms 1415(1-12,)ms 1529(14-18,)ms 1668(20-31)ms 1795(and)ms 1877(34-36.)ms 2016(The)ms 2104(first)ms 295 726 m (two)s 384(blocks)ms 529(one)ms 616(have)ms 726(no)ms 790(internal)ms 958(slots.)ms 1077(The)ms 1169(quick)ms 1295(option)ms 1437(promotes)ms 1638(them)ms 1753(to)ms 1807(quick)ms 1932(stubs,)ms 2062(which)ms 295 666 m (means)s 435(that)ms 522(they)ms 621(are)ms 694(completed)ms 915(by)ms 978(the)ms 1051(first)ms 1144(line)ms 1232(that)ms 1319(is)ms 1365(not)ms 1442(an)ms 1501(L6.)ms 389 606 m (The)s 480(third)ms 587(stub)ms 684(\(20-31\))ms 847(illustrates)ms 1055(how)ms 1155(an)ms 1215(abstract)ms 1384(data)ms 1480(type)ms 1580(can)ms 1663(be)ms 1723(implemented.)ms 2010(The)ms 2101(stub)ms 295 546 m (is)s 341(an)ms 402(ordinary)ms 584(one)ms 670(with)ms 772(one)ms 858(slot)ms 943(- identified)ms 1177(as)ms 1232(")ms 11 FH (DECLARATIONOFCODEINFO)s 12 FA (" -)s 1893(at)ms 1943(line)ms 2031(30.)ms 2107(The)ms 295 486 m (slot)s 380(is)ms 427(by)ms 490(default)ms 642(satisfied)ms 822(with)ms 924(the)ms 998(stub)ms 1095(at)ms 1144(lines)ms 1252(34-36.)ms 1394(But)ms 1480(this)ms 1565(declaration)ms 1800(will)ms 1891(be)ms 1952(replaced)ms 2134(by)ms 295 426 m (a)s 329(new)ms 425(one)ms 510(at)ms 558(some)ms 676(time)ms 778(in)ms 829(the)ms 903(future.)ms 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms 4 2050 455 1929 li endpage %%Page: 6 7 begpage 10 FC 1182 3182 m (3.4 Example 4: An ordinary refinement step)s 10 FCB 2161 3182 m (7)s 12 FCB 295 3008 m (3.4 Example 4: An ordinary refinement step)s 10 FAIB 470 2926 m (Body of VAMP:)s 10 FA 570 2876 m (The input-files will be processed sequentially in the same order as given by the user. The inter-)s 10 FA 470 2826 m (mediate file "VAMP.TMP" is guarded by a sentinel to simplify backspacing later on and it needs an)s 10 FA 470 2776 m (additional global declaration.)s 10 FH 395 2676 m (1)s 570 2676 m (\(*********** Simple types of the VAMP-system ************\))s 395 2626 m (2)s 570 2626 m (FTYPE = FILE OF CHAR;)s 395 2576 m (3)s 570 2576 m (\(****************** End of declaration ******************\))s 470 2476 m (Now the body of VAMP expands to)s 395 2376 m (4)s 470 2376 m (\(********************** VAMP \(body\) **************************\))s 395 2326 m (5)s 470 2326 m ([INHERIT \('SYS$LIBRARY:STARLET.PEN', 'DECLAR.PEN'\)])s 395 2276 m (6)s 470 2276 m (PROGRAM)s 770(VAMP \(INPUT, OUTPUT\);)ms 395 2226 m (7)s 395 2176 m (8)s 470 2176 m (\(***************** Constants of VAMP \(#mult\) *****************\))s 395 2126 m (9)s 470 2126 m (\(***************** Types of VAMP \(#mult\) *********************\))s 370 2076 m (10)s 470 2076 m (VAR)s 370 2026 m (11)s 470 2026 m ( FILE_CNT:)s 970(1..UPB_IN_FILES;)ms 370 1976 m (12)s 470 1976 m ( CURR_IN_FILE:)s 970(TEXT;)ms 1170(\(* Currently read file.)ms 2020( *\))ms 370 1926 m (13)s 470 1926 m ( CODE_LINES:)s 970(FTYPE;)ms 1170(\(* From input extracted code.)ms 2020( *\))ms 370 1876 m (14)s 470 1876 m ( TTY_DATA:)s 970(TTY_INFO;)ms 370 1826 m (15)s 470 1826 m ( CODE_STRUCT:)s 970(CODE_INFO;)ms 370 1776 m (16)s 570 1776 m (\(************ Variables of VAMP \(#mult\) ******************\))s 370 1726 m (17)s 370 1676 m (18)s 470 1676 m ([EXTERNAL] PROCEDURE)s 1070(ASKTTY \(VAR TTY_DATA: TTY_INFO\); EXTERN;)ms 370 1626 m (19)s 470 1626 m (\(*************** Functions of VAMP \(#mult\) *******************\))s 370 1576 m (20)s 370 1526 m (21)s 470 1526 m (BEGIN)s 370 1476 m (22)s 570 1476 m (\(* Take the data, that are needed for this VAMP run from)s 2020( *\))ms 370 1426 m (23)s 570 1426 m (\(* the terminal.)s 2020( *\))ms 370 1376 m (24)s 570 1376 m (ASKTTY \(TTY_DATA\);)s 370 1326 m (25)s 570 1326 m (WITH TTY_DATA DO)s 370 1276 m (26)s 570 1276 m (IF GO THEN)s 370 1226 m (27)s 570 1226 m (BEGIN)s 370 1176 m (28)s 670 1176 m (\(********************* VAMP \(C\) **********************\))s 370 1126 m (29)s 670 1126 m (\(** Initialize CODE_STRUCT.)s 2020(**\))ms 370 1076 m (30)s 670 1076 m (\(*******************************************************\))s 370 1026 m (31)s 370 976 m (32)s 670 976 m (OPEN \(CODE_LINES, FILE_NAME :='VAMP.TMP',)s 370 926 m (33)s 770 926 m ( ORGANIZATION := RELATIVE, ACCESS_METHOD := DIRECT,)s 370 876 m (34)s 770 876 m ( DISPOSITION := DELETE\);)s 370 826 m (35)s 670 826 m (REWRITE \(CODE_LINES\);)s 370 776 m (36)s 670 776 m (FILE_CNT := 1;)s 370 726 m (37)s 670 726 m (WHILE \(IN_FILES [FILE_CNT] <> EMPTY\) DO)s 370 676 m (38)s 670 676 m (BEGIN)s 370 626 m (39)s 770 626 m (WRITELN \('Proceeding on file ',IN_FILES [FILE_CNT]\);)s 370 576 m (40)s 570 576 m ( )s 770(OPEN \(CURR_IN_FILE, FILE_NAME := IN_FILES [FILE_CNT],)ms 370 526 m (41)s 870 526 m ( HISTORY := READONLY\);)s 370 476 m (42)s 770 476 m (RESET \(CURR_IN_FILE\);)s 370 426 m (43)s 770 426 m (PUT \(CODE_LINES\);)s 1270(\(* Start file with a sentinel. *\))ms 370 376 m (44)s 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms 4 2600 430 1654 li endpage %%Page: 7 8 begpage 10 FCB 295 3182 m (8)s 10 FC 460 3182 m (Examples)s 10 FH 370 3016 m (45)s 770 3016 m (\(****************** VAMP \(A\) *********************\))s 370 2966 m (46)s 770 2966 m (\(** Build CODE_STRUCT and fill CODE_LINES by a)s 2020(**\))ms 370 2916 m (47)s 770 2916 m (\(** scan of CURR_IN_FILE, using the information)s 2020(**\))ms 370 2866 m (48)s 770 2866 m (\(** of MODULES, DFLT_EXT and INV_MODE.)s 2020(**\))ms 370 2816 m (49)s 770 2816 m (\(***************************************************\))s 370 2766 m (50)s 370 2716 m (51)s 770 2716 m (CLOSE \(CURR_IN_FILE\);)s 370 2666 m (52)s 770 2666 m (FILE_CNT := FILE_CNT + 1;)s 370 2616 m (53)s 670 2616 m (END \(*WHILE*\);)s 370 2566 m (54)s 370 2516 m (55)s 670 2516 m (\(******************** VAMP \(B\) ***********************\))s 370 2466 m (56)s 670 2466 m (\(** Generate the files as specified by CODE_STRUCT)s 2020(**\))ms 370 2416 m (57)s 670 2416 m (\(** from the data contained by CODE_LINES.)s 2020(**\))ms 370 2366 m (58)s 670 2366 m (\(*******************************************************\))s 370 2316 m (59)s 370 2266 m (60)s 670 2266 m (\(* Close and Delete scratch-file CODE_LINES.)s 2020( *\))ms 370 2216 m (61)s 670 2216 m (CLOSE \(CODE_LINES, DELETE\);)s 370 2166 m (62)s 570 2166 m (END)s 370 2116 m (63)s 570 2116 m (ELSE)s 370 2066 m (64)s 670 2066 m (WRITELN \('!!! You specified an empty run - try again !!!'\);)s 370 2016 m (65)s 470 2016 m (END \(*VAMP*\).)s 370 1966 m (66)s 470 1966 m (\(******************* End of VAMP \(body\) **********************\))s 370 1916 m (67)s 370 1866 m (68)s 370 1816 m (69)s 470 1816 m (\(************ Constants of VAMP \(#leader, #quick\) ************\))s 370 1766 m (70)s 470 1766 m (CONST)s 370 1716 m (71)s 470 1716 m (\(************ Types of VAMP \(#leader, #quick\) ****************\))s 370 1666 m (72)s 470 1666 m (TYPE)s 12 FAB 295 1586 m (Remarks:)s 12 FA 389 1526 m (This)s 488(refinement)ms 714(contains)ms 891(four)ms 985(stubs)ms 1098(\(lines)ms 1219(1-3,)ms 1308(4-66,)ms 1422(69-70)ms 1549(and)ms 1632(71-72\).)ms 1787(The)ms 1875(second)ms 2024(stub)ms 2118(has)ms 295 1466 m (seven)s 417(slots)ms 518(\(lines)ms 638(8,)ms 685(9,)ms 732(16,)ms 803(19,)ms 875(28-30,)ms 1013(45-49)ms 1139(and)ms 1220(55-58\).)ms 1375(Lines)ms 1495(22,)ms 1567(23)ms 1626(and)ms 1707(60)ms 1766(are)ms 1837(simple)ms 1979(code-lines)ms 295 1406 m (from)s 404(CLiPs)ms 542(point)ms 657(of)ms 711(view.)ms 389 1346 m (The)s 481(leader)ms 617(option)ms 760(of)ms 816(the)ms 891(last)ms 975(two)ms 1065(stubs)ms 1182(defines)ms 1341(the)ms 1416(code)ms 1525(that)ms 1615(will)ms 1707(be)ms 1768(inserted)ms 1941(in)ms 1995(front)ms 2106(of)ms 2162(a)ms 295 1286 m (stub)s 390(that)ms 478(matches)ms 654(the)ms 728(slot.)ms 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms 4 1400 430 2344 li endpage %%Page: 8 9 begpage 10 FC 1312 3182 m (3.5 Example 5: A subroutine module)s 10 FCB 2161 3182 m (9)s 12 FCB 295 3008 m (3.5 Example 5: A subroutine module)s 10 FH 395 2926 m (1)s 470 2926 m (\(****** #File "ASKTTY.PAS" ******\))s 395 2876 m (2)s 470 2876 m ([INHERIT \('DECLAR.PEN'\)] MODULE ASKTTY \(INPUT, OUTPUT\);)s 395 2826 m (3)s 395 2776 m (4)s 470 2776 m (\(*********** External procedures of ASKTTY \(#mult\) ************\))s 395 2726 m (5)s 395 2676 m (6)s 470 2676 m (\(***************************************************************\))s 395 2626 m (7)s 470 2626 m (\(* Routine:)s 870(ASKTTY)ms 1070(-)ms 1170(ASK information from TTY.)ms 2020( *\))ms 395 2576 m (8)s 470 2576 m (\(* Purpose:)s 870(To obtain from the TTY the information which)ms 2020( *\))ms 395 2526 m (9)s 470 2526 m (\(*)s 870(is needed to perform a VAMP run.)ms 2020( *\))ms 370 2476 m (10)s 470 2476 m (\(* Interface:)s 870(TTY_DATA -)ms 1170(Data from TTY to VAMP.)ms 2020( *\))ms 370 2426 m (11)s 470 2426 m (\(*)s 870(TTY -)ms 1170(Source of all knowledge.)ms 2020( *\))ms 370 2376 m (12)s 470 2376 m (\(* Author/Date:)s 870(VAMP project management, September 29, 1983.)ms 2020( *\))ms 370 2326 m (13)s 470 2326 m (\(***************************************************************\))s 370 2276 m (14)s 470 2276 m ([GLOBAL] PROCEDURE)s 970(ASKTTY \(VAR TTY_DATA: TTY_INFO\);)ms 370 2226 m (15)s 370 2176 m (16)s 470 2176 m (\(************* Constants of ASKTTY \(#multiple\) ***************\))s 370 2126 m (17)s 470 2126 m (\(************* Types of ASKTTY \(#multiple\) *******************\))s 370 2076 m (18)s 470 2076 m (\(************* Variables of ASKTTY \(#multiple\) ***************\))s 370 2026 m (19)s 470 2026 m (\(************* Procedures of ASKTTY \(#multiple\) **************\))s 370 1976 m (20)s 370 1926 m (21)s 470 1926 m (BEGIN)s 370 1876 m (22)s 570 1876 m (WITH TTY_DATA DO)s 370 1826 m (23)s 570 1826 m (BEGIN)s 370 1776 m (24)s 670 1776 m (\(******************** ASKTTY \(1\) *********************\))s 370 1726 m (25)s 670 1726 m (\(** Get IN_FILES from TTY.)s 2020(**\))ms 370 1676 m (26)s 670 1676 m (\(*******************************************************\))s 370 1626 m (27)s 370 1576 m (28)s 670 1576 m (GO := NOT \(IN_FILES[1] = EMPTY\);)s 370 1526 m (29)s 670 1526 m (IF GO THEN)s 370 1476 m (30)s 670 1476 m (BEGIN)s 370 1426 m (31)s 770 1426 m (\(**************** ASKTTY \(2\) *********************\))s 370 1376 m (32)s 770 1376 m (\(** Ask which modules must be generated by VAMP.)s 2020(**\))ms 370 1326 m (33)s 770 1326 m (\(** Set INV_MODE, MODULES and GO accordingly.)s 2020(**\))ms 370 1276 m (34)s 770 1276 m (\(***************************************************\))s 370 1226 m (35)s 670 1226 m (END \(*IF*\);)s 370 1176 m (36)s 670 1176 m (IF GO THEN)s 370 1126 m (37)s 670 1126 m (BEGIN)s 370 1076 m (38)s 770 1076 m (\(**************** ASKTTY \(3\) *********************\))s 370 1026 m (39)s 770 1026 m (\(** Ask DFLT_EXT from the terminal.)s 2020(**\))ms 370 976 m (40)s 770 976 m (\(***************************************************\))s 370 926 m (41)s 670 926 m (END \(*IF*\);)s 370 876 m (42)s 570 876 m (END \(*WITH*\);)s 370 826 m (43)s 470 826 m (END \(*ASKTTY*\);)s 370 776 m (44)s 370 726 m (45)s 470 726 m (END \(*MODULE*\).)s 370 676 m (46)s 470 676 m (\(********************** End of MODULE ************************\))s 370 626 m (47)s 370 576 m (48)s 370 526 m (49)s 470 526 m (\(********** Constants of ASKTTY \(#leader, #quick\) ************\))s 370 476 m (50)s 470 476 m (CONST)s 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms 4 2500 430 1704 li endpage %%Page: 9 10 begpage 10 FCB 295 3182 m (10)s 10 FC 460 3182 m (Examples)s 10 FH 370 3016 m (51)s 470 3016 m (\(********** Types of ASKTTY \(#leader, #quick\) ****************\))s 370 2966 m (52)s 470 2966 m (TYPE)s 370 2916 m (53)s 470 2916 m (\(********** Variables of ASKTTY \(#leader, #quick\) ************\))s 370 2866 m (54)s 470 2866 m (VAR)s 12 FAB 295 2786 m (Remarks:)s 12 FA 389 2726 m (A)s 437(clear)ms 546(cut)ms 620(example)ms 802(of)ms 856(a)ms 890(subroutine)ms 1114(definition)ms 1320(in)ms 1372(VAX/VMS)ms 1614(Pascal)ms 1755(that)ms 1842(is)ms 1888(to)ms 1939(be)ms 1998(compiled)ms 295 2666 m (independently.)s 606(The)ms 699(refinement)ms 931(contains)ms 1113(stubs)ms 1232(at)ms 1283(lines)ms 1393(1-46,)ms 1513(49-50,)ms 1657(51-52)ms 1789(and)ms 1877(53-54.)ms 2022(The)ms 2115(last)ms 295 2606 m (three)s 407(stubs)ms 522(are)ms 596(all)ms 658(quick)ms 782(stubs.)ms 389 2546 m (The)s 479(first)ms 572(stub)ms 668(is)ms 714(a)ms 749(main)ms 861(stub.)ms 970(It)ms 1013(carries)ms 1159(no)ms 1221(identification)ms 1501(and)ms 1585(only)ms 1687(specifies)ms 1874(the)ms 1948(name)ms 2069(of)ms 2123(the)ms 295 2486 m (file)s 374(that)ms 461(will)ms 551(finally)ms 694(hold)ms 795(the)ms 869(module.)ms 1044(Had)ms 1140(the)ms 1213(file-option)ms 1437(be)ms 1496(omitted,)ms 1674(this)ms 1758(would)ms 1896(have)ms 2003(meant)ms 2137(an)ms 295 2426 m (error.)s 389 2366 m (Lines)s 514(4,)ms 567(16,)ms 644(17,)ms 721(18)ms 786(and)ms 873(19)ms 937(are)ms 1013(single-line)ms 1239(slot)ms 1326(for)ms 1399(future)ms 1533(declarations.)ms 1802(The)ms 1894(leader)ms 2031(stubs)ms 2148(at)ms 295 2306 m (the)s 368(end)ms 453(secure)ms 593(syntactic)ms 783(details.)ms 939(Lines)ms 1062(24-26,)ms 1204(31-34)ms 1333(and)ms 1418(38-40)ms 1547(are)ms 1621(ordinary)ms 1803(slots)ms 1907(again.)ms 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms 4 200 430 2944 li endpage %%Page: 10 11 begpage 10 FC 1562 3182 m (4 Semantics of options)s 10 FCB 2138 3182 m (11)s 14 FCB 295 3001 m (4 Semantics of options)s 12 FAB 295 2906 m (#Comment)s 12 FA 543(\(stub,)ms 668(slot\))ms 389 2846 m (The)s 478(comment)ms 676(option)ms 816(transforms)ms 1042(the)ms 1115(special)ms 1266(CLIP-characters)ms 1606(to)ms 1657(a)ms 1691(predefined)ms 1917(format)ms 2062(which)ms 389 2786 m (suits)s 501(a)ms 544(particular)ms 756(programming)ms 1049(language.)ms 1262(The)ms 1361(option)ms 1509(has)ms 1596(an)ms 1664(obligatory)ms 1890(argument,)ms 2112(e.g.)ms 12 FAB 389 2726 m (PASCAL)s 12 FA (,)s 12 FAB 610(FORTRAN)ms 12 FA (,)s 12 FAB 878(C)ms 12 FA (,)s 12 FAB 936(ADA)ms 12 FA 1053(etc.)ms 1133(or)ms 12 FAB 1183(ON)ms 12 FA (/)s 12 FAB (OFF)s 12 FA (.)s 1394(The)ms 1480(ON/OFF)ms 1667(argument)ms 1865(specifies)ms 2048(wether)ms 389 2666 m (or)s 443(not)ms 520(the)ms 594(slot-)ms 696(or)ms 750(stub-segment)ms 1030(is)ms 1076(to)ms 1128(be)ms 1188(included)ms 1373(upon)ms 1486(substitution.)ms 1745(Comment)ms 1955(options)ms 2115(can)ms 389 2606 m (be)s 448(nested)ms 588(and)ms 673(the)ms 747(most)ms 857(local)ms 966(version)ms 1126(controls)ms 1300(the)ms 1373(operation.)ms 12 FAB 295 2516 m (#Default)s 12 FA 490(\(stub\))ms 389 2456 m (A)s 432(default)ms 578(stub)ms 668(is)ms 708(prefixed)ms 882(to)ms 928(exclusively)ms 1163(substituted)ms 1387(if)ms 1424(no)ms 1481(other)ms 1591(stub)ms 1681(is)ms 1722(found)ms 1845(for)ms 1911(that)ms 1993(particular)ms 389 2396 m (slot.)s 12 FAB 295 2306 m (#Indent)s 12 FA 474(\(stub,)ms 599(slot\))ms 389 2246 m (The)s 481(indent)ms 621(option)ms 763(controls)ms 939(the)ms 1015(indentation)ms 1255(of)ms 1311(the)ms 1387(generated)ms 1596(listing.)ms 1749(Indent)ms 1891(options)ms 2053(can)ms 2137(be)ms 389 2186 m (nested)s 527(and)ms 610(the)ms 682(most)ms 790(local)ms 898(option)ms 1036(overrules)ms 1233(the)ms 1305(more)ms 1419(global)ms 1554(ones.)ms 1669(Indent)ms 1808(has)ms 1885(as)ms 1938(one)ms 2021(optional)ms 389 2126 m (argument,)s 12 FAB 602(ON)ms 12 FA 690(or)ms 12 FAB 744(OFF)ms 12 FA (.)s 12 FAB 295 2036 m (#File)s 12 FA 413(\(stub\))ms 389 1976 m (The)s 476(file)ms 553(option)ms 691(identifies)ms 887(the)ms 959(stub)ms 1052(as)ms 1104(a)ms 1136(main)ms 1246(stub)ms 1340(\(viz.)ms 1440(the)ms 1511(root)ms 1602(of)ms 1654(a)ms 1686(new)ms 1780(module\).)ms 1969(The)ms 2057(option)ms 389 1916 m (carries)s 535(a)ms 570(string)ms 697(in)ms 749(quotes)ms 893(as)ms 948(argument.)ms 1162(This)ms 1264(string)ms 1391(specifies)ms 1579(the)ms 1653(name)ms 1775(of)ms 1829(the)ms 1904(file)ms 1983(to)ms 2035(be)ms 2096(gen-)ms 389 1856 m (erated.)s 12 FAB 295 1766 m (#Leader)s 12 FA 485(\(stub\))ms 389 1706 m (The)s 477(leader)ms 611(stub)ms 705(is)ms 750(usually)ms 905(combined)ms 1114(with)ms 1214(multiple)ms 1391(slots.)ms 1507(It)ms 1548(modifies)ms 1734(the)ms 1807(environment)ms 2071(of)ms 2123(the)ms 389 1646 m (stubs)s 506(that)ms 596(will)ms 688(be)ms 750(substituted)ms 982(by)ms 1046(inserting)ms 1236(the)ms 1312(leader)ms 1449(stub)ms 1547(in)ms 1601(front)ms 1713(of)ms 1769(the)ms 1845(first)ms 1940(encountered)ms 389 1586 m (normal)s 543(stub.)ms 12 FAB 295 1496 m (#Multiple)s 12 FA 515(\(slot\))ms 389 1436 m (A)s 437(multiple)ms 616(slot)ms 701(accepts)ms 861(the)ms 934(substitution)ms 1180(of)ms 1234(any)ms 1319(number)ms 1484(of)ms 1538(stubs.)ms 12 FAB 295 1346 m (#Optional)s 12 FA 521(\(slot\))ms 389 1286 m (An)s 462(optional)ms 639(slot)ms 723(accepts)ms 883(the)ms 957(substitution)ms 1202(of)ms 1257(0)ms 1294(or)ms 1348(1)ms 1386(stubs)ms 1501(only.)ms 12 FAB 295 1196 m (#Overrule)s 12 FA 526(\(stub\))ms 389 1136 m (The)s 478(overrule)ms 657(stub)ms 752(replaces)ms 928(the)ms 1001(stub)ms 1096(already)ms 1255(substituted)ms 1484(in)ms 1535(a)ms 1569(particular)ms 1772(position.)ms 1958(It)ms 2000(is)ms 2046(mainly)ms 389 1076 m (meant)s 523(for)ms 594(testing)ms 740(purposes.)ms 12 FAB 295 986 m (#Quick)s 12 FA 463(\(stub\))ms 389 926 m (A)s 440(quick)ms 567(stub)ms 666(is)ms 715(a)ms 753(stub)ms 851(without)ms 1020(internal)ms 1188(structure)ms 1379(\(viz.)ms 1485(slots\).)ms 1621(Following)ms 1842(the)ms 1919(stub)ms 2018(segment)ms 389 866 m (only)s 490(L6-type)ms 661(lines)ms 768(are)ms 841(allowed.)ms 1025(Any)ms 1123(other)ms 1238(type)ms 1337(of)ms 1391(line)ms 1479(will)ms 1569(end)ms 1654(the)ms 1727(stub.)ms 12 FAB 295 776 m (#Separator)s 12 FA 546(\(stub\))ms 389 716 m (A)s 437(separator)ms 633(stub)ms 729(is)ms 775(to)ms 826(be)ms 886(inserted)ms 1056(between)ms 1236(two)ms 1323(consecutive)ms 1572(stubs)ms 1687(of)ms 1741(the)ms 1815(same)ms 1930(slot.)ms 12 FAB 295 626 m (#Trailer)s 12 FA 485(\(stub\))ms 389 566 m (The)s 476(trailer)ms 606(stub)ms 699(is)ms 742(the)ms 814(counterpart)ms 1051(of)ms 1103(the)ms 1174(default)ms 1323(stub.)ms 1429(It)ms 1469(modifies)ms 1654(the)ms 1726(environment)ms 1988(by)ms 2048(adding)ms 389 506 m (the)s 462(trailer)ms 594(stub)ms 690(after)ms 794(the)ms 868(last)ms 950(encountered)ms 1206(normal)ms 1361(stub.)ms 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms endpage %%Page: 11 12 begpage 10 FCB 295 3182 m (12)s 10 FC 460 3182 m (Using CLiP)s 14 FCB 295 3001 m (5 Using CLiP)s 12 FA 295 2906 m (The)s 399(complete)ms 610(CLiP)ms 742(system)ms 908(for)ms 994(DOS)ms 1121(and)ms 1220(VMS)ms 1356(consists)ms 1541(of)ms 1610(two)ms 1712(independent)ms 1983(programs,)ms 295 2846 m (CLIP_1.EXE)s 584(and)ms 678(CLIP_2.EXE.)ms 980(The)ms 1079(Unix)ms 1201(version)ms 1369(has)ms 1457(only)ms 1568(one)ms 1662(program,)ms 1865(CLIP,)ms 2007(which)ms 2151(is)ms 295 2786 m (functionally)s 549(identical)ms 734(to)ms 785(CLIP_2.)ms 969(CLIP_1)ms 1140(prepares)ms 1321(a)ms 1356(file,)ms 1448(CLIP.INI,)ms 1663(telling)ms 1804(CLIP_2)ms 1975(\(the)ms 2065(actual)ms 295 2726 m (module)s 465(extractor\))ms 679(literally)ms 855(everything)ms 1089(it)ms 1137(has)ms 1223(to)ms 1282(know)ms 1414(in)ms 1473(order)ms 1598(to)ms 1657(perform)ms 1838(a)ms 1881(run)ms 1967(\(a)ms 2026(detailed)ms 295 2666 m (description)s 534(of)ms 592(the)ms 670(structure)ms 862(of)ms 921(an)ms 985(INI-file)ms 1155(is)ms 1205(in)ms 1261(the)ms 1339(next)ms 1442(section\).)ms 1630(Thus)ms 1747(CLIP.INI)ms 1954(specifies)ms 2146(to)ms 295 2606 m (CLIP_2)s 465(\(CLIP\):)ms 389 2546 m (-)s 460(the)ms 534(files)ms 632(it)ms 673(has)ms 752(to)ms 803(read)ms 902(\(i.e.)ms 992(the)ms 1066(source)ms 1209(files\),)ms 389 2486 m (-)s 460(the)ms 534(modules)ms 716(it)ms 756(should)ms 902(extract)ms 1050(\(i.e.)ms 1141(target)ms 1267(modules\),)ms 389 2426 m (-)s 460(the)ms 534(name)ms 655(of)ms 709(the)ms 782(report)ms 914(file,)ms 389 2366 m (-)s 460(the)ms 532(syntax)ms 674(of)ms 726(the)ms 798(CLiP-lines)ms 1026(\(i.e.)ms 1114(the)ms 1186(style)ms 1292(of)ms 1344(the)ms 1416(lines)ms 1522(that)ms 1607(trigger)ms 1752(the)ms 1824(module)ms 1984(extraction)ms 460 2306 m (process\).)s 295 2246 m (CLIP_1)s 465(allows)ms 607(a)ms 641(very)ms 742(detailed)ms 912(specification)ms 1179(of)ms 1232(the)ms 1305(extraction)ms 1517(process,)ms 1691(much)ms 1814(more)ms 1928(detailed)ms 2098(than)ms 295 2186 m (you)s 384(will)ms 477(need)ms 586(in)ms 640(general.)ms 815(For)ms 899(this)ms 986(reason)ms 1131(the)ms 1207(CLiP)ms 1328(system)ms 1482(comes)ms 1624(with)ms 1728(a)ms 1765(couple)ms 1913(of)ms 1970(routines)ms 2146(to)ms 295 2126 m (shortcut)s 465(CLIP_1)ms 632(and)ms 713(for)ms 781(Unix)ms 890(users)ms 1002(these)ms 1113(routines)ms 1284(are)ms 1354(the)ms 1424(primary)ms 1591(tool)ms 1678(to)ms 1726(construct)ms 1919(their)ms 2019(INI-file.)ms 295 2066 m (For)s 378(a)ms 414(description)ms 650(of)ms 706(these)ms 823(routines)ms 998(we)ms 1070(refer)ms 1179(to)ms 1232(section)ms 1387("Using)ms 1541(CLiP")ms 1681(of)ms 1737(the)ms 1812(READ_ME)ms 2062(file)ms 2143(of)ms 295 2006 m (this)s 379(release.)ms 389 1946 m (When)s 520(using)ms 641(CLiP)ms 759(it)ms 800(is)ms 846(recommended)ms 1141(to)ms 1193(introduce)ms 1394(at)ms 1443(least)ms 1547(the)ms 1620(following)ms 1827(directories:)ms 389 1886 m (-)s 460(A)ms 514(directory)ms 711(for)ms 787(the)ms 865(source)ms 1013(files)ms 1117(CLiP)ms 1240(will)ms 1335(use.)ms 1431(This)ms 1537(directory)ms 1735(also)ms 1833(holds)ms 1959(the)ms 2037(various)ms 460 1826 m (INI-file)s 625(you)ms 713(maintain)ms 900(to)ms 952(conduct)ms 1123(the)ms 1196(extraction)ms 1409(process.)ms 389 1766 m (-)s 460(A)ms 509(directory)ms 702(to)ms 753(contain)ms 913(the)ms 986(extracted)ms 1182(modules.)ms 389 1706 m (-)s 460(A)ms 509(directory)ms 702(to)ms 753(contain)ms 913(the)ms 986(results)ms 1130(of)ms 1184(the)ms 1257(compilation)ms 1509(and)ms 1593(linking)ms 1748(of)ms 1802(the)ms 1875(modules.)ms 389 1646 m (-)s 460(In)ms 521(case)ms 627(CLiP)ms 753(is)ms 806(used)ms 917(in)ms 975(combination)ms 1245(with)ms 1354(a)ms 1396(word-processor,)ms 1739(it)ms 1786(is)ms 1839(wise)ms 1951(to)ms 2009(keep)ms 2123(the)ms 460 1586 m (word-processor)s 784(files)ms 882(again)ms 1003(in)ms 1054(a)ms 1089(separate)ms 1265(directory.)ms 1471(In)ms 1525(this)ms 1610(case)ms 1708(the)ms 1782(source)ms 1925(file)ms 2004(directory)ms 460 1526 m (should)s 606(be)ms 666(fed)ms 742(with)ms 843(ASCII)ms 987(exports)ms 1146(from)ms 1256(word-processor)ms 1579(files.)ms 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms endpage %%Page: 12 13 begpage 10 FC 1467 3182 m (6 The structure of an INI-file)s 10 FCB 2138 3182 m (13)s 14 FCB 295 3001 m (6 The structure of an INI-file)s 12 FA 295 2906 m (This)s 402(section)ms 562(explains)ms 748(the)ms 828(structure)ms 1021(of)ms 1082(an)ms 1148(INI-file)ms 1319(by)ms 1388(means)ms 1534(of)ms 1595(an)ms 1660(example)ms 1849(file.)ms 1946(You)ms 2051(should)ms 295 2846 m (understand)s 528(this)ms 615(structure)ms 804(thoroughly)ms 1038(before)ms 1179(your)ms 1285(try)ms 1355(to)ms 1408(edit)ms 1497(INI-files)ms 1684(yourself)ms 1862(directly)ms 2029(through)ms 295 2786 m (an)s 354(editor)ms 483([Ammers 1993].)ms 389 2726 m (The)s 481(example)ms 665(is)ms 714(an)ms 776(INI-file)ms 943(for)ms 1017(MS-DOS.)ms 1233(The)ms 1326(only)ms 1429(difference)ms 1647(with)ms 1751(other)ms 1869(platforms)ms 2075(is)ms 2123(the)ms 295 2666 m (specification)s 558(of)ms 607(directories.)ms 838(The)ms 923(numbers)ms 1103(at)ms 1147(the)ms 1215(beginning)ms 1423(of)ms 1472(every)ms 1591(line)ms 1673(are)ms 1742(added)ms 1869(for)ms 1935(convenience)ms 295 2606 m (of)s 349(reference.)ms 560(They)ms 675(are)ms 748(not)ms 825(part)ms 915(of)ms 969(the)ms 1043(file)ms 1122(itself.)ms 10 FH 470 2495 m (<================= Example of an INI-file ====================>)s 395 2453 m (1)s 470 2453 m (This file contains data that is needed to run CLiP)s 395 2411 m (2)s 470 2411 m (And is generated by CLiP_MENU)s 395 2370 m (3)s 470 2370 m (Modifying this file at own risk.)s 395 2328 m (4)s 470 2328 m (Using CLiP_MENU is definitely recommended.)s 395 2286 m (5)s 395 2245 m (6)s 470 2245 m (INTERACTIVE_MODE Mode \(INTERACTIVE/DEBUG/HELPFUL/AUTO\))s 395 2203 m (7)s 470 2203 m (NO Interactive fault correction \(YES/NO\))s 395 2161 m (8)s 470 2161 m (BOTH Error message destination \(TERMINAL/......\))s 395 2120 m (9)s 470 2120 m (\(* Left comment string)s 370 2078 m (10)s 470 2078 m (*\) Right comment string)s 370 2036 m (11)s 470 2036 m (* Command character)s 370 1995 m (12)s 470 1995 m (ENDOF END string)s 370 1953 m (13)s 470 1953 m (# Option marker)s 370 1911 m (14)s 470 1911 m (EXTRACTED The specified modules are \(OMITTED/EX-)s 370 1870 m (15)s 470 1870 m (TRACTED\))s 370 1828 m (16)s 470 1828 m (------------ REPORT FILE -----------)s 370 1786 m (17)s 470 1786 m (CLIP.RPT)s 370 1745 m (18)s 470 1745 m (------------ INPUT FILES -----------)s 370 1703 m (19)s 470 1703 m (f:\\LPT\\MAN\\EX01_A.ASC)s 370 1661 m (20)s 470 1661 m (f:\\LPT\\MAN\\EX01_B.ASC)s 370 1620 m (21)s 470 1620 m (------------ MODULES ---------------)s 370 1578 m (22)s 470 1578 m (F:\\TEST\\)s 370 1536 m (23)s 470 1536 m (PALINDRO.PAS)s 370 1495 m (24)s 470 1495 m (F:\\TEST\\)s 370 1453 m (25)s 470 1453 m (TESTDATA.IN)s 370 1411 m (26)s 470 1411 m (------------ MODULE DIRECTORY ------)s 370 1370 m (27)s 470 1370 m (f:\\LPT\\)s 470 1328 m (------------ END OF INI FILE -------)s 470 1286 m (<================= End of Example INI-file ===================>)s 12 FA 295 1178 m (Lines 1-5:)s 602(Descriptive)ms 845(lines)ms 952(that)ms 1039(are)ms 1113(flushed)ms 1272(upon)ms 1385(reading.)ms 295 1088 m (Lines 6-14:)s 602(Information)ms 853(behind)ms 1002(position)ms 1175(24)ms 1238(is)ms 1284(not)ms 1360(interpreted.)ms 295 998 m (Lines 6-7:)s 602(These)ms 734(lines)ms 841(refer)ms 947(to)ms 999(unimplemented)ms 1322(options.)ms 1495(They)ms 1610(should)ms 1756(not)ms 1832(be)ms 1892(changed.)ms 295 908 m (Lines 8:)s 602(Identifies)ms 804(the)ms 877(output)ms 1018(device)ms 1161(for)ms 1232(messages)ms 1433(and)ms 1518(reports.)ms 1682(The)ms 1773(first)ms 1866(word)ms 1981(of)ms 2036(the)ms 2110(line)ms 602 848 m (must)s 712(be)ms 773(on)ms 837(of)ms 892(the)ms 967(following)ms 1175(keywords)ms 1383(TERMINAL,)ms 1667(REPORTFILE)ms 1978(\(or)ms 2050(FILE\),)ms 602 788 m (BOTH)s 750(or)ms 804(NONE)ms 956(and)ms 1040(we)ms 1111(assume)ms 1271(the)ms 1344(meaning)ms 1529(self)ms 1614(evident.)ms 295 698 m (Lines 9-13:)s 602(These)ms 735(lines)ms 844(together)ms 1022(define)ms 1161(the)ms 1236(syntax)ms 1381(of)ms 1437(the)ms 1512(lines)ms 1621(CLiP)ms 1741(will)ms 1833(recognize.)ms 2054(For)ms 2137(an)ms 602 638 m (explanation)s 847(of)ms 901(the)ms 975(CLiP)ms 1093(syntax,)ms 1249(refer)ms 1356(to)ms 1407([Ammers)ms 1608(1993].)ms 295 548 m (Lines 9:)s 602(At)ms 659(most)ms 763(6)ms 795(characters)ms 1004(to)ms 1050(specify)ms 1201(the)ms 1269("left)ms 1363(comment)ms 1556(string")ms 1697(i.e.)ms 1765(the)ms 1833(opening)ms 2001(sequence)ms 602 488 m (of)s 650(a)ms 680(comment)ms 873(string)ms 994(of)ms 1043(the)ms 1111(programming)ms 1390(language)ms 1578(you)ms 1660(want)ms 1765(to)ms 1811(use.)ms 1897(The)ms 1982(characters)ms 602 428 m (cannot)s 747(be)ms 807(letters)ms 942(\(A-Z,)ms 1067(a-z\),)ms 1169(digits)ms 1293(\(0-9\))ms 1405(or)ms 1460(a)ms 1494(dot)ms 1571(\(.\).)ms 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms 4 1250 430 1894 li endpage %%Page: 13 14 begpage 10 FCB 295 3182 m (14)s 10 FC 460 3182 m (The structure of an INI-file)s 12 FA 295 3011 m (Lines 10:)s 602(At)ms 674(most)ms 793(6)ms 840(characters)ms 1064(to)ms 1125(specify)ms 1291(the)ms 1374("right)ms 1510(comment)ms 1718(string")ms 1874(i.e.)ms 1957(the)ms 2040(closing)ms 602 2951 m (sequence)s 801(of)ms 858(a)ms 896(comment)ms 1098(string)ms 1228(of)ms 1285(the)ms 1362(programming)ms 1650(language)ms 1847(you)ms 1938(want)ms 2051(to)ms 2105(use.)ms 602 2891 m (The)s 692(characters)ms 907(cannot)ms 1053(be)ms 1112(letters)ms 1247(\(A-Z,)ms 1372(a-z\),)ms 1475(digits)ms 1598(\(0-9\))ms 1711(or)ms 1765(a)ms 1800(dot)ms 1876(\(.\).)ms 295 2801 m (Lines 11:)s 602(The)ms 694(character)ms 892(that)ms 982(is)ms 1030(postfixed)ms 1231(to)ms 1284(a)ms 1321(left)ms 1402(comment)ms 1603(string)ms 1732(and)ms 1818(prefixed)ms 2000(to)ms 2053(a)ms 2090(right)ms 602 2741 m (comment)s 805(string)ms 936(in)ms 992(order)ms 1115(to)ms 1171(identify)ms 1344(it)ms 1389(as)ms 1448(a)ms 1487(special)ms 1643(comment)ms 1847(that)ms 1939(CLiP)ms 2062(has)ms 2146(to)ms 602 2681 m (process,)s 773(a)ms 804(so)ms 857(called)ms 985(CLiP-line.)ms 1203(The)ms 1290(character)ms 1482(cannot)ms 1624(be)ms 1680(a)ms 1711(letter)ms 1822(\(A-Z,)ms 1943(a-z\),)ms 2042(a)ms 2073(digits)ms 602 2621 m (\(0-9\))s 714(or)ms 768(a)ms 803(dot)ms 879(\(.\).)ms 295 2531 m (Lines 12:)s 602(The)ms 693(leading)ms 854(characters)ms 1071(that)ms 1160(identify)ms 1329(a)ms 1365(particular)ms 1570(CLiP-line)ms 1781(as)ms 1836(the)ms 1911(end)ms 1997(of)ms 2053(a)ms 2089(stub,)ms 602 2471 m (i.e.)s 675(a)ms 710(particular)ms 914(section)ms 1068(that)ms 1156(can)ms 1237(be)ms 1297(substituted)ms 1526(elsewhere.)ms 295 2381 m (Lines 13:)s 602(The)ms 692(character)ms 888(that)ms 975(identifies)ms 1174(the)ms 1248(options.)ms 295 2291 m (Line 14:)s 602(Relates)ms 758(to)ms 807(the)ms 878(modules)ms 1057(in)ms 1105(the)ms 1176(module)ms 1335(section)ms 1487(below.)ms 1631(The)ms 1718(specified)ms 1908(modules)ms 2087(must)ms 602 2231 m (either)s 723(be)ms 777(extracted)ms 967(or)ms 1016(omitted)ms 1176(and)ms 1256(the)ms 1324(first)ms 1412(word)ms 1522(of)ms 1571(this)ms 1650(line)ms 1732(can)ms 1809(only)ms 1905(be)ms 1960(OMITTED)ms 602 2171 m (or)s 656(EXTRACTED.)ms 295 2081 m (Line 15:)s 602(Starts)ms 729(the)ms 804(section)ms 959(defining)ms 1139(the)ms 1214(file)ms 1294(that)ms 1382(mirrors)ms 1543(the)ms 1618(extraction)ms 1831(process.)ms 2007(This)ms 2110(line)ms 602 2021 m (should)s 747(be)ms 807(copied)ms 953(literally.)ms 295 1931 m (Line 16:)s 602(Path)ms 703(and)ms 788(file)ms 867(specification)ms 1135(of)ms 1189(the)ms 1263(report)ms 1394(file.)ms 295 1841 m (Line 17:)s 602(Starts)ms 726(the)ms 799(section)ms 951(defining)ms 1129(the)ms 1201(input)ms 1315(files)ms 1412(for)ms 1481(the)ms 1553(extraction)ms 1764(process,)ms 1938(the)ms 2010(so)ms 2065(called)ms 602 1781 m (source)s 745(files.)ms 856(This)ms 957(line)ms 1045(should)ms 1190(be)ms 1250(copied)ms 1396(literally.)ms 295 1691 m (Line 18-19:)s 602(Every)ms 736(line)ms 825(specifies)ms 1014(a)ms 1051(path)ms 1151(and)ms 1238(source)ms 1382(file.)ms 1476(There)ms 1607(may)ms 1707(be)ms 1769(up)ms 1833(to)ms 1886(64)ms 1950(lines)ms 2059(in)ms 2112(this)ms 602 1631 m (section.)s 295 1541 m (Line 20:)s 602(Starts)ms 727(the)ms 799(section)ms 952(defining)ms 1130(the)ms 1203(modules)ms 1384(that)ms 1470(are)ms 1542(considered)ms 1770(during)ms 1912(the)ms 1985(extraction)ms 602 1481 m (process.)s 776(Whether)ms 959(the)ms 1032(modules)ms 1213(are)ms 1286(extracted)ms 1480(or)ms 1534(omitted)ms 1698(depends)ms 1873(on)ms 1935(line)ms 2022(14.)ms 2096(This)ms 602 1421 m (line)s 689(should)ms 835(be)ms 895(copied)ms 1040(literally.)ms 295 1331 m (Line 21-24:)s 602(Every)ms 735(line)ms 824(pair)ms 915(specifies)ms 1104(a)ms 1139(path)ms 1239(and)ms 1325(a)ms 1361(module)ms 1524(file.)ms 1617(There)ms 1747(may)ms 1847(be)ms 1908(up)ms 1971(to)ms 2024(64)ms 2087(pairs)ms 602 1271 m (\(128)s 706(lines\))ms 829(in)ms 881(this)ms 965(section.)ms 295 1181 m (Line 25:)s 602(Starts)ms 728(the)ms 801(section)ms 955(to)ms 1007(identify)ms 1175(the)ms 1248(default)ms 1399(directory)ms 1592(for)ms 1663(modules,)ms 1857(i.e.)ms 1931(the)ms 2004(directory)ms 602 1121 m (where)s 734(modules)ms 913(go)ms 973(to)ms 1022(that)ms 1107(have)ms 1211(no)ms 1271(explicit)ms 1431(directory)ms 1621(specified)ms 1812(by)ms 1872(the)ms 1943(MODULES)ms 602 1061 m (section.)s 768(This)ms 870(line)ms 957(should)ms 1103(be)ms 1163(copied)ms 1308(literally.)ms 295 971 m (Line 26:)s 602(Default)ms 764(directory)ms 957(for)ms 1028(extracted)ms 1224(modules.)ms 295 881 m (Line 27:)s 602(Identifies)ms 803(the)ms 877(end)ms 961(of)ms 1015(the)ms 1089(INI-file.)ms 1267(This)ms 1368(line)ms 1456(should)ms 1601(be)ms 1661(copied)ms 1807(literally.)ms 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms endpage %%Page: 14 15 begpage 10 FC 926 3182 m (7.1 "SP_EXTR_STR: system failure .... call maintenance")s 10 FCB 2138 3182 m (15)s 14 FCB 295 3001 m (7 Bugs, work-arounds and undocumented features)s 12 FCB 295 2868 m (7.1 "SP_EXTR_STR: system failure .... call maintenance")s 12 FA 295 2781 m (This)s 394(failure)ms 536(may)ms 633(happen)ms 788(if)ms 829(the)ms 901(stubs)ms 1015(have)ms 1120(not)ms 1195(been)ms 1300(correctly)ms 1488(closed)ms 1627(with)ms 1727(the)ms 1799(END-STRING)ms 2110(that)ms 295 2721 m (has)s 378(been)ms 489(specified)ms 686(as)ms 744(the)ms 822(syntax.)ms 982(The)ms 1076(default)ms 1232(value)ms 1356(of)ms 1415(this)ms 1504(string)ms 1634(is)ms 1684("ENDOF".)ms 1921(Also)ms 2032(the)ms 2110(line)ms 295 2661 m (containing)s 518(the)ms 592(END-STRING)ms 904(should)ms 1050(be)ms 1110(properly)ms 1292(closed.)ms 1444(For)ms 1526(example)ms 1708(in)ms 1760(a)ms 1794(Pascal)ms 1935(situation)ms 10 FH 345 2580 m ( \(********* End of module \(2.1\) ***\))s 12 FA 295 2496 m (should)s 440(be)ms 500(all)ms 563(right,)ms 682(but)ms 10 FH 345 2415 m ( \(****** End of module \(2.1\) **\))s 12 FA 295 2331 m (may)s 393(give)ms 492(trouble)ms 646(since)ms 761(the)ms 835(string)ms 961("**\)")ms 1081(is)ms 1127(incorrect)ms 1317(here.)ms 12 FCB 295 2178 m (7.2 Options in general)s 12 FA 295 2091 m (Several)s 453(options)ms 608(have)ms 711(been)ms 814(introduces)ms 1030(with)ms 1128(very)ms 1225(advanced)ms 1422(applications)ms 1672(in)ms 1719(mind.)ms 1843(They)ms 1954(have)ms 2057(hardly)ms 295 2031 m (been)s 402(tested)ms 532(will)ms 624(probably)ms 815(not)ms 892(work.)ms 1021(You)ms 1121(won't)ms 1251(need)ms 1358(them)ms 1472(either.)ms 1612(For)ms 1695(this)ms 1780(reason)ms 1924(don't)ms 2043(use)ms 2123(the)ms 295 1971 m (options)s 454(OVERRULE,)ms 746(SEPARATOR)ms 1050(and)ms 1135(TRAILER.)ms 12 FCB 295 1818 m (7.3 Multiple option)s 12 FA 295 1731 m (A)s 343(slot)ms 427(with)ms 529(the)ms 602("MULTIPLE")ms 902(option)ms 1042(raises)ms 1169(an)ms 1228(error)ms 1338(if)ms 1380(no)ms 1443(stubs)ms 1558(are)ms 1631(found)ms 1760(matching)ms 1959(the)ms 2032(slot.)ms 2129(To)ms 295 1671 m (prevent)s 457(this)ms 542(error)ms 651(message)ms 833(one)ms 918(should)ms 1064(specify)ms 1221(the)ms 1294(option)ms 1435("OPTIONAL")ms 1738(also)ms 1831(for)ms 1902(the)ms 1975(slot.)ms 12 FCB 295 1518 m (7.4 Report file option NONE)s 12 FA 295 1431 m (This)s 395(option)ms 535(to)ms 586(suppress)ms 770(the)ms 842(printing)ms 1013(of)ms 1066(reports)ms 1217(to)ms 1267(the)ms 1340(terminal)ms 1519(has)ms 1597(not)ms 1673(been)ms 1779(implemented.)ms 2064(It)ms 2107(will)ms 295 1371 m (be)s 354(eliminated)ms 578(in)ms 629(some)ms 747(later)ms 849(version.)ms 12 FCB 295 1218 m (7.5 Generating target modules)s 12 FAB 295 1101 m (7.5.1 Specification)s 12 FA 295 1011 m (If)s 339(CLIP.INI)ms 541(specifies)ms 728(a)ms 761(target)ms 887(module)ms 1048(that)ms 1135(matches)ms 1310(no)ms 1372(file-option)ms 1594(argument)ms 1794(anywhere)ms 2000(in)ms 2051(the)ms 2123(list)ms 295 951 m (of)s 345(specified)ms 534(source)ms 672(files,)ms 779(CLiP)ms 893(does)ms 994(not)ms 1066(complain.)ms 1273(The)ms 1359(matching)ms 1554(is)ms 1595(case)ms 1690(sensitive)ms 1873(and)ms 1954(for)ms 2021(instance)ms 295 891 m (a)s 329(file-option)ms 553(argument)ms 10 FH 545 810 m (\(********** #file "EXAMPLE.PAS" ***********************\))s 12 FA 295 726 m (does)s 399(not)ms 475(fit)ms 532(a)ms 567(module)ms 729(specification)ms 997(in)ms 1049(CLIP.INI)ms 1251(of)ms 1306(the)ms 1379(form)ms 10 FH 545 645 m (Example.PAS)s 12 FA 295 561 m (This)s 396(may)ms 495(lead)ms 590(to)ms 642(unpleasant)ms 868(surprises.)ms 389 501 m (On)s 464(MS-DOS)ms 668(and)ms 755(VAX/VMS)ms 1000(platforms)ms 1206(the)ms 1282(specification)ms 1552(of)ms 1608(files)ms 1709(is)ms 1757(not)ms 1835(context)ms 1997(sensitive.)ms 295 441 m (For)s 371(this)ms 450(reason)ms 588(the)ms 656(CLIP_1)ms 821(program)ms 998(\(which)ms 1144(is)ms 1184(available)ms 1372(for)ms 1437(the)ms 1505(MS-DOS)ms 1701(and)ms 1780(VAX/VMS)ms 2018(versions)ms 295 381 m (of)s 355(CLiP\))ms 496(converts)ms 684(those)ms 808(names)ms 955(to)ms 1012(upper)ms 1145(case)ms 1250(in)ms 1307(the)ms 1387(INI-file)ms 1558(it)ms 1605(creates.)ms 1775(Thus)ms 1894(the)ms 1973(file-option)ms 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms endpage %%Page: 15 16 begpage 10 FCB 295 3182 m (16)s 10 FC 460 3182 m (Bugs, work-arounds and undocumented features)s 12 FA 295 3011 m (arguments)s 515(in)ms 567(the)ms 640(source)ms 783(files)ms 882(should)ms 1028(definitely)ms 1232(be)ms 1292(specified)ms 1485(in)ms 1536(upper)ms 1662(case)ms 1761(too.)ms 389 2951 m (In)s 441(a)ms 475(Unix)ms 586(environment)ms 850(a)ms 884(file)ms 962(name)ms 1082(is)ms 1126(case)ms 1224(sensitive)ms 1410(indeed.)ms 1567(Currently)ms 1770(no)ms 1831(CLIP_1)ms 2001(exists)ms 2126(for)ms 295 2891 m (Unix)s 410(and)ms 498(an)ms 561(INI-file)ms 730(has)ms 812(to)ms 867(be)ms 930(created)ms 1090(by)ms 1156(means)ms 1299(of)ms 1357(the)ms 1434(short-cut)ms 1627(routine)ms 1784(CLP)ms 1892(\(or)ms 1966(directly)ms 2135(by)ms 295 2831 m (means)s 434(of)ms 488(an)ms 548(editor,)ms 689(cf.)ms 752(section 6\).)ms 973(No)ms 1046(conversion)ms 1278(is)ms 1323(performed)ms 1544(in)ms 1595(this)ms 1679(case)ms 1777(and)ms 1862(one)ms 1946(has)ms 2025(to)ms 2076(make)ms 295 2771 m (sure)s 390(the)ms 464(file-option)ms 688(argument)ms 889(is)ms 935(identical)ms 1119(to)ms 1171(the)ms 1244(corresponding)ms 1543(name)ms 1664(in)ms 1715(the)ms 1789(INI-file.)ms 12 FAB 295 2621 m (7.5.2 Omitted modules)s 12 FA 295 2531 m (If)s 340(modules)ms 521(are)ms 593(specified)ms 786(for)ms 856(being)ms 978(OMITTED)ms 1215(at)ms 1263(extraction)ms 1475(time,)ms 1588(it)ms 1627(will)ms 1717(be)ms 1776(omitted)ms 1940(independent)ms 295 2471 m (of)s 349(the)ms 422(path)ms 521(that)ms 608(may)ms 707(have)ms 814(been)ms 921(specified.)ms 1126(The)ms 1217(module)ms 1379(will)ms 1469(never)ms 1593(be)ms 1653(generated.)ms 12 FAB 295 2321 m (7.5.3 Empty run)s 12 FA 295 2231 m (CLiP)s 415(does)ms 521(not)ms 600(always)ms 754(recognize)ms 963(a)ms 1000(corrupted)ms 1206(INI-file.)ms 1386(Thus)ms 1501(if)ms 1546(you)ms 1636(run)ms 1717(CLiP)ms 1838(and)ms 1925(it)ms 1967(produces)ms 2162(a)ms 295 2171 m (report)s 426(of)ms 481(the)ms 554(form)ms 10 FH 345 2090 m (============================ CLiP version 2.1 ==========================)s 345 2006 m (============================ Busy scanning =============================)s 345 1965 m (Scanning file: ..................)s 345 1923 m (.................................)s 345 1840 m (============================ End scanning ==============================)s 345 1756 m (============================ Busy analysing ============================)s 345 1673 m (============================ End analysing =============================)s 345 1590 m (============================ Busy generating ===========================)s 345 1506 m (============================ End generating ============================)s 345 1465 m (Used \(CPU\) time :5.88 Sec.)s 345 1423 m (See you next time !)s 12 FA 295 1339 m (then)s 397(you)ms 489(start)ms 591(checking)ms 788(the)ms 866(specifications)ms 1157(of)ms 1215(the)ms 1293(target)ms 1423(modules,)ms 1622(since)ms 1741(this)ms 1830(is)ms 1879(the)ms 1957(most)ms 2071(likely)ms 295 1279 m (source)s 437(of)ms 490(trouble.)ms 655(Keep)ms 772(in)ms 823(mind)ms 937(however,)ms 1133(that)ms 1220(the)ms 1292(problem)ms 1471(may)ms 1568(be)ms 1627(also)ms 1719(arise)ms 1825(due)ms 1909(to)ms 1959(a)ms 1993(corrupted)ms 295 1219 m (INI-file.)s 12 FCB 295 1066 m (7.6 Lost lines)s 12 FA 295 979 m (If)s 340(you)ms 428(have)ms 535(stubs)ms 650(of)ms 704(the)ms 778(form)ms 10 FH 345 898 m (\(****************** GEN_POOL global routines ********************\))s 345 856 m (\(******************************************************************\))s 345 815 m (\(* routine: write_string .... *\))s 345 773 m (\(* ................... *\))s 345 731 m (\(******************************************************************\))s 12 FA 295 648 m (you)s 385(will)ms 479(see)ms 559(that)ms 650(the)ms 727(second)ms 881(line)ms 972(of)ms 1030(the)ms 1107(stub)ms 1206(\(the)ms 1299("starred")ms 1492(line\))ms 1600(is)ms 1649(not)ms 1729(generated)ms 1939(in)ms 1994(the)ms 2071(target)ms 295 588 m (modules.)s 488(For)ms 569(this)ms 652(reason)ms 794(it)ms 833(is)ms 878(better)ms 1003(to)ms 1053(put)ms 1129(an)ms 1187(additional)ms 1399(empty)ms 1535(line)ms 1621(in)ms 1671(between.)ms 1862(For)ms 1943(example)ms 2123(the)ms 295 528 m (following)s 501(stub)ms 597(will)ms 688(be)ms 747(extracted)ms 943(correctly.)ms 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms endpage %%Page: 16 17 begpage 10 FC 1736 3182 m (8 References)s 10 FCB 2138 3182 m (17)s 10 FH 345 3020 m (\(****************** GEN_POOL global routines ********************\))s 345 2936 m (\(******************************************************************\))s 345 2895 m (\(* routine: write_string .... *\))s 345 2853 m (\(* ................... *\))s 345 2811 m (\(******************************************************************\))s 12 FCB 295 2674 m (7.7 DOS version only)s 12 FA 295 2588 m (If)s 344(you)ms 435(activate)ms 607(the)ms 685(PROJECT/Load)ms 1029(INI-file)ms 1198(or)ms 1256(PROJECT/Save)ms 1594(INI-file)ms 1763(menu)ms 1891(of)ms 1949(the)ms 2026(CLIP_1)ms 295 2528 m (program)s 481(and)ms 569(you)ms 661(specify)ms 822(an)ms 886(illegal)ms 1028(drive)ms 1147(in)ms 1203(the)ms 1280(Current)ms 1450(Directory)ms 1658(option,)ms 1815(you)ms 1907(may)ms 2009(hang)ms 2123(the)ms 295 2468 m (system.)s 458(For)ms 540(instance)ms 717(a)ms 751(drive)ms 867(specification)ms 1135(preceeded)ms 1350(by)ms 1412(a)ms 1447(space)ms 1571(will)ms 1661(produce)ms 1834(this)ms 1919(bug.)ms 14 FCB 295 2308 m (8 References)s 12 FA 295 2213 m (Ammers)s 480(E.W.)ms 596(van,)ms 693(M.R.)ms 809(Kramer)ms 975(\(1993\),)ms 1134(The)ms 1225(CLiP)ms 1343(Style)ms 1459(of)ms 1514(Literate)ms 1683(Programming)ms 1971(\(submitted)ms 389 2153 m (for)s 467(publication\).)ms 742(Anonymously)ms 1046(ftp-able)ms 1222(as)ms 1284(CLIP_STYLE.PS,)ms 1674(CLIP_STYLE_A.PS)ms 2112(and)ms 389 2093 m (CLIP_STYLE_B.PS)s 816(from)ms 926(directory)ms 1119(CLIP)ms 1240(on)ms 1302(sun01.info.wau.nl.)ms 295 2003 m (Ammers)s 475(E.W.)ms 587(van,)ms 680(Kramer)ms 842(M.R.)ms 953(\(1992\),)ms 1108(VAMP:)ms 1275(A)ms 1319(Tool)ms 1423(for)ms 1490(Literate)ms 1654(Programming)ms 1937(Independent)ms 389 1943 m (of)s 441(Programming)ms 728(Language)ms 936(and)ms 1020(Formatter.)ms 1241(CompEuro '92)ms 1551(Proceedings,)ms 1819(May)ms 1922(4-8)ms 2000(1992,)ms 2123(the)ms 389 1883 m (Hague,)s 544(pg.)ms 619(371-376.)ms 295 1793 m (Knuth)s 432(D.E.)ms 536(\(1984\).)ms 694(Literate)ms 862(Programming.)ms 1162(The)ms 1253(Computer)ms 1465(Journal)ms 1625(27,)ms 1700(2,)ms 1750(97-111.)ms 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms endpage %%Page: Contents-0 18 begpage 12 FAB 1049 3019 m (Table of Contents)s 12 FA 295 2919 m (CLiP - )s 12 FAI (C)s 12 FA ( ode from )s 12 FAI (Li)s 12 FA ( terate )s 12 FAI (P)s 12 FA ( rograms Provisional User Manual )s 1596(................................)ms 2019 2919 m (1)s 295 2819 m (1 Introduction )s 608(...............................................................................................................)ms 2019 2819 m (1)s 295 2719 m (2 Syntax \(programming style\) )s 933(.....................................................................................)ms 2019 2719 m (2)s 365 2669 m (2.1 Stub blocks and documentation blocks )s 1245(............................................................)ms 2019 2669 m (3)s 365 2619 m (2.2 Segments )s 670(..........................................................................................................)ms 2019 2619 m (3)s 365 2569 m (2.3 Options )s 632(.............................................................................................................)ms 2019 2569 m (3)s 295 2469 m (3 Examples )s 558(...................................................................................................................)ms 2019 2469 m (4)s 365 2419 m (3.1 Example 1: Defining a module )s 1082(.........................................................................)ms 2019 2419 m (4)s 365 2369 m (3.2 Example 2: Multiple slots )s 995(................................................................................)ms 2019 2369 m (5)s 365 2319 m (3.3 Example 3: Quick stubs and abstract data types )s 1420(..............................................)ms 2019 2319 m (6)s 365 2269 m (3.4 Example 4: An ordinary refinement step )s 1282(.........................................................)ms 2019 2269 m (7)s 365 2219 m (3.5 Example 5: A subroutine module )s 1132(.....................................................................)ms 2019 2219 m (9)s 295 2119 m (4 Semantics of options )s 783(.................................................................................................)ms 2019 2119 m (11)s 295 2019 m (5 Using CLiP )s 596(................................................................................................................)ms 2019 2019 m (12)s 295 1919 m (6 The structure of an INI-file )s 908(.......................................................................................)ms 2019 1919 m (13)s 295 1819 m (7 Bugs, work-arounds and undocumented features )s 1333(.....................................................)ms 2019 1819 m (15)s 365 1769 m (7.1 "SP_EXTR_STR: system failure .... call maintenance" )s 1570(..................................)ms 2019 1769 m (15)s 365 1719 m (7.2 Options in general )s 845(............................................................................................)ms 2019 1719 m (15)s 365 1669 m (7.3 Multiple option )s 782(.................................................................................................)ms 2019 1669 m (15)s 365 1619 m (7.4 Report file option NONE )s 982(.................................................................................)ms 2019 1619 m (15)s 365 1569 m (7.5 Generating target modules )s 1007(...............................................................................)ms 2019 1569 m (15)s 436 1519 m (7.5.1 Specification )s 845(............................................................................................)ms 2019 1519 m (15)s 436 1469 m (7.5.2 Omitted modules )s 920(......................................................................................)ms 2019 1469 m (16)s 436 1419 m (7.5.3 Empty run )s 795(................................................................................................)ms 2019 1419 m (16)s 365 1369 m (7.6 Lost lines )s 670(..........................................................................................................)ms 2019 1369 m (16)s 365 1319 m (7.7 DOS version only )s 832(.............................................................................................)ms 2019 1319 m (17)s 295 1219 m (8 References )s 583(.................................................................................................................)ms 2019 1219 m (17)s 8 FA 295 254 m (CLiP)s 373(provisional)ms 532(user)ms 595(manual)ms 702(\(version)ms 819(2.100\))ms endpage %%Trailer enddocument %%Pages: 18 %%DocumentFonts: %%+ Times-Roman %%+ Times-Italic %%+ Times-Bold %%+ Times-BoldItalic %%+ Helvetica %%+ Helvetica-Bold %%+ Helvetica-BoldOblique %%+ Courier %%EOF