|
|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 17888 (0x45e0)
Types: TextFile
Notes: Mikados_K
Names: »PXREF.K«
└─⟦89d8689a3⟧ Bits:30003591 MIKADOS Pascal compiler (01.02.1982 E)
└─⟦this⟧ »PXREF.K«
PROGRAM PXREF;
(* Based on program in Peter Grogono : "Programming in PASCAL"
Modified for DDE use DI - 811207
PASCAL Cross Reference program *)
CONST
MAXLINES = 1999;
MAXWORDLEN = 20;
MAXLINELEN = 79;
MAXONPAGE = 61;
MAXPAGES = 99;
HEADINGSIZE = 3;
ENTRYGAP = 0;
NUMBERGAP = 2;
RADIX = 10;
MAXKEYWORD = 36;
BLANK = ' ';
HEADING = 'Pascal cross-reference list of : ';
TYPE
PARMARRAY = PACKED ARRAY (1..40) OF CHAR;
CLOCKRECORD = RECORD
DATE: PACKED ARRAY (1..10) OF CHAR;
TIME: PACKED ARRAY (1..8) OF CHAR
END;
COUNTER = 1 .. MAXLINES;
WORDINDEX = 1 .. MAXWORDLEN;
PAGEINDEX = 1 .. MAXONPAGE;
PAGENUMBER = 1 .. MAXPAGES;
LINEINDEX = 1 .. MAXLINELEN;
WORDTYPE = STRING(MAXWORDLEN);
QUEUEPOINTER = ^QUEUEITEM;
QUEUEITEM =
RECORD
LINENUMBER: COUNTER;
NEXTINQUEUE: QUEUEPOINTER
END;
ENTRYTYPE =
RECORD
WORDVALUE: WORDTYPE;
FIRSTINQUEUE,LASTINQUEUE: QUEUEPOINTER
END;
TREEPOINTER = ^NODE;
NODE =
RECORD
ENTRY: ENTRYTYPE;
LEFT, RIGHT: TREEPOINTER
END;
VAR
PARM: ^PARMARRAY;
CLOCK: ^CLOCKRECORD;
WORDTREE: TREEPOINTER;
LETTERS, TALOGTEGN: SET OF CHAR;
INDFIL: TEXT;
FILNAVN: STRING(20);
JANEJ: STRING(1);
SMÅTILSTORE: BOOLEAN;
KEYWORDLIST: ARRAY (1..MAXKEYWORD) OF STRING(9);
KEYWORD: BOOLEAN;
POINTLIST: BOOLEAN; (* point list on terminal *)
I: INTEGER;
INCLUDEFIL: TEXT; (* include file *)
INCLUDENAME: STRING(20);
INCLUDE: BOOLEAN;
PROCEDURE SLUT;
BEGIN
WRITELN('Cross-reference of ',FILNAVN,' aborted');
EXIT(PXREF)
END;
PROCEDURE LÆSKEYWORD;
BEGIN
KEYWORDLIST(01) := 'AND';
KEYWORDLIST(02) := 'ARRAY';
KEYWORDLIST(03) := 'BEGIN';
KEYWORDLIST(04) := 'CASE';
KEYWORDLIST(05) := 'CONST';
KEYWORDLIST(06) := 'DIV';
KEYWORDLIST(07) := 'DO';
KEYWORDLIST(08) := 'DOWNTO';
KEYWORDLIST(09) := 'ELSE';
KEYWORDLIST(10) := 'END';
KEYWORDLIST(11) := 'FILE';
KEYWORDLIST(12) := 'FOR';
KEYWORDLIST(13) := 'FUNCTION';
KEYWORDLIST(14) := 'GOTO';
KEYWORDLIST(15) := 'IF';
KEYWORDLIST(16) := 'IN';
KEYWORDLIST(17) := 'LABEL';
KEYWORDLIST(18) := 'MOD';
KEYWORDLIST(19) := 'NIL';
KEYWORDLIST(20) := 'NOT';
KEYWORDLIST(21) := 'OF';
KEYWORDLIST(22) := 'OR';
KEYWORDLIST(23) := 'OTHERWISE';
KEYWORDLIST(24) := 'PACKED';
KEYWORDLIST(25) := 'PROCEDURE';
KEYWORDLIST(26) := 'PROGRAM';
KEYWORDLIST(27) := 'RECORD';
KEYWORDLIST(28) := 'REPEAT';
KEYWORDLIST(29) := 'SET';
KEYWORDLIST(30) := 'THEN';
KEYWORDLIST(31) := 'TO';
KEYWORDLIST(32) := 'TYPE';
KEYWORDLIST(33) := 'UNTIL';
KEYWORDLIST(34) := 'VAR';
KEYWORDLIST(35) := 'WHILE';
KEYWORDLIST(36) := 'WITH';
END;
PROCEDURE SØGKEYWORD(SØGEORD: WORDTYPE);
VAR
FIRST, LAST,I: 1 .. MAXKEYWORD;
BEGIN
FIRST:=1;
LAST:=MAXKEYWORD;
WHILE FIRST<LAST DO
BEGIN
I:=(LAST+FIRST) DIV 2;
IF SØGEORD > KEYWORDLIST(I) THEN
BEGIN
FIRST:=I+1;
IF FIRST>LAST THEN
FIRST:=LAST;
END
ELSE
IF SØGEORD < KEYWORDLIST(I) THEN
BEGIN
LAST:=I-1;
IF FIRST>LAST THEN
LAST:=FIRST;
END
ELSE
BEGIN
LAST:=I;
FIRST:=LAST;
END;
END;
KEYWORD:= SØGEORD = KEYWORDLIST(FIRST);
IF NOT KEYWORD THEN
END;
PROCEDURE BUILDTREE( VAR TREE: TREEPOINTER);
VAR
CURRENTWORD: WORDTYPE;
CURRENTLINE: COUNTER;
TILSTAND: INTEGER;
PROCEDURE GETWORD ( VAR WORD: WORDTYPE;
VAR LINE: COUNTER);
VAR
CURRENTCHAR: CHAR;
INDEX, BLANKINDEX: 0 .. MAXWORDLEN;
PROCEDURE GETCHAR ( VAR CH: CHAR;
VAR LIN: COUNTER);
BEGIN (* GETCHAR *)
IF EOF(OUTPUT) THEN SLUT;
IF INCLUDE THEN
BEGIN
IF EOF(INCLUDEFIL) THEN
BEGIN
INCLUDE:=FALSE;
CLOSE(INCLUDEFIL);
CH := BLANK;
END
ELSE
IF ((EOLN(INCLUDEFIL)) AND (CH IN LETTERS+TALOGTEGN)) THEN
CH:=BLANK
ELSE
IF EOLN(INCLUDEFIL) THEN
BEGIN
CH := BLANK;
LIN := LIN +1;
IF POINTLIST THEN
BEGIN
WRITE('.');
IF (LIN MOD 50) = 0 THEN
BEGIN
WRITELN;
WRITE('<><',LIN:4,'>');
END;
END;
READLN(INCLUDEFIL)
END
ELSE
READ(INCLUDEFIL,CH);
END
ELSE
IF EOF(INDFIL) THEN
CH := BLANK
ELSE
IF ((EOLN(INDFIL)) AND (CH IN LETTERS+TALOGTEGN)) THEN
CH:=BLANK
ELSE
IF EOLN(INDFIL) THEN
BEGIN
CH := BLANK;
LIN := LIN +1;
IF POINTLIST THEN
BEGIN
WRITE('.');
IF (LIN MOD 50) = 0 THEN
BEGIN
WRITELN;
WRITE('<><',LIN:4,'>');
END;
END;
READLN(INDFIL)
END
ELSE
READ(INDFIL,CH);
IF (CH IN (. 'a'..'å' .)) AND SMÅTILSTORE THEN
CH := CHR( ORD(CH) - (ORD('a') - ORD('A')));
END; (* GETCHAR *)
BEGIN (* GETWORD *)
INCLUDENAME:='';
WORD:=' ';
TILSTAND:=1;
REPEAT
GETCHAR(CURRENTCHAR,LINE);
CASE TILSTAND OF
(* Normal *) 1: IF (CURRENTCHAR = '''') THEN
TILSTAND := 2
ELSE
IF (CURRENTCHAR = '(') THEN
TILSTAND := 3;
(* After ' *) 2: IF (CURRENTCHAR = '''') THEN
TILSTAND := 1;
(* After ( *) 3: IF (CURRENTCHAR = '*') THEN
TILSTAND := 4
ELSE
IF (CURRENTCHAR = '''') THEN
TILSTAND := 2
ELSE
TILSTAND := 1;
(* After (* *) 4: IF (CURRENTCHAR = '$') THEN
TILSTAND := 7
ELSE
TILSTAND := 5;
(* Comment *) 5: IF (CURRENTCHAR = '*') THEN
TILSTAND := 6;
(* After * *) 6: IF (CURRENTCHAR = ')') THEN
TILSTAND := 1
ELSE
TILSTAND := 5;
(* Option *) 7: IF (CURRENTCHAR = 'I') THEN
TILSTAND := 9
ELSE
TILSTAND := 8;
(* Op.not I *) 8: IF (CURRENTCHAR = ',') THEN
TILSTAND := 7
ELSE
IF (CURRENTCHAR = '*') THEN
TILSTAND := 6;
(* Include *) 9: IF (CURRENTCHAR = '*') THEN
BEGIN
INCLUDE:=TRUE;
RESET(INCLUDEFIL,INCLUDENAME);
READLN(INCLUDEFILE);
TILSTAND:=1;
LINE:=LINE+1;
END
ELSE
BEGIN
(*$R-*)
INCLUDENAME(0):= CHR(ORD(INCLUDENAME(0))+1);
(*$R+*)
INCLUDENAME(LENGTH(INCLUDENAME)):=CURRENTCHAR;
END;
END;
UNTIL ((CURRENTCHAR IN LETTERS) AND (TILSTAND = 1)) OR EOF(INDFIL);
IF NOT EOF(INDFIL) THEN
BEGIN
INDEX := 0;
WHILE CURRENTCHAR IN LETTERS+TALOGTEGN DO
BEGIN
IF INDEX < MAXWORDLEN THEN
BEGIN
INDEX := INDEX +1;
WORD(INDEX) := CURRENTCHAR;
END;
IF EOF(INDFIL) THEN
CURRENTCHAR := BLANK
ELSE
GETCHAR(CURRENTCHAR,LINE)
END; (* WHILE *)
(*$R-*) WORD(0):=CHR(INDEX); (*$R+*)
END
END; (* GETWORD *)
PROCEDURE ENTERTREE ( VAR SUBTREE: TREEPOINTER;
WORD: WORDTYPE;
LINE: COUNTER);
VAR
NEXTITEM: QUEUEPOINTER;
BEGIN (* ENTERTREE *)
IF SUBTREE = NIL THEN
BEGIN (* CREATE NEW ENTRY *)
NEW(SUBTREE);
WITH SUBTREE^ DO
BEGIN
LEFT := NIL;
RIGHT := NIL;
WITH ENTRY DO
BEGIN
WORDVALUE := WORD;
NEW(FIRSTINQUEUE);
LASTINQUEUE := FIRSTINQUEUE;
WITH FIRSTINQUEUE^ DO
BEGIN
LINENUMBER := LINE;
NEXTINQUEUE := NIL
END (* WITH FIRSTINQUEUE^ *)
END (* WITH ENTRY *)
END (* WITH SUBTREE^ *)
END
ELSE (* APPEND A LIST ITEM *)
WITH SUBTREE^,ENTRY DO
IF WORD = WORDVALUE THEN
BEGIN
IF LASTINQUEUE^.LINENUMBER <> LINE THEN
BEGIN
NEW(NEXTITEM);
WITH NEXTITEM^ DO
BEGIN
LINENUMBER := LINE;
NEXTINQUEUE := NIL
END; (* WITH NEXTITEM^ *)
LASTINQUEUE^.NEXTINQUEUE := NEXTITEM;
LASTINQUEUE := NEXTITEM
END
END
ELSE
IF WORD < WORDVALUE THEN
ENTERTREE(LEFT,WORD,LINE)
ELSE
ENTERTREE(RIGHT,WORD,LINE)
END; (* ENTERTREE *)
BEGIN (* BUILDTREE *)
CURRENTLINE := 1;
WHILE NOT EOF(INDFIL) DO
BEGIN
GETWORD(CURRENTWORD,CURRENTLINE);
SØGKEYWORD(CURRENTWORD);
IF NOT EOF(INDFIL) AND (NOT KEYWORD) THEN
ENTERTREE(TREE,CURRENTWORD,CURRENTLINE)
END (* WHILE *)
END; (* BUILDTREE *)
PROCEDURE PRINTTREE ( TREE: TREEPOINTER);
VAR
PAGEPOSITION: PAGEINDEX;
NUMBERWIDTH, MAXONLINE: LINEINDEX;
PAGECOUNTER: PAGENUMBER;
PROCEDURE PRINTENTRY ( SUBTREE: TREEPOINTER;
VAR POSITION: PAGEINDEX);
VAR
INDEX: WORDINDEX;
ITEMCOUNT: 0 .. MAXLINELEN;
ITEMPTR: QUEUEPOINTER;
PROCEDURE PRINTLINE ( VAR CURRENTPOSITION: PAGEINDEX;
NEWLINES: PAGEINDEX);
VAR
LINECOUNTER: PAGEINDEX;
BEGIN (* PRINTLINE *)
IF CURRENTPOSITION + NEWLINES < MAXONPAGE THEN
BEGIN
FOR LINECOUNTER := 1 TO NEWLINES DO
WRITELN(LIST);
CURRENTPOSITION := CURRENTPOSITION + NEWLINES
END
ELSE
BEGIN
WRITELN(LIST);
IF PAGECOUNTER > 1 THEN
PAGE( LIST );
WRITE(LIST,HEADING,FILNAVN:12,'DATE: ':15,CLOCK^.DATE);
WRITELN(LIST,' - PAGE ',PAGECOUNTER);
FOR LINECOUNTER := 1 TO HEADINGSIZE - 1 DO
WRITELN(LIST);
CURRENTPOSITION := HEADINGSIZE + 1;
PAGECOUNTER := PAGECOUNTER + 1
END
END; (* PRINTLINE *)
BEGIN (* PRINTENTRY *)
IF EOF(OUTPUT) THEN SLUT;
IF SUBTREE <> NIL THEN
WITH SUBTREE^ DO
BEGIN
PRINTENTRY(LEFT,POSITION);
PRINTLINE(POSITION,ENTRYGAP + 1);
WITH ENTRY DO
BEGIN
WRITE(LIST,WORDVALUE,'':(MAXWORDLEN-LENGTH(WORDVALUE)));
ITEMCOUNT := 0;
ITEMPTR := FIRSTINQUEUE;
WHILE ITEMPTR <> NIL DO
BEGIN
ITEMCOUNT := ITEMCOUNT + 1;
IF ITEMCOUNT > MAXONLINE THEN
BEGIN
PRINTLINE(POSITION,1);
WRITE(LIST,BLANK : MAXWORDLEN);
ITEMCOUNT := 1
END;
WRITE(LIST,ITEMPTR^.LINENUMBER : NUMBERWIDTH);
ITEMPTR := ITEMPTR^.NEXTINQUEUE
END (* WHILE *)
END; (* WITH ENTRY *)
PRINTENTRY(RIGHT,POSITION)
END (* WITH SUBTREE *)
END; (* PRINTENTRY *)
BEGIN (* PRINTTREE *)
NUMBERWIDTH := TRUNC(LN(MAXLINES)/LN(RADIX)) + 1 + NUMBERGAP;
MAXONLINE := (MAXLINELEN - MAXWORDLEN) DIV NUMBERWIDTH;
PAGEPOSITION := MAXONPAGE;
PAGECOUNTER := 1;
PRINTENTRY(TREE,PAGEPOSITION);
WRITELN(LIST);
PAGE( LIST )
END; (* PRINTTREE *)
BEGIN (* PXREF *)
WRITELN;
WRITELN('Pascal cross-reference program initiated');
LÆSKEYWORD;
IF PARM^(1) <> ' ' THEN
BEGIN
FILNAVN:=' ';
I:=1;
WHILE (PARM^(I)<> ' ') AND (PARM^(I)<>',') DO
BEGIN
FILNAVN(I):=PARM^(I);
I:=I+1;
END;
(*$R-*) FILNAVN(0):=CHR(I-1); (*$R+*)
RESET( INDFIL,FILNAVN );
IF IORESULT = 1 THEN
BEGIN
WRITELN('File not found');
SLUT;
END;
READLN( INDFIL );
POINTLIST := FALSE;
IF PARM^(I) = ',' THEN
POINTLIST:= PARM^(I+1) = 'L';
SMÅTILSTORE := TRUE;
LETTERS := (. 'A'..'Å' .);
END
ELSE
BEGIN
WRITELN;
FILNAVN := ' ';
WRITE('Enter file name: ');
READLN;
READ(FILNAVN);
IF EOF THEN SLUT;
RESET( INDFIL,FILNAVN );
IF IORESULT = 1 THEN
BEGIN
WRITELN('File not found');
SLUT;
END;
READLN( INDFIL );
POINTLIST:=TRUE;
JANEJ := 'Y';
WRITE('Convert small letters ? ');
EDIT( JANEJ );
IF EOF THEN SLUT;
IF JANEJ(1) IN (. 'y','Y' .) THEN
BEGIN
SMÅTILSTORE := TRUE;
LETTERS := (. 'A'..'Å' .);
END
ELSE
BEGIN
LETTERS := (. 'A'..'Å','a'..'å' .);
SMÅTILSTORE := FALSE;
END;
END;
IF POINTLIST THEN
WRITE('<>< 0>.');
INCLUDE:=FALSE;
TALOGTEGN := (. '0'..'9','^','_' .);
WORDTREE := NIL;
BUILDTREE(WORDTREE);
IF POINTLIST THEN
WRITELN;
PRINTTREE(WORDTREE);
CLOSE(INDFIL);
WRITELN('Cross-reference of ',FILNAVN,' completed');
END. (* PXREF *)
0x0000…0010 Line {l1=0x0e, l2=»PROGRAM PXREF;«, l3=0x0e}
0x0010…0013 Line {l1=0x01, l2=» «, l3=0x01}
0x0013…0053 Line {l1=0x3e, l2=»(* Based on program in Peter Grogono : "Programming in PASCAL"«, l3=0x3e}
0x0053…0056 Line {l1=0x01, l2=» «, l3=0x01}
0x0056…0096 Line {l1=0x3e, l2=» Modified for DDE use DI - 811207«, l3=0x3e}
0x0096…0099 Line {l1=0x01, l2=» «, l3=0x01}
0x0099…00dd Line {l1=0x42, l2=» PASCAL Cross Reference program *)«, l3=0x42}
0x00dd…00e0 Line {l1=0x01, l2=» «, l3=0x01}
[…0x1…]
0x00e3…00ea Line {l1=0x05, l2=»CONST«, l3=0x05}
0x00ea…00fe Line {l1=0x12, l2=» MAXLINES = 1999;«, l3=0x12}
0x00fe…0112 Line {l1=0x12, l2=» MAXWORDLEN = 20;«, l3=0x12}
0x0112…0126 Line {l1=0x12, l2=» MAXLINELEN = 79;«, l3=0x12}
0x0126…0139 Line {l1=0x11, l2=» MAXONPAGE = 61;«, l3=0x11}
0x0139…014b Line {l1=0x10, l2=» MAXPAGES = 99;«, l3=0x10}
0x014b…015f Line {l1=0x12, l2=» HEADINGSIZE = 3;«, l3=0x12}
0x015f…0170 Line {l1=0x0f, l2=» ENTRYGAP = 0;«, l3=0x0f}
0x0170…0182 Line {l1=0x10, l2=» NUMBERGAP = 2;«, l3=0x10}
0x0182…0191 Line {l1=0x0d, l2=» RADIX = 10;«, l3=0x0d}
0x0191…01a5 Line {l1=0x12, l2=» MAXKEYWORD = 36;«, l3=0x12}
0x01a5…01b5 Line {l1=0x0e, l2=» BLANK = ' ';«, l3=0x0e}
0x01b5…01e7 Line {l1=0x30, l2=» HEADING = 'Pascal cross-reference list of : ';«, l3=0x30}
0x01e7…01ea Line {l1=0x01, l2=» «, l3=0x01}
0x01ea…01f0 Line {l1=0x04, l2=»TYPE«, l3=0x04}
0x01f0…021d Line {l1=0x2b, l2=» PARMARRAY = PACKED ARRAY (1..40) OF CHAR;«, l3=0x2b}
0x021d…0235 Line {l1=0x16, l2=» CLOCKRECORD = RECORD«, l3=0x16}
0x0235…026c Line {l1=0x35, l2=» DATE: PACKED ARRAY (1..10) OF CHAR;«, l3=0x35}
0x026c…02a2 Line {l1=0x34, l2=» TIME: PACKED ARRAY (1..8) OF CHAR«, l3=0x34}
0x02a2…02b8 Line {l1=0x14, l2=» END;«, l3=0x14}
0x02b8…02bb Line {l1=0x01, l2=» «, l3=0x01}
0x02bb…02d7 Line {l1=0x1a, l2=» COUNTER = 1 .. MAXLINES;«, l3=0x1a}
0x02d7…02f7 Line {l1=0x1e, l2=» WORDINDEX = 1 .. MAXWORDLEN;«, l3=0x1e}
0x02f7…0316 Line {l1=0x1d, l2=» PAGEINDEX = 1 .. MAXONPAGE;«, l3=0x1d}
0x0316…0335 Line {l1=0x1d, l2=» PAGENUMBER = 1 .. MAXPAGES;«, l3=0x1d}
0x0335…0355 Line {l1=0x1e, l2=» LINEINDEX = 1 .. MAXLINELEN;«, l3=0x1e}
0x0355…0377 Line {l1=0x20, l2=» WORDTYPE = STRING(MAXWORDLEN);«, l3=0x20}
0x0377…037a Line {l1=0x01, l2=» «, l3=0x01}
0x037a…0398 Line {l1=0x1c, l2=» QUEUEPOINTER = ^QUEUEITEM;«, l3=0x1c}
0x0398…03a7 Line {l1=0x0d, l2=» QUEUEITEM =«, l3=0x0d}
0x03a7…03b3 Line {l1=0x0a, l2=» RECORD«, l3=0x0a}
0x03b3…03cf Line {l1=0x1a, l2=» LINENUMBER: COUNTER;«, l3=0x1a}
0x03cf…03f0 Line {l1=0x1f, l2=» NEXTINQUEUE: QUEUEPOINTER«, l3=0x1f}
0x03f0…03fa Line {l1=0x08, l2=» END;«, l3=0x08}
0x03fa…03fd Line {l1=0x01, l2=» «, l3=0x01}
0x03fd…040c Line {l1=0x0d, l2=» ENTRYTYPE =«, l3=0x0d}
0x040c…0418 Line {l1=0x0a, l2=» RECORD«, l3=0x0a}
0x0418…0434 Line {l1=0x1a, l2=» WORDVALUE: WORDTYPE;«, l3=0x1a}
0x0434…0462 Line {l1=0x2c, l2=» FIRSTINQUEUE,LASTINQUEUE: QUEUEPOINTER«, l3=0x2c}
0x0462…046c Line {l1=0x08, l2=» END;«, l3=0x08}
0x046c…046f Line {l1=0x01, l2=» «, l3=0x01}
0x046f…0487 Line {l1=0x16, l2=» TREEPOINTER = ^NODE;«, l3=0x16}
0x0487…0491 Line {l1=0x08, l2=» NODE =«, l3=0x08}
0x0491…049e Line {l1=0x0b, l2=» RECORD «, l3=0x0b}
0x049e…04b7 Line {l1=0x17, l2=» ENTRY: ENTRYTYPE;«, l3=0x17}
0x04b7…04d7 Line {l1=0x1e, l2=» LEFT, RIGHT: TREEPOINTER«, l3=0x1e}
0x04d7…04e1 Line {l1=0x08, l2=» END;«, l3=0x08}
0x04e1…04e4 Line {l1=0x01, l2=» «, l3=0x01}
[…0x1…]
0x04e7…04ec Line {l1=0x03, l2=»VAR«, l3=0x03}
0x04ec…0501 Line {l1=0x13, l2=» PARM: ^PARMARRAY;«, l3=0x13}
0x0501…0519 Line {l1=0x16, l2=» CLOCK: ^CLOCKRECORD;«, l3=0x16}
0x0519…0534 Line {l1=0x19, l2=» WORDTREE: TREEPOINTER; «, l3=0x19}
0x0534…0558 Line {l1=0x22, l2=» LETTERS, TALOGTEGN: SET OF CHAR;«, l3=0x22}
0x0558…0569 Line {l1=0x0f, l2=» INDFIL: TEXT;«, l3=0x0f}
0x0569…0581 Line {l1=0x16, l2=» FILNAVN: STRING(20);«, l3=0x16}
0x0581…0596 Line {l1=0x13, l2=» JANEJ: STRING(1);«, l3=0x13}
0x0596…05af Line {l1=0x17, l2=» SMÅTILSTORE: BOOLEAN;«, l3=0x17}
0x05af…05e3 Line {l1=0x32, l2=» KEYWORDLIST: ARRAY (1..MAXKEYWORD) OF STRING(9);«, l3=0x32}
0x05e3…05f8 Line {l1=0x13, l2=» KEYWORD: BOOLEAN;«, l3=0x13}
0x05f8…0632 Line {l1=0x38, l2=» POINTLIST: BOOLEAN; (* point list on terminal *)«, l3=0x38}
0x0632…0641 Line {l1=0x0d, l2=» I: INTEGER;«, l3=0x0d}
0x0641…0671 Line {l1=0x2e, l2=» INCLUDEFIL: TEXT; (* include file *)«, l3=0x2e}
0x0671…068d Line {l1=0x1a, l2=» INCLUDENAME: STRING(20);«, l3=0x1a}
0x068d…06a2 Line {l1=0x13, l2=» INCLUDE: BOOLEAN;«, l3=0x13}
0x06a2…06a5 Line {l1=0x01, l2=» «, l3=0x01}
0x06a5…06b6 Line {l1=0x0f, l2=»PROCEDURE SLUT;«, l3=0x0f}
0x06b6…06b9 Line {l1=0x01, l2=» «, l3=0x01}
0x06b9…06c2 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x06c2…06f8 Line {l1=0x34, l2=» WRITELN('Cross-reference of ',FILNAVN,' aborted');«, l3=0x34}
0x06f8…0707 Line {l1=0x0d, l2=» EXIT(PXREF)«, l3=0x0d}
0x0707…070d Line {l1=0x04, l2=»END;«, l3=0x04}
0x070d…0710 Line {l1=0x01, l2=» «, l3=0x01}
0x0710…0727 Line {l1=0x15, l2=»PROCEDURE LÆSKEYWORD;«, l3=0x15}
0x0727…072a Line {l1=0x01, l2=» «, l3=0x01}
0x072a…0731 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0731…074e Line {l1=0x1b, l2=» KEYWORDLIST(01) := 'AND';«, l3=0x1b}
0x074e…076d Line {l1=0x1d, l2=» KEYWORDLIST(02) := 'ARRAY';«, l3=0x1d}
0x076d…078c Line {l1=0x1d, l2=» KEYWORDLIST(03) := 'BEGIN';«, l3=0x1d}
0x078c…07aa Line {l1=0x1c, l2=» KEYWORDLIST(04) := 'CASE';«, l3=0x1c}
0x07aa…07c9 Line {l1=0x1d, l2=» KEYWORDLIST(05) := 'CONST';«, l3=0x1d}
0x07c9…07e6 Line {l1=0x1b, l2=» KEYWORDLIST(06) := 'DIV';«, l3=0x1b}
0x07e6…0802 Line {l1=0x1a, l2=» KEYWORDLIST(07) := 'DO';«, l3=0x1a}
0x0802…0822 Line {l1=0x1e, l2=» KEYWORDLIST(08) := 'DOWNTO';«, l3=0x1e}
0x0822…0840 Line {l1=0x1c, l2=» KEYWORDLIST(09) := 'ELSE';«, l3=0x1c}
0x0840…085d Line {l1=0x1b, l2=» KEYWORDLIST(10) := 'END';«, l3=0x1b}
0x085d…087b Line {l1=0x1c, l2=» KEYWORDLIST(11) := 'FILE';«, l3=0x1c}
0x087b…0898 Line {l1=0x1b, l2=» KEYWORDLIST(12) := 'FOR';«, l3=0x1b}
0x0898…08ba Line {l1=0x20, l2=» KEYWORDLIST(13) := 'FUNCTION';«, l3=0x20}
0x08ba…08d8 Line {l1=0x1c, l2=» KEYWORDLIST(14) := 'GOTO';«, l3=0x1c}
0x08d8…08f4 Line {l1=0x1a, l2=» KEYWORDLIST(15) := 'IF';«, l3=0x1a}
0x08f4…0910 Line {l1=0x1a, l2=» KEYWORDLIST(16) := 'IN';«, l3=0x1a}
0x0910…092f Line {l1=0x1d, l2=» KEYWORDLIST(17) := 'LABEL';«, l3=0x1d}
0x092f…094c Line {l1=0x1b, l2=» KEYWORDLIST(18) := 'MOD';«, l3=0x1b}
0x094c…0969 Line {l1=0x1b, l2=» KEYWORDLIST(19) := 'NIL';«, l3=0x1b}
0x0969…0986 Line {l1=0x1b, l2=» KEYWORDLIST(20) := 'NOT';«, l3=0x1b}
0x0986…09a2 Line {l1=0x1a, l2=» KEYWORDLIST(21) := 'OF';«, l3=0x1a}
0x09a2…09be Line {l1=0x1a, l2=» KEYWORDLIST(22) := 'OR';«, l3=0x1a}
0x09be…09e1 Line {l1=0x21, l2=» KEYWORDLIST(23) := 'OTHERWISE';«, l3=0x21}
0x09e1…0a01 Line {l1=0x1e, l2=» KEYWORDLIST(24) := 'PACKED';«, l3=0x1e}
0x0a01…0a24 Line {l1=0x21, l2=» KEYWORDLIST(25) := 'PROCEDURE';«, l3=0x21}
0x0a24…0a45 Line {l1=0x1f, l2=» KEYWORDLIST(26) := 'PROGRAM';«, l3=0x1f}
0x0a45…0a65 Line {l1=0x1e, l2=» KEYWORDLIST(27) := 'RECORD';«, l3=0x1e}
0x0a65…0a85 Line {l1=0x1e, l2=» KEYWORDLIST(28) := 'REPEAT';«, l3=0x1e}
0x0a85…0aa2 Line {l1=0x1b, l2=» KEYWORDLIST(29) := 'SET';«, l3=0x1b}
0x0aa2…0ac0 Line {l1=0x1c, l2=» KEYWORDLIST(30) := 'THEN';«, l3=0x1c}
0x0ac0…0adc Line {l1=0x1a, l2=» KEYWORDLIST(31) := 'TO';«, l3=0x1a}
0x0adc…0afa Line {l1=0x1c, l2=» KEYWORDLIST(32) := 'TYPE';«, l3=0x1c}
0x0afa…0b19 Line {l1=0x1d, l2=» KEYWORDLIST(33) := 'UNTIL';«, l3=0x1d}
0x0b19…0b36 Line {l1=0x1b, l2=» KEYWORDLIST(34) := 'VAR';«, l3=0x1b}
0x0b36…0b55 Line {l1=0x1d, l2=» KEYWORDLIST(35) := 'WHILE';«, l3=0x1d}
0x0b55…0b73 Line {l1=0x1c, l2=» KEYWORDLIST(36) := 'WITH';«, l3=0x1c}
0x0b73…0b79 Line {l1=0x04, l2=»END;«, l3=0x04}
0x0b79…0b7c Line {l1=0x01, l2=» «, l3=0x01}
[…0x1…]
0x0b7f…0ba9 Line {l1=0x28, l2=»PROCEDURE SØGKEYWORD(SØGEORD: WORDTYPE);«, l3=0x28}
0x0ba9…0bac Line {l1=0x01, l2=» «, l3=0x01}
0x0bac…0bb4 Line {l1=0x06, l2=» VAR «, l3=0x06}
0x0bb4…0bd9 Line {l1=0x23, l2=» FIRST, LAST,I: 1 .. MAXKEYWORD;«, l3=0x23}
0x0bd9…0bdc Line {l1=0x01, l2=» «, l3=0x01}
0x0bdc…0be5 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x0be5…0bf4 Line {l1=0x0d, l2=» FIRST:=1;«, l3=0x0d}
0x0bf4…0c0b Line {l1=0x15, l2=» LAST:=MAXKEYWORD;«, l3=0x15}
0x0c0b…0c24 Line {l1=0x17, l2=» WHILE FIRST<LAST DO«, l3=0x17}
0x0c24…0c31 Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x0c31…0c51 Line {l1=0x1e, l2=» I:=(LAST+FIRST) DIV 2;«, l3=0x1e}
0x0c51…0c7b Line {l1=0x28, l2=» IF SØGEORD > KEYWORDLIST(I) THEN«, l3=0x28}
0x0c7b…0c8c Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x0c8c…0ca5 Line {l1=0x17, l2=» FIRST:=I+1;«, l3=0x17}
0x0ca5…0cc5 Line {l1=0x1e, l2=» IF FIRST>LAST THEN«, l3=0x1e}
0x0cc5…0ce1 Line {l1=0x1a, l2=» FIRST:=LAST;«, l3=0x1a}
0x0ce1…0cf0 Line {l1=0x0d, l2=» END«, l3=0x0d}
0x0cf0…0cfe Line {l1=0x0c, l2=» ELSE«, l3=0x0c}
0x0cfe…0d2a Line {l1=0x2a, l2=» IF SØGEORD < KEYWORDLIST(I) THEN«, l3=0x2a}
0x0d2a…0d3d Line {l1=0x11, l2=» BEGIN«, l3=0x11}
0x0d3d…0d57 Line {l1=0x18, l2=» LAST:=I-1;«, l3=0x18}
0x0d57…0d79 Line {l1=0x20, l2=» IF FIRST>LAST THEN«, l3=0x20}
0x0d79…0d97 Line {l1=0x1c, l2=» LAST:=FIRST;«, l3=0x1c}
0x0d97…0da9 Line {l1=0x10, l2=» END «, l3=0x10}
0x0da9…0db9 Line {l1=0x0e, l2=» ELSE«, l3=0x0e}
0x0db9…0dcc Line {l1=0x11, l2=» BEGIN«, l3=0x11}
0x0dcc…0de4 Line {l1=0x16, l2=» LAST:=I;«, l3=0x16}
0x0de4…0e00 Line {l1=0x1a, l2=» FIRST:=LAST;«, l3=0x1a}
0x0e00…0e12 Line {l1=0x10, l2=» END;«, l3=0x10}
0x0e12…0e1e Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x0e1e…0e4b Line {l1=0x2b, l2=» KEYWORD:= SØGEORD = KEYWORDLIST(FIRST);«, l3=0x2b}
0x0e4b…0e64 Line {l1=0x17, l2=» IF NOT KEYWORD THEN«, l3=0x17}
0x0e64…0e6c Line {l1=0x06, l2=» END;«, l3=0x06}
0x0e6c…0e6f Line {l1=0x01, l2=» «, l3=0x01}
0x0e6f…0e9d Line {l1=0x2c, l2=»PROCEDURE BUILDTREE( VAR TREE: TREEPOINTER);«, l3=0x2c}
0x0e9d…0ea4 Line {l1=0x05, l2=» VAR«, l3=0x05}
0x0ea4…0ec0 Line {l1=0x1a, l2=» CURRENTWORD: WORDTYPE;«, l3=0x1a}
0x0ec0…0edb Line {l1=0x19, l2=» CURRENTLINE: COUNTER;«, l3=0x19}
0x0edb…0ef3 Line {l1=0x16, l2=» TILSTAND: INTEGER;«, l3=0x16}
0x0ef3…0ef6 Line {l1=0x01, l2=» «, l3=0x01}
0x0ef6…0f21 Line {l1=0x29, l2=» PROCEDURE GETWORD ( VAR WORD: WORDTYPE;«, l3=0x29}
0x0f21…0f4c Line {l1=0x29, l2=» VAR LINE: COUNTER);«, l3=0x29}
0x0f4c…0f55 Line {l1=0x07, l2=» VAR«, l3=0x07}
0x0f55…0f6f Line {l1=0x18, l2=» CURRENTCHAR: CHAR;«, l3=0x18}
0x0f6f…0f9a Line {l1=0x29, l2=» INDEX, BLANKINDEX: 0 .. MAXWORDLEN;«, l3=0x29}
0x0f9a…0f9d Line {l1=0x01, l2=» «, l3=0x01}
0x0f9d…0fc4 Line {l1=0x25, l2=» PROCEDURE GETCHAR ( VAR CH: CHAR;«, l3=0x25}
0x0fc4…0ff0 Line {l1=0x2a, l2=» VAR LIN: COUNTER);«, l3=0x2a}
0x0ff0…0ff3 Line {l1=0x01, l2=» «, l3=0x01}
0x0ff3…100e Line {l1=0x19, l2=» BEGIN (* GETCHAR *)«, l3=0x19}
0x100e…1031 Line {l1=0x21, l2=» IF EOF(OUTPUT) THEN SLUT;«, l3=0x21}
0x1031…104c Line {l1=0x19, l2=» IF INCLUDE THEN«, l3=0x19}
0x104c…105f Line {l1=0x11, l2=» BEGIN«, l3=0x11}
0x105f…1086 Line {l1=0x25, l2=» IF EOF(INCLUDEFIL) THEN«, l3=0x25}
0x1086…109d Line {l1=0x15, l2=» BEGIN«, l3=0x15}
0x109d…10c0 Line {l1=0x21, l2=» INCLUDE:=FALSE;«, l3=0x21}
0x10c0…10e6 Line {l1=0x24, l2=» CLOSE(INCLUDEFIL);«, l3=0x24}
0x10e6…1106 Line {l1=0x1e, l2=» CH := BLANK;«, l3=0x1e}
0x1106…111b Line {l1=0x13, l2=» END«, l3=0x13}
0x111b…112f Line {l1=0x12, l2=» ELSE«, l3=0x12}
0x112f…117b Line {l1=0x4a, l2=» IF ((EOLN(INCLUDEFIL)) AND (CH IN LETTERS+TALOGTEGN)) THEN«, l3=0x4a}
0x117b…1198 Line {l1=0x1b, l2=» CH:=BLANK«, l3=0x1b}
0x1198…11ae Line {l1=0x14, l2=» ELSE«, l3=0x14}
0x11ae…11da Line {l1=0x2a, l2=» IF EOLN(INCLUDEFIL) THEN«, l3=0x2a}
0x11da…11f5 Line {l1=0x19, l2=» BEGIN«, l3=0x19}
0x11f5…1219 Line {l1=0x22, l2=» CH := BLANK;«, l3=0x22}
0x1219…123f Line {l1=0x24, l2=» LIN := LIN +1;«, l3=0x24}
0x123f…1268 Line {l1=0x27, l2=» IF POINTLIST THEN«, l3=0x27}
0x1268…1287 Line {l1=0x1d, l2=» BEGIN«, l3=0x1d}
0x1287…12ae Line {l1=0x25, l2=» WRITE('.');«, l3=0x25}
0x12ae…12e2 Line {l1=0x32, l2=» IF (LIN MOD 50) = 0 THEN«, l3=0x32}
0x12e2…1305 Line {l1=0x21, l2=» BEGIN«, l3=0x21}
0x1305…132e Line {l1=0x27, l2=» WRITELN; «, l3=0x27}
0x132e…1365 Line {l1=0x35, l2=» WRITE('<><',LIN:4,'>');«, l3=0x35}
0x1365…1387 Line {l1=0x20, l2=» END;«, l3=0x20}
0x1387…13a5 Line {l1=0x1c, l2=» END;«, l3=0x1c}
0x13a5…13cf Line {l1=0x28, l2=» READLN(INCLUDEFIL)«, l3=0x28}
0x13cf…13e8 Line {l1=0x17, l2=» END«, l3=0x17}
0x13e8…1400 Line {l1=0x16, l2=» ELSE«, l3=0x16}
0x1400…142a Line {l1=0x28, l2=» READ(INCLUDEFIL,CH);«, l3=0x28}
0x142a…143b Line {l1=0x0f, l2=» END«, l3=0x0f}
0x143b…144b Line {l1=0x0e, l2=» ELSE«, l3=0x0e}
0x144b…146c Line {l1=0x1f, l2=» IF EOF(INDFIL) THEN«, l3=0x1f}
0x146c…1487 Line {l1=0x19, l2=» CH := BLANK«, l3=0x19}
0x1487…1499 Line {l1=0x10, l2=» ELSE«, l3=0x10}
0x1499…14df Line {l1=0x44, l2=» IF ((EOLN(INDFIL)) AND (CH IN LETTERS+TALOGTEGN)) THEN«, l3=0x44}
0x14df…14fa Line {l1=0x19, l2=» CH:=BLANK«, l3=0x19}
0x14fa…150e Line {l1=0x12, l2=» ELSE«, l3=0x12}
0x150e…1534 Line {l1=0x24, l2=» IF EOLN(INDFIL) THEN«, l3=0x24}
0x1534…154d Line {l1=0x17, l2=» BEGIN«, l3=0x17}
0x154d…156f Line {l1=0x20, l2=» CH := BLANK;«, l3=0x20}
0x156f…1593 Line {l1=0x22, l2=» LIN := LIN +1;«, l3=0x22}
0x1593…15ba Line {l1=0x25, l2=» IF POINTLIST THEN«, l3=0x25}
0x15ba…15d7 Line {l1=0x1b, l2=» BEGIN«, l3=0x1b}
0x15d7…15fc Line {l1=0x23, l2=» WRITE('.');«, l3=0x23}
0x15fc…162e Line {l1=0x30, l2=» IF (LIN MOD 50) = 0 THEN«, l3=0x30}
0x162e…164f Line {l1=0x1f, l2=» BEGIN«, l3=0x1f}
0x164f…1676 Line {l1=0x25, l2=» WRITELN; «, l3=0x25}
0x1676…16ab Line {l1=0x33, l2=» WRITE('<><',LIN:4,'>');«, l3=0x33}
0x16ab…16cb Line {l1=0x1e, l2=» END;«, l3=0x1e}
0x16cb…16e7 Line {l1=0x1a, l2=» END;«, l3=0x1a}
0x16e7…170b Line {l1=0x22, l2=» READLN(INDFIL)«, l3=0x22}
0x170b…1722 Line {l1=0x15, l2=» END«, l3=0x15}
0x1722…1738 Line {l1=0x14, l2=» ELSE«, l3=0x14}
0x1738…175c Line {l1=0x22, l2=» READ(INDFIL,CH);«, l3=0x22}
0x175c…1794 Line {l1=0x36, l2=» IF (CH IN (. 'a'..'å' .)) AND SMÅTILSTORE THEN«, l3=0x36}
0x1794…17cc Line {l1=0x36, l2=» CH := CHR( ORD(CH) - (ORD('a') - ORD('A')));«, l3=0x36}
0x17cc…17e6 Line {l1=0x18, l2=» END; (* GETCHAR *)«, l3=0x18}
0x17e6…17e9 Line {l1=0x01, l2=» «, l3=0x01}
0x17e9…1802 Line {l1=0x17, l2=» BEGIN (* GETWORD *)«, l3=0x17}
0x1802…181a Line {l1=0x16, l2=» INCLUDENAME:='';«, l3=0x16}
0x181a…183f Line {l1=0x23, l2=» WORD:=' ';«, l3=0x23}
0x183f…1853 Line {l1=0x12, l2=» TILSTAND:=1;«, l3=0x12}
0x1853…1861 Line {l1=0x0c, l2=» REPEAT«, l3=0x0c}
0x1861…1885 Line {l1=0x22, l2=» GETCHAR(CURRENTCHAR,LINE);«, l3=0x22}
0x1885…189f Line {l1=0x18, l2=» CASE TILSTAND OF«, l3=0x18}
0x189f…18cf Line {l1=0x2e, l2=»(* Normal *) 1: IF (CURRENTCHAR = '''') THEN«, l3=0x2e}
0x18cf…18f2 Line {l1=0x21, l2=» TILSTAND := 2«, l3=0x21}
0x18f2…190a Line {l1=0x16, l2=» ELSE«, l3=0x16}
0x190a…193b Line {l1=0x2f, l2=» IF (CURRENTCHAR = '(') THEN«, l3=0x2f}
0x193b…1961 Line {l1=0x24, l2=» TILSTAND := 3;«, l3=0x24}
0x1961…1991 Line {l1=0x2e, l2=»(* After ' *) 2: IF (CURRENTCHAR = '''') THEN«, l3=0x2e}
0x1991…19b5 Line {l1=0x22, l2=» TILSTAND := 1;«, l3=0x22}
0x19b5…19e4 Line {l1=0x2d, l2=»(* After ( *) 3: IF (CURRENTCHAR = '*') THEN«, l3=0x2d}
0x19e4…1a07 Line {l1=0x21, l2=» TILSTAND := 4«, l3=0x21}
0x1a07…1a1f Line {l1=0x16, l2=» ELSE«, l3=0x16}
0x1a1f…1a51 Line {l1=0x30, l2=» IF (CURRENTCHAR = '''') THEN«, l3=0x30}
0x1a51…1a76 Line {l1=0x23, l2=» TILSTAND := 2«, l3=0x23}
0x1a76…1a90 Line {l1=0x18, l2=» ELSE«, l3=0x18}
0x1a90…1ab6 Line {l1=0x24, l2=» TILSTAND := 1;«, l3=0x24}
0x1ab6…1ae5 Line {l1=0x2d, l2=»(* After (* *) 4: IF (CURRENTCHAR = '$') THEN«, l3=0x2d}
0x1ae5…1b08 Line {l1=0x21, l2=» TILSTAND := 7«, l3=0x21}
0x1b08…1b20 Line {l1=0x16, l2=» ELSE«, l3=0x16}
0x1b20…1b44 Line {l1=0x22, l2=» TILSTAND := 5;«, l3=0x22}
0x1b44…1b73 Line {l1=0x2d, l2=»(* Comment *) 5: IF (CURRENTCHAR = '*') THEN«, l3=0x2d}
0x1b73…1b97 Line {l1=0x22, l2=» TILSTAND := 6;«, l3=0x22}
0x1b97…1bc6 Line {l1=0x2d, l2=»(* After * *) 6: IF (CURRENTCHAR = ')') THEN«, l3=0x2d}
0x1bc6…1beb Line {l1=0x23, l2=» TILSTAND := 1 «, l3=0x23}
0x1beb…1c03 Line {l1=0x16, l2=» ELSE«, l3=0x16}
0x1c03…1c27 Line {l1=0x22, l2=» TILSTAND := 5;«, l3=0x22}
0x1c27…1c56 Line {l1=0x2d, l2=»(* Option *) 7: IF (CURRENTCHAR = 'I') THEN«, l3=0x2d}
0x1c56…1c79 Line {l1=0x21, l2=» TILSTAND := 9«, l3=0x21}
0x1c79…1c91 Line {l1=0x16, l2=» ELSE«, l3=0x16}
0x1c91…1cb5 Line {l1=0x22, l2=» TILSTAND := 8;«, l3=0x22}
0x1cb5…1ce4 Line {l1=0x2d, l2=»(* Op.not I *) 8: IF (CURRENTCHAR = ',') THEN«, l3=0x2d}
0x1ce4…1d07 Line {l1=0x21, l2=» TILSTAND := 7«, l3=0x21}
0x1d07…1d1f Line {l1=0x16, l2=» ELSE«, l3=0x16}
0x1d1f…1d50 Line {l1=0x2f, l2=» IF (CURRENTCHAR = '*') THEN«, l3=0x2f}
0x1d50…1d76 Line {l1=0x24, l2=» TILSTAND := 6;«, l3=0x24}
0x1d76…1da5 Line {l1=0x2d, l2=»(* Include *) 9: IF (CURRENTCHAR = '*') THEN«, l3=0x2d}
0x1da5…1dc0 Line {l1=0x19, l2=» BEGIN«, l3=0x19}
0x1dc0…1de6 Line {l1=0x24, l2=» INCLUDE:=TRUE;«, l3=0x24}
0x1de6…1e1c Line {l1=0x34, l2=» RESET(INCLUDEFIL,INCLUDENAME);«, l3=0x34}
0x1e1c…1e48 Line {l1=0x2a, l2=» READLN(INCLUDEFILE);«, l3=0x2a}
0x1e48…1e6c Line {l1=0x22, l2=» TILSTAND:=1;«, l3=0x22}
0x1e6c…1e91 Line {l1=0x23, l2=» LINE:=LINE+1;«, l3=0x23}
0x1e91…1eaa Line {l1=0x17, l2=» END«, l3=0x17}
0x1eaa…1ec2 Line {l1=0x16, l2=» ELSE«, l3=0x16}
0x1ec2…1edd Line {l1=0x19, l2=» BEGIN«, l3=0x19}
0x1edd…1efc Line {l1=0x1d, l2=» (*$R-*)«, l3=0x1d}
0x1efc…1f40 Line {l1=0x42, l2=» INCLUDENAME(0):= CHR(ORD(INCLUDENAME(0))+1);«, l3=0x42}
0x1f40…1f5f Line {l1=0x1d, l2=» (*$R+*)«, l3=0x1d}
0x1f5f…1fa5 Line {l1=0x44, l2=» INCLUDENAME(LENGTH(INCLUDENAME)):=CURRENTCHAR;«, l3=0x44}
0x1fa5…1fbf Line {l1=0x18, l2=» END;«, l3=0x18}
0x1fbf…1fcd Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x1fcd…2018 Line {l1=0x49, l2=» UNTIL ((CURRENTCHAR IN LETTERS) AND (TILSTAND = 1)) OR EOF(INDFIL);«, l3=0x49}
0x2018…201b Line {l1=0x01, l2=» «, l3=0x01}
0x201b…2038 Line {l1=0x1b, l2=» IF NOT EOF(INDFIL) THEN«, l3=0x1b}
0x2038…2045 Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x2045…2058 Line {l1=0x11, l2=» INDEX := 0;«, l3=0x11}
0x2058…2089 Line {l1=0x2f, l2=» WHILE CURRENTCHAR IN LETTERS+TALOGTEGN DO«, l3=0x2f}
0x2089…2098 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x2098…20bc Line {l1=0x22, l2=» IF INDEX < MAXWORDLEN THEN«, l3=0x22}
0x20bc…20cd Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x20cd…20eb Line {l1=0x1c, l2=» INDEX := INDEX +1;«, l3=0x1c}
0x20eb…2112 Line {l1=0x25, l2=» WORD(INDEX) := CURRENTCHAR;«, l3=0x25}
0x2112…2122 Line {l1=0x0e, l2=» END;«, l3=0x0e}
0x2122…213f Line {l1=0x1b, l2=» IF EOF(INDFIL) THEN«, l3=0x1b}
0x213f…215f Line {l1=0x1e, l2=» CURRENTCHAR := BLANK«, l3=0x1e}
0x215f…216d Line {l1=0x0c, l2=» ELSE«, l3=0x0c}
0x216d…2192 Line {l1=0x23, l2=» GETCHAR(CURRENTCHAR,LINE)«, l3=0x23}
0x2192…21ac Line {l1=0x18, l2=» END; (* WHILE *)«, l3=0x18}
0x21ac…21d8 Line {l1=0x2a, l2=» (*$R-*) WORD(0):=CHR(INDEX); (*$R+*)«, l3=0x2a}
0x21d8…21e1 Line {l1=0x07, l2=» END«, l3=0x07}
0x21e1…21f5 Line {l1=0x12, l2=»END; (* GETWORD *)«, l3=0x12}
0x21f5…21f8 Line {l1=0x01, l2=» «, l3=0x01}
0x21f8…222b Line {l1=0x31, l2=» PROCEDURE ENTERTREE ( VAR SUBTREE: TREEPOINTER;«, l3=0x31}
0x222b…2254 Line {l1=0x27, l2=» WORD: WORDTYPE;«, l3=0x27}
0x2254…227d Line {l1=0x27, l2=» LINE: COUNTER);«, l3=0x27}
0x227d…2280 Line {l1=0x01, l2=» «, l3=0x01}
0x2280…2289 Line {l1=0x07, l2=» VAR«, l3=0x07}
0x2289…22a8 Line {l1=0x1d, l2=» NEXTITEM: QUEUEPOINTER;«, l3=0x1d}
0x22a8…22ab Line {l1=0x01, l2=» «, l3=0x01}
0x22ab…22c6 Line {l1=0x19, l2=» BEGIN (* ENTERTREE *)«, l3=0x19}
0x22c6…22e1 Line {l1=0x19, l2=» IF SUBTREE = NIL THEN«, l3=0x19}
0x22e1…2305 Line {l1=0x22, l2=» BEGIN (* CREATE NEW ENTRY *)«, l3=0x22}
0x2305…231a Line {l1=0x13, l2=» NEW(SUBTREE);«, l3=0x13}
0x231a…2332 Line {l1=0x16, l2=» WITH SUBTREE^ DO«, l3=0x16}
0x2332…2341 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x2341…2357 Line {l1=0x14, l2=» LEFT := NIL;«, l3=0x14}
0x2357…236e Line {l1=0x15, l2=» RIGHT := NIL;«, l3=0x15}
0x236e…2385 Line {l1=0x15, l2=» WITH ENTRY DO«, l3=0x15}
0x2385…2396 Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x2396…23b4 Line {l1=0x1c, l2=» WORDVALUE := WORD;«, l3=0x1c}
0x23b4…23d2 Line {l1=0x1c, l2=» NEW(FIRSTINQUEUE);«, l3=0x1c}
0x23d2…23fa Line {l1=0x26, l2=» LASTINQUEUE := FIRSTINQUEUE;«, l3=0x26}
0x23fa…241b Line {l1=0x1f, l2=» WITH FIRSTINQUEUE^ DO«, l3=0x1f}
0x241b…242e Line {l1=0x11, l2=» BEGIN«, l3=0x11}
0x242e…244f Line {l1=0x1f, l2=» LINENUMBER := LINE;«, l3=0x1f}
0x244f…246f Line {l1=0x1e, l2=» NEXTINQUEUE := NIL«, l3=0x1e}
0x246f…2499 Line {l1=0x28, l2=» END (* WITH FIRSTINQUEUE^ *)«, l3=0x28}
0x2499…24b7 Line {l1=0x1c, l2=» END (* WITH ENTRY *)«, l3=0x1c}
0x24b7…24d6 Line {l1=0x1d, l2=» END (* WITH SUBTREE^ *)«, l3=0x1d}
0x24d6…24df Line {l1=0x07, l2=» END«, l3=0x07}
0x24df…2500 Line {l1=0x1f, l2=» ELSE (* APPEND A LIST ITEM *)«, l3=0x1f}
0x2500…251c Line {l1=0x1a, l2=» WITH SUBTREE^,ENTRY DO«, l3=0x1a}
0x251c…253c Line {l1=0x1e, l2=» IF WORD = WORDVALUE THEN«, l3=0x1e}
0x253c…254b Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x254b…257c Line {l1=0x2f, l2=» IF LASTINQUEUE^.LINENUMBER <> LINE THEN«, l3=0x2f}
0x257c…258d Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x258d…25a7 Line {l1=0x18, l2=» NEW(NEXTITEM);«, l3=0x18}
0x25a7…25c4 Line {l1=0x1b, l2=» WITH NEXTITEM^ DO«, l3=0x1b}
0x25c4…25d7 Line {l1=0x11, l2=» BEGIN«, l3=0x11}
0x25d7…25f8 Line {l1=0x1f, l2=» LINENUMBER := LINE;«, l3=0x1f}
0x25f8…2618 Line {l1=0x1e, l2=» NEXTINQUEUE := NIL«, l3=0x1e}
0x2618…263d Line {l1=0x23, l2=» END; (* WITH NEXTITEM^ *)«, l3=0x23}
0x263d…266e Line {l1=0x2f, l2=» LASTINQUEUE^.NEXTINQUEUE := NEXTITEM;«, l3=0x2f}
0x266e…2691 Line {l1=0x21, l2=» LASTINQUEUE := NEXTITEM«, l3=0x21}
0x2691…26a0 Line {l1=0x0d, l2=» END«, l3=0x0d}
0x26a0…26ad Line {l1=0x0b, l2=» END«, l3=0x0b}
0x26ad…26b9 Line {l1=0x0a, l2=» ELSE«, l3=0x0a}
0x26b9…26dc Line {l1=0x21, l2=» IF WORD < WORDVALUE THEN«, l3=0x21}
0x26dc…2701 Line {l1=0x23, l2=» ENTERTREE(LEFT,WORD,LINE)«, l3=0x23}
0x2701…270f Line {l1=0x0c, l2=» ELSE«, l3=0x0c}
0x270f…2735 Line {l1=0x24, l2=» ENTERTREE(RIGHT,WORD,LINE)«, l3=0x24}
0x2735…274d Line {l1=0x16, l2=» END; (* ENTERTREE *)«, l3=0x16}
0x274d…2750 Line {l1=0x01, l2=» «, l3=0x01}
0x2750…2769 Line {l1=0x17, l2=» BEGIN (* BUILDTREE *)«, l3=0x17}
0x2769…277e Line {l1=0x13, l2=» CURRENTLINE := 1;«, l3=0x13}
0x277e…279a Line {l1=0x1a, l2=» WHILE NOT EOF(INDFIL) DO«, l3=0x1a}
0x279a…27a5 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x27a5…27cc Line {l1=0x25, l2=» GETWORD(CURRENTWORD,CURRENTLINE);«, l3=0x25}
0x27cc…27ea Line {l1=0x1c, l2=» SØGKEYWORD(CURRENTWORD);«, l3=0x1c}
0x27ea…2819 Line {l1=0x2d, l2=» IF NOT EOF(INDFIL) AND (NOT KEYWORD) THEN«, l3=0x2d}
0x2819…2848 Line {l1=0x2d, l2=» ENTERTREE(TREE,CURRENTWORD,CURRENTLINE)«, l3=0x2d}
0x2848…285b Line {l1=0x11, l2=» END (* WHILE *)«, l3=0x11}
0x285b…2871 Line {l1=0x14, l2=»END; (* BUILDTREE *)«, l3=0x14}
0x2871…2874 Line {l1=0x01, l2=» «, l3=0x01}
[…0x1…]
0x2877…28a2 Line {l1=0x29, l2=»PROCEDURE PRINTTREE ( TREE: TREEPOINTER);«, l3=0x29}
0x28a2…28a9 Line {l1=0x05, l2=» VAR«, l3=0x05}
0x28a9…28c7 Line {l1=0x1c, l2=» PAGEPOSITION: PAGEINDEX;«, l3=0x1c}
0x28c7…28ef Line {l1=0x26, l2=» NUMBERWIDTH, MAXONLINE: LINEINDEX;«, l3=0x26}
0x28ef…290d Line {l1=0x1c, l2=» PAGECOUNTER: PAGENUMBER;«, l3=0x1c}
0x290d…2913 Line {l1=0x04, l2=» «, l3=0x04}
0x2913…2943 Line {l1=0x2e, l2=» PROCEDURE PRINTENTRY ( SUBTREE: TREEPOINTER;«, l3=0x2e}
0x2943…2977 Line {l1=0x32, l2=» VAR POSITION: PAGEINDEX);«, l3=0x32}
0x2977…2980 Line {l1=0x07, l2=» VAR«, l3=0x07}
0x2980…2999 Line {l1=0x17, l2=» INDEX: WORDINDEX;«, l3=0x17}
0x2999…29bc Line {l1=0x21, l2=» ITEMCOUNT: 0 .. MAXLINELEN;«, l3=0x21}
0x29bc…29da Line {l1=0x1c, l2=» ITEMPTR: QUEUEPOINTER;«, l3=0x1c}
0x29da…29dd Line {l1=0x01, l2=» «, l3=0x01}
0x29dd…2a18 Line {l1=0x39, l2=» PROCEDURE PRINTLINE ( VAR CURRENTPOSITION: PAGEINDEX;«, l3=0x39}
0x2a18…2a49 Line {l1=0x2f, l2=» NEWLINES: PAGEINDEX);«, l3=0x2f}
0x2a49…2a54 Line {l1=0x09, l2=» VAR«, l3=0x09}
0x2a54…2a75 Line {l1=0x1f, l2=» LINECOUNTER: PAGEINDEX;«, l3=0x1f}
0x2a75…2a78 Line {l1=0x01, l2=» «, l3=0x01}
0x2a78…2a95 Line {l1=0x1b, l2=» BEGIN (* PRINTLINE *)«, l3=0x1b}
0x2a95…2acb Line {l1=0x34, l2=» IF CURRENTPOSITION + NEWLINES < MAXONPAGE THEN«, l3=0x34}
0x2acb…2ada Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x2ada…2b07 Line {l1=0x2b, l2=» FOR LINECOUNTER := 1 TO NEWLINES DO«, l3=0x2b}
0x2b07…2b21 Line {l1=0x18, l2=» WRITELN(LIST);«, l3=0x18}
0x2b21…2b59 Line {l1=0x36, l2=» CURRENTPOSITION := CURRENTPOSITION + NEWLINES «, l3=0x36}
0x2b59…2b66 Line {l1=0x0b, l2=» END«, l3=0x0b}
0x2b66…2b72 Line {l1=0x0a, l2=» ELSE«, l3=0x0a}
0x2b72…2b81 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x2b81…2b99 Line {l1=0x16, l2=» WRITELN(LIST);«, l3=0x16}
0x2b99…2bba Line {l1=0x1f, l2=» IF PAGECOUNTER > 1 THEN«, l3=0x1f}
0x2bba…2bd3 Line {l1=0x17, l2=» PAGE( LIST );«, l3=0x17}
0x2bd3…2c14 Line {l1=0x3f, l2=» WRITE(LIST,HEADING,FILNAVN:12,'DATE: ':15,CLOCK^.DATE);«, l3=0x3f}
0x2c14…2c43 Line {l1=0x2d, l2=» WRITELN(LIST,' - PAGE ',PAGECOUNTER);«, l3=0x2d}
0x2c43…2c77 Line {l1=0x32, l2=» FOR LINECOUNTER := 1 TO HEADINGSIZE - 1 DO«, l3=0x32}
0x2c77…2c91 Line {l1=0x18, l2=» WRITELN(LIST);«, l3=0x18}
0x2c91…2cbe Line {l1=0x2b, l2=» CURRENTPOSITION := HEADINGSIZE + 1;«, l3=0x2b}
0x2cbe…2ce6 Line {l1=0x26, l2=» PAGECOUNTER := PAGECOUNTER + 1«, l3=0x26}
0x2ce6…2cf3 Line {l1=0x0b, l2=» END«, l3=0x0b}
0x2cf3…2d0f Line {l1=0x1a, l2=» END; (* PRINTLINE *)«, l3=0x1a}
0x2d0f…2d12 Line {l1=0x01, l2=» «, l3=0x01}
0x2d12…2d2e Line {l1=0x1a, l2=» BEGIN (* PRINTENTRY *)«, l3=0x1a}
0x2d2e…2d4f Line {l1=0x1f, l2=» IF EOF(OUTPUT) THEN SLUT;«, l3=0x1f}
0x2d4f…2d6d Line {l1=0x1c, l2=» IF SUBTREE <> NIL THEN«, l3=0x1c}
0x2d6d…2d87 Line {l1=0x18, l2=» WITH SUBTREE^ DO«, l3=0x18}
0x2d87…2d98 Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x2d98…2dbe Line {l1=0x24, l2=» PRINTENTRY(LEFT,POSITION);«, l3=0x24}
0x2dbe…2deb Line {l1=0x2b, l2=» PRINTLINE(POSITION,ENTRYGAP + 1);«, l3=0x2b}
0x2deb…2e04 Line {l1=0x17, l2=» WITH ENTRY DO«, l3=0x17}
0x2e04…2e17 Line {l1=0x11, l2=» BEGIN«, l3=0x11}
0x2e17…2e5f Line {l1=0x46, l2=» WRITE(LIST,WORDVALUE,'':(MAXWORDLEN-LENGTH(WORDVALUE)));«, l3=0x46}
0x2e5f…2e7c Line {l1=0x1b, l2=» ITEMCOUNT := 0;«, l3=0x1b}
0x2e7c…2ea2 Line {l1=0x24, l2=» ITEMPTR := FIRSTINQUEUE;«, l3=0x24}
0x2ea2…2ec7 Line {l1=0x23, l2=» WHILE ITEMPTR <> NIL DO«, l3=0x23}
0x2ec7…2edc Line {l1=0x13, l2=» BEGIN«, l3=0x13}
0x2edc…2f07 Line {l1=0x29, l2=» ITEMCOUNT := ITEMCOUNT + 1;«, l3=0x29}
0x2f07…2f34 Line {l1=0x2b, l2=» IF ITEMCOUNT > MAXONLINE THEN«, l3=0x2b}
0x2f34…2f4b Line {l1=0x15, l2=» BEGIN«, l3=0x15}
0x2f4b…2f73 Line {l1=0x26, l2=» PRINTLINE(POSITION,1);«, l3=0x26}
0x2f73…2fa4 Line {l1=0x2f, l2=» WRITE(LIST,BLANK : MAXWORDLEN);«, l3=0x2f}
0x2fa4…2fc4 Line {l1=0x1e, l2=» ITEMCOUNT := 1«, l3=0x1e}
0x2fc4…2fda Line {l1=0x14, l2=» END;«, l3=0x14}
0x2fda…3018 Line {l1=0x3c, l2=» WRITE(LIST,ITEMPTR^.LINENUMBER : NUMBERWIDTH);«, l3=0x3c}
0x3018…3048 Line {l1=0x2e, l2=» ITEMPTR := ITEMPTR^.NEXTINQUEUE «, l3=0x2e}
0x3048…3067 Line {l1=0x1d, l2=» END (* WHILE *)«, l3=0x1d}
0x3067…308a Line {l1=0x21, l2=» END; (* WITH ENTRY *)«, l3=0x21}
0x308a…30b0 Line {l1=0x24, l2=» PRINTENTRY(RIGHT,POSITION)«, l3=0x24}
0x30b0…30d0 Line {l1=0x1e, l2=» END (* WITH SUBTREE *)«, l3=0x1e}
0x30d0…30eb Line {l1=0x19, l2=» END; (* PRINTENTRY *)«, l3=0x19}
0x30eb…30ee Line {l1=0x01, l2=» «, l3=0x01}
0x30ee…3107 Line {l1=0x17, l2=» BEGIN (* PRINTTREE *)«, l3=0x17}
0x3107…314a Line {l1=0x41, l2=» NUMBERWIDTH := TRUNC(LN(MAXLINES)/LN(RADIX)) + 1 + NUMBERGAP;«, l3=0x41}
0x314a…3187 Line {l1=0x3b, l2=» MAXONLINE := (MAXLINELEN - MAXWORDLEN) DIV NUMBERWIDTH;«, l3=0x3b}
0x3187…31a7 Line {l1=0x1e, l2=» PAGEPOSITION := MAXONPAGE;«, l3=0x1e}
0x31a7…31be Line {l1=0x15, l2=» PAGECOUNTER := 1;«, l3=0x15}
0x31be…31e2 Line {l1=0x22, l2=» PRINTENTRY(TREE,PAGEPOSITION);«, l3=0x22}
0x31e2…31f6 Line {l1=0x12, l2=» WRITELN(LIST);«, l3=0x12}
0x31f6…3208 Line {l1=0x10, l2=» PAGE( LIST )«, l3=0x10}
0x3208…3220 Line {l1=0x16, l2=» END; (* PRINTTREE *)«, l3=0x16}
0x3220…3223 Line {l1=0x01, l2=» «, l3=0x01}
0x3223…3236 Line {l1=0x11, l2=»BEGIN (* PXREF *)«, l3=0x11}
0x3236…3239 Line {l1=0x01, l2=» «, l3=0x01}
0x3239…3245 Line {l1=0x0a, l2=» WRITELN;«, l3=0x0a}
0x3245…327d Line {l1=0x36, l2=» WRITELN('Pascal cross-reference program initiated');«, l3=0x36}
0x327d…328c Line {l1=0x0d, l2=» LÆSKEYWORD;«, l3=0x0d}
0x328c…328f Line {l1=0x01, l2=» «, l3=0x01}
0x328f…32aa Line {l1=0x19, l2=» IF PARM^(1) <> ' ' THEN«, l3=0x19}
0x32aa…32b5 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x32b5…32dc Line {l1=0x25, l2=» FILNAVN:=' ';«, l3=0x25}
0x32dc…32e9 Line {l1=0x0b, l2=» I:=1;«, l3=0x0b}
0x32e9…331e Line {l1=0x33, l2=» WHILE (PARM^(I)<> ' ') AND (PARM^(I)<>',') DO«, l3=0x33}
0x331e…332d Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x332d…334e Line {l1=0x1f, l2=» FILNAVN(I):=PARM^(I);«, l3=0x1f}
0x334e…3361 Line {l1=0x11, l2=» I:=I+1;«, l3=0x11}
0x3361…336f Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x336f…339c Line {l1=0x2b, l2=» (*$R-*) FILNAVN(0):=CHR(I-1); (*$R+*)«, l3=0x2b}
0x339c…33bc Line {l1=0x1e, l2=» RESET( INDFIL,FILNAVN );«, l3=0x1e}
0x33bc…33d8 Line {l1=0x1a, l2=» IF IORESULT = 1 THEN«, l3=0x1a}
0x33d8…33e7 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x33e7…340d Line {l1=0x24, l2=» WRITELN('File not found');«, l3=0x24}
0x340d…341e Line {l1=0x0f, l2=» SLUT;«, l3=0x0f}
0x341e…342c Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x342c…3445 Line {l1=0x17, l2=» READLN( INDFIL );«, l3=0x17}
0x3445…3460 Line {l1=0x19, l2=» POINTLIST := FALSE;«, l3=0x19}
0x3460…347e Line {l1=0x1c, l2=» IF PARM^(I) = ',' THEN«, l3=0x1c}
0x347e…34a5 Line {l1=0x25, l2=» POINTLIST:= PARM^(I+1) = 'L';«, l3=0x25}
0x34a5…34c1 Line {l1=0x1a, l2=» SMÅTILSTORE := TRUE;«, l3=0x1a}
0x34c1…34e3 Line {l1=0x20, l2=» LETTERS := (. 'A'..'Å' .);«, l3=0x20}
0x34e3…34ec Line {l1=0x07, l2=» END«, l3=0x07}
0x34ec…34f4 Line {l1=0x06, l2=» ELSE«, l3=0x06}
0x34f4…34ff Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x34ff…350f Line {l1=0x0e, l2=» WRITELN;«, l3=0x0e}
0x350f…3526 Line {l1=0x15, l2=» FILNAVN := ' ';«, l3=0x15}
0x3526…3549 Line {l1=0x21, l2=» WRITE('Enter file name: ');«, l3=0x21}
0x3549…3558 Line {l1=0x0d, l2=» READLN;«, l3=0x0d}
0x3558…356e Line {l1=0x14, l2=» READ(FILNAVN);«, l3=0x14}
0x356e…3587 Line {l1=0x17, l2=» IF EOF THEN SLUT;«, l3=0x17}
0x3587…35a7 Line {l1=0x1e, l2=» RESET( INDFIL,FILNAVN );«, l3=0x1e}
0x35a7…35c5 Line {l1=0x1c, l2=» IF IORESULT = 1 THEN«, l3=0x1c}
0x35c5…35d6 Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x35d6…35fe Line {l1=0x26, l2=» WRITELN('File not found');«, l3=0x26}
0x35fe…3611 Line {l1=0x11, l2=» SLUT;«, l3=0x11}
0x3611…3621 Line {l1=0x0e, l2=» END;«, l3=0x0e}
0x3621…363a Line {l1=0x17, l2=» READLN( INDFIL );«, l3=0x17}
0x363a…363d Line {l1=0x01, l2=» «, l3=0x01}
0x363d…3655 Line {l1=0x16, l2=» POINTLIST:=TRUE;«, l3=0x16}
0x3655…366a Line {l1=0x13, l2=» JANEJ := 'Y';«, l3=0x13}
0x366a…3694 Line {l1=0x28, l2=» WRITE('Convert small letters ? ');«, l3=0x28}
0x3694…36aa Line {l1=0x14, l2=» EDIT( JANEJ );«, l3=0x14}
0x36aa…36c3 Line {l1=0x17, l2=» IF EOF THEN SLUT;«, l3=0x17}
0x36c3…36ec Line {l1=0x27, l2=» IF JANEJ(1) IN (. 'y','Y' .) THEN«, l3=0x27}
0x36ec…36fb Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x36fb…371b Line {l1=0x1e, l2=» SMÅTILSTORE := TRUE;«, l3=0x1e}
0x371b…3741 Line {l1=0x24, l2=» LETTERS := (. 'A'..'Å' .);«, l3=0x24}
0x3741…374e Line {l1=0x0b, l2=» END«, l3=0x0b}
0x374e…375a Line {l1=0x0a, l2=» ELSE«, l3=0x0a}
0x375a…3769 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x3769…3798 Line {l1=0x2d, l2=» LETTERS := (. 'A'..'Å','a'..'å' .);«, l3=0x2d}
0x3798…37b9 Line {l1=0x1f, l2=» SMÅTILSTORE := FALSE;«, l3=0x1f}
0x37b9…37c7 Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x37c7…37d1 Line {l1=0x08, l2=» END;«, l3=0x08}
0x37d1…37d4 Line {l1=0x01, l2=» «, l3=0x01}
0x37d4…37e9 Line {l1=0x13, l2=» IF POINTLIST THEN«, l3=0x13}
0x37e9…3802 Line {l1=0x17, l2=» WRITE('<>< 0>.');«, l3=0x17}
0x3802…3805 Line {l1=0x01, l2=» «, l3=0x01}
0x3805…3818 Line {l1=0x11, l2=» INCLUDE:=FALSE;«, l3=0x11}
0x3818…381b Line {l1=0x01, l2=» «, l3=0x01}
0x381b…3843 Line {l1=0x26, l2=» TALOGTEGN := (. '0'..'9','^','_' .);«, l3=0x26}
0x3843…3857 Line {l1=0x12, l2=» WORDTREE := NIL;«, l3=0x12}
0x3857…386f Line {l1=0x16, l2=» BUILDTREE(WORDTREE);«, l3=0x16}
0x386f…3884 Line {l1=0x13, l2=» IF POINTLIST THEN«, l3=0x13}
0x3884…3892 Line {l1=0x0c, l2=» WRITELN;«, l3=0x0c}
0x3892…38aa Line {l1=0x16, l2=» PRINTTREE(WORDTREE);«, l3=0x16}
0x38aa…38bc Line {l1=0x10, l2=» CLOSE(INDFIL);«, l3=0x10}
0x38bc…38f4 Line {l1=0x36, l2=» WRITELN('Cross-reference of ',FILNAVN,' completed');«, l3=0x36}
0x38f4…3906 Line {l1=0x10, l2=»END. (* PXREF *)«, l3=0x10}
0x3906…3920 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆ cccccccccccccccccccccccc┆
0x3920…3940 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆cccccccccccccccccccccccccccccccc┆
[…0xf…]
0x3b20…3b40 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 05 ┆ccccccccccccccccccccccccccccccc ┆
0x3b40…3b60 08 7e fe 20 c2 05 04 0a 02 c8 02 04 04 08 23 05 c2 04 04 0a 02 ba 02 04 02 08 c3 02 04 0a 02 a2 ┆ ü # ┆
0x3b60…3b80 02 04 02 08 cd 02 05 0b 02 00 00 00 05 03 08 c9 01 03 05 0b 04 00 00 00 05 04 08 3e 01 cd 04 05 ┆ > ┆
0x3b80…3ba0 0b 0d 00 00 00 05 04 08 a7 c0 c3 04 04 0a 02 d4 00 04 10 08 60 69 0b 0b 0b c5 e5 0a 47 3e 20 0e ┆ `i G> ┆
0x3ba0…3bc0 01 be c2 10 04 0a 02 ee 02 04 03 08 0c c3 03 04 0a 02 07 03 04 03 08 0d fa 03 04 0a 02 05 03 49 ┆ I┆
0x3bc0…3be0 47 48 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 29 29 29 28 2a 20 4a 45 4e 53 20 53 45 4a ┆GHT *)))(* JENS SEJ┆
0x3be0…3c00 45 52 20 4a 4f 48 41 4e 53 45 4e 20 31 39 38 31 2e 30 39 2e 31 35 20 20 20 20 20 20 2a 29 29 29 ┆ER JOHANSEN 1981.09.15 *)))┆
0x3c00…3c20 28 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 56 45 52 53 49 4f 4e 20 30 2e 31 20 2a 2a 2a 2a 2a 2a 2a 2a ┆(********** VERSION 0.1 ********┆
0x3c20…3c40 2c 50 59 2c 54 52 41 43 4b 59 2c 53 45 43 54 4f 52 59 2c 53 49 5a 45 2c 31 2c 52 45 53 55 4c 54 ┆,PY,TRACKY,SECTORY,SIZE,1,RESULT┆
0x3c40…3c60 29 3b 2e 22 20 20 49 46 20 52 45 53 55 4c 54 20 3c 3e 20 30 20 54 48 45 4e 20 49 4f 45 52 52 4f ┆);." IF RESULT <> 0 THEN IOERRO┆
0x3c60…3c80 52 28 50 59 29 3b 22 11 20 20 43 4f 4d 50 42 55 46 53 28 53 49 5a 45 29 3b 11 12 20 20 43 41 53 ┆R(PY);" COMPBUFS(SIZE); CAS┆
0x3c80…3ca0 45 20 46 52 4f 4d 44 49 53 4b 20 4f 46 12 0a 27 56 27 3a 20 42 45 47 49 4e 0a 2d 20 20 20 20 20 ┆E FROMDISK OF 'V': BEGIN - ┆
0x3ca0…3cc0 20 20 50 4c 41 44 52 28 54 52 41 43 4b 57 2c 53 45 43 54 4f 52 57 2c 53 49 5a 45 2c 58 44 49 53 ┆ PLADR(TRACKW,SECTORW,SIZE,XDIS┆
0x3cc0…3ce0 4b 44 45 53 43 52 29 3b 2d 2d 20 20 20 20 20 20 20 50 4c 41 44 52 28 54 52 41 43 4b 4f 2c 53 45 ┆KDESCR);-- PLADR(TRACKO,SE┆
0x3ce0…3d00 43 54 4f 52 4f 2c 53 49 5a 45 2c 59 44 49 53 4b 44 45 53 43 52 29 3b 2d 09 20 20 20 20 20 45 4e ┆CTORO,SIZE,YDISKDESCR);- EN┆
0x3d00…3d20 44 3b 09 0a 27 4f 27 3a 20 42 45 47 49 4e 0a 2d 20 20 20 20 20 20 20 50 4c 41 44 52 28 54 52 41 ┆D; 'O': BEGIN - PLADR(TRA┆
0x3d20…3d40 43 4b 4f 2c 53 45 43 54 4f 52 4f 2c 53 49 5a 45 2c 58 44 49 53 4b 44 45 53 43 52 29 3b 2d 2d 20 ┆CKO,SECTORO,SIZE,XDISKDESCR);-- ┆
0x3d40…3d60 20 20 20 20 20 20 50 4c 41 44 52 28 54 52 41 43 4b 57 2c 53 45 43 54 4f 52 57 2c 53 49 5a 45 2c ┆ PLADR(TRACKW,SECTORW,SIZE,┆
0x3d60…3d80 59 44 49 53 4b 44 45 53 43 52 29 3b 2d 09 20 20 20 20 20 45 4e 44 3b 09 06 20 20 45 4e 44 3b 06 ┆YDISKDESCR);- END; END; ┆
0x3d80…3da0 1e 20 20 43 55 52 53 45 43 54 57 20 3a 3d 20 43 55 52 53 45 43 54 57 20 2b 20 53 49 5a 45 3b 1e ┆ CURSECTW := CURSECTW + SIZE; ┆
0x3da0…3dc0 04 45 4e 44 3b 04 01 20 01 01 20 01 01 20 01 10 50 52 4f 43 45 44 55 52 45 20 57 4d 4f 56 45 3b ┆ END; PROCEDURE WMOVE;┆
0x3dc0…3de0 10 20 56 41 52 20 52 45 53 54 53 45 43 54 57 3a 20 52 45 41 4c 3b 20 49 3a 20 49 4e 54 45 47 45 ┆ VAR RESTSECTW: REAL; I: INTEGE┆
0x3de0…3e00 52 3b 20 05 42 45 47 49 4e 05 1b 20 20 46 4f 52 20 49 20 3a 3d 20 31 20 54 4f 20 42 55 46 54 49 ┆R; BEGIN FOR I := 1 TO BUFTI┆
0x3e00…3e20 4d 45 53 20 44 4f 1b 07 20 20 42 45 47 49 4e 07 29 20 20 20 20 52 45 53 54 53 45 43 54 57 20 3a ┆MES DO BEGIN ) RESTSECTW :┆
0x3e20…3e40 3d 20 4e 4f 4f 46 53 45 43 57 20 2d 20 43 55 52 53 45 43 54 57 20 2b 20 31 3b 29 20 20 20 20 20 ┆= NOOFSECW - CURSECTW + 1;) ┆
0x3e40…3e60 49 46 20 52 45 53 54 53 45 43 54 57 20 3e 3d 20 42 55 46 53 49 5a 45 20 54 48 45 4e 20 1b 20 20 ┆IF RESTSECTW >= BUFSIZE THEN ┆
0x3e60…3e80 20 20 20 20 54 52 41 4e 53 46 45 52 28 42 55 46 53 49 5a 45 2c 41 52 54 29 1b 08 20 20 20 20 45 ┆ TRANSFER(BUFSIZE,ART) E┆
0x3e80…3ea0 4c 53 45 08 17 20 20 20 20 20 20 49 46 20 52 45 53 54 53 45 43 54 57 20 3c 3e 20 30 17 2c 20 20 ┆LSE IF RESTSECTW <> 0 , ┆
0x3ea0…3ec0 20 20 20 20 20 20 54 48 45 4e 20 54 52 41 4e 53 46 45 52 28 54 52 55 4e 43 28 52 45 53 54 53 45 ┆ THEN TRANSFER(TRUNC(RESTSE┆
0x3ec0…3ee0 43 54 57 29 2c 41 52 54 29 3b 2c 06 20 20 45 4e 44 3b 06 27 20 20 52 45 53 54 53 45 43 54 57 20 ┆CTW),ART);, END; ' RESTSECTW ┆
0x3ee0…3f00 3a 3d 20 4e 4f 4f 46 53 45 43 57 20 2d 20 43 55 52 53 45 43 54 57 20 2b 20 31 3b 27 1e 20 20 49 ┆:= NOOFSECW - CURSECTW + 1;' I┆
0x3f00…3f20 46 20 52 45 53 54 53 45 43 54 57 20 3e 3d 20 42 55 46 52 45 53 54 20 54 48 45 4e 1e 19 20 20 20 ┆F RESTSECTW >= BUFREST THEN ┆
0x3f20…3f40 20 54 52 41 4e 53 46 45 52 28 42 55 46 52 45 53 54 2c 41 52 54 29 19 06 20 20 45 4c 53 45 06 1a ┆ TRANSFER(BUFREST,ART) ELSE ┆
0x3f40…3f60 20 20 20 20 49 46 20 52 45 53 54 53 45 43 54 57 20 3c 3e 20 30 20 54 48 45 4e 1a 25 20 20 20 20 ┆ IF RESTSECTW <> 0 THEN % ┆
0x3f60…3f80 20 20 54 52 41 4e 53 46 45 52 28 54 52 55 4e 43 28 52 45 53 54 53 45 43 54 57 29 2c 41 52 54 29 ┆ TRANSFER(TRUNC(RESTSECTW),ART)┆
0x3f80…3fa0 3b 25 0a 20 20 57 52 49 54 45 4c 4e 3b 0a 04 45 4e 44 3b 04 01 20 01 01 20 01 01 20 01 14 50 52 ┆;% WRITELN; END; PR┆
0x3fa0…3fc0 4f 43 45 44 55 52 45 20 43 4f 50 59 44 49 53 4b 53 3b 14 14 56 41 52 20 44 49 53 4b 4e 4f 3a 20 ┆OCEDURE COPYDISKS; VAR DISKNO: ┆
0x3fc0…3fe0 49 4e 54 45 47 45 52 3b 14 05 42 45 47 49 4e 05 0f 20 20 47 4f 54 4f 58 59 28 31 2c 31 30 29 3b ┆INTEGER; BEGIN GOTOXY(1,10);┆
0x3fe0…4000 0f 4d 20 20 57 52 49 54 45 4c 4e 28 27 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ M WRITELN('+------------------┆
0x4000…4020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆
0x4020…4040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 27 29 3b 4d 4e 20 20 57 52 49 54 45 4c 4e 28 27 21 20 57 69 ┆-----------+');MN WRITELN('! Wi┆
0x4040…4060 6e 63 68 65 73 74 65 72 20 64 69 73 6b 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 20 20 21 20 42 61 ┆nchester disk information: ! Ba┆
0x4060…4080 63 6b 2d 75 70 20 64 69 73 6b 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 20 20 20 21 27 29 3b 20 4e ┆ck-up disk information: !'); N┆
0x4080…40a0 4d 20 20 57 52 49 54 45 4c 4e 28 27 21 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆M WRITELN('!-------------------┆
0x40a0…40c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 21 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆------------!-------------------┆
0x40c0…40e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 21 27 29 3b 4d 4d 20 20 57 52 49 54 45 4c 4e 28 27 21 20 20 20 20 ┆----------!');MM WRITELN('! ┆
0x40e0…4100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 20 20 20 20 ┆ ! ┆
0x4100…4120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 27 29 3b 4d 4d 20 ┆ !');MM ┆
0x4120…4140 20 57 52 49 54 45 4c 4e 28 27 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ WRITELN('! ┆
0x4140…4160 20 20 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ! ┆
0x4160…4180 20 20 20 20 20 20 20 20 21 27 29 3b 4d 4d 20 20 57 52 49 54 45 4c 4e 28 27 21 20 20 20 20 20 20 ┆ !');MM WRITELN('! ┆
0x4180…41a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 ┆ ! ┆
0x41a0…41c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 27 29 3b 4d 4d 20 20 57 ┆ !');MM W┆
0x41c0…41e0 52 49 54 45 4c 4e 28 27 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆RITELN('! ┆
0x41e0…4200 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ! ┆
0x4200…4220 20 20 20 20 20 20 21 27 29 3b 4d 4d 20 20 57 52 49 54 45 4c 4e 28 27 21 20 20 20 20 20 20 20 20 ┆ !');MM WRITELN('! ┆
0x4220…4240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 ┆ ! ┆
0x4240…4260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 27 29 3b 4d 4d 20 20 57 52 49 ┆ !');MM WRI┆
0x4260…4280 54 45 4c 4e 28 27 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆TELN('! ┆
0x4280…42a0 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ! ┆
0x42a0…42c0 20 20 20 20 21 27 29 3b 4d 4d 20 20 57 52 49 54 45 4c 4e 28 27 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ !');MM WRITELN('+----------┆
0x42c0…42e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆
0x42e0…4300 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 27 29 3b 4d 15 20 20 57 52 49 54 45 ┆-------------------+');M WRITE┆
0x4300…4320 4c 41 42 45 4c 49 4e 46 28 27 56 27 29 3b 15 10 20 20 49 4e 53 45 52 54 44 49 53 4b 28 31 29 3b ┆LABELINF('V'); INSERTDISK(1);┆
0x4320…4340 10 0b 20 20 49 46 20 46 4c 41 47 3d 46 0b 08 20 20 20 20 54 48 45 4e 08 0b 20 20 20 20 20 20 42 ┆ IF FLAG=F THEN B┆
0x4340…4360 45 47 49 4e 0b 43 20 20 20 20 20 20 20 20 4e 4f 4f 46 53 45 43 57 3a 3d 4c 41 42 45 4c 57 2e 4c ┆EGIN C NOOFSECW:=LABELW.L┆
0x4360…4380 45 44 49 47 54 20 2a 20 58 44 49 53 4b 44 45 53 43 52 2e 41 53 50 53 50 20 2b 20 4c 41 42 45 4c ┆EDIGT * XDISKDESCR.ASPSP + LABEL┆
0x4380…43a0 57 2e 4c 45 44 49 47 53 3b 43 3e 20 20 20 20 20 20 20 20 4e 4f 4f 46 53 45 43 4f 3a 3d 59 44 49 ┆W.LEDIGS;C> NOOFSECO:=YDI┆
0x43a0…43c0 53 4b 44 45 53 43 52 2e 50 53 50 4f 52 20 2a 20 59 44 49 53 4b 44 45 53 43 52 2e 41 53 50 53 50 ┆SKDESCR.PSPOR * YDISKDESCR.ASPSP┆
0x43c0…43e0 20 2d 20 31 3b 20 20 20 20 3e 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ - 1; >9 ┆
0x43e0…4400 20 20 20 28 2a 20 2d 31 20 42 45 43 41 55 53 45 20 4f 46 20 54 48 45 20 4c 41 42 45 4c 20 53 45 ┆ (* -1 BECAUSE OF THE LABEL SE┆
0x4400…4420 43 54 4f 52 39 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆CTOR9= ┆
0x4420…4440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 4e 20 54 48 45 20 4f 54 48 45 52 20 44 49 53 4b ┆ ON THE OTHER DISK┆
0x4440…4460 20 2a 29 3d 2c 20 20 20 20 20 20 20 20 4e 4f 4f 46 44 49 53 4b 53 3a 3d 54 52 55 4e 43 28 4e 4f ┆ *)=, NOOFDISKS:=TRUNC(NO┆
0x4460…4480 4f 46 53 45 43 57 2f 4e 4f 4f 46 53 45 43 4f 29 3b 2c 2c 20 20 20 20 20 20 20 20 49 46 20 28 4e ┆OFSECW/NOOFSECO);,, IF (N┆
0x4480…44a0 4f 4f 46 44 49 53 4b 53 20 2a 20 4e 4f 4f 46 53 45 43 4f 29 20 3c 20 4e 4f 4f 46 53 45 43 57 2c ┆OOFDISKS * NOOFSECO) < NOOFSECW,┆
0x44a0…44c0 26 20 20 20 20 20 20 20 20 20 20 54 48 45 4e 20 4e 4f 4f 46 44 49 53 4b 53 3a 3d 4e 4f 4f 46 44 ┆& THEN NOOFDISKS:=NOOFD┆
0x44c0…44e0 49 53 4b 53 2b 31 3b 26 14 20 20 20 20 20 20 20 20 47 4f 54 4f 58 59 28 31 2c 38 29 3b 14 38 20 ┆ISKS+1;& GOTOXY(1,8); 8 ┆
0x44e0…4500 20 20 20 20 20 20 20 57 52 49 54 45 4c 4e 28 27 4e 75 6d 62 65 72 20 6f 66 20 64 69 73 6b 73 20 ┆ WRITELN('Number of disks ┆
0x4500…4520 72 65 71 75 69 72 65 64 3a 20 27 2c 4e 4f 4f 46 44 49 53 4b 53 29 3b 38 09 20 20 20 20 20 20 63 ┆required: ',NOOFDISKS);8 c┆
0x4520…4540 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆cccccccccccccccccccccccccccccccc┆
[…0x5…]