mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-25 17:34:06 +00:00
744 lines
36 KiB
Plaintext
744 lines
36 KiB
Plaintext
PL/M-86 COMPILER SCANNER MODULE 10/5/81 PAGE 1
|
||
|
||
|
||
ISIS-II PL/M-86 V2.0 COMPILATION OF MODULE SCANM
|
||
OBJECT MODULE PLACED IN SCAN.OBJ
|
||
COMPILER INVOKED BY: :F0: SCAN.PLM DEBUG OPTIMIZE(2) DATE(10/5/81) PAGEWIDTH(100) XREF
|
||
|
||
|
||
|
||
$title ('SCANNER MODULE')
|
||
1 scanm:
|
||
do;
|
||
|
||
/*
|
||
|
||
modified 3/26/81 R. Silberstein
|
||
modified 3/30/81 R. Silberstein
|
||
modified 4/10/81 R. Silberstein
|
||
modified 9/2/81 R. Silberstein
|
||
|
||
*/
|
||
|
||
$include (:f1:macro.lit)
|
||
= $nolist
|
||
$include (:f1:struc.lit)
|
||
= $nolist
|
||
$include (:f1:equals.lit)
|
||
= $nolist
|
||
$include (:f1:files.ext)
|
||
= $nolist
|
||
$include (:f1:predef.ext)
|
||
= $nolist
|
||
$include (:f1:subr2.ext)
|
||
= $nolist
|
||
$include (:f1:print.ext)
|
||
= $nolist
|
||
$include (:f1:global.ext)
|
||
= $nolist
|
||
|
||
/* Variables : */
|
||
|
||
107 1 dcl
|
||
eoffound byte, /* true if end-of-file is found */
|
||
lowercase byte, /* false if stringinput, otherwise true */
|
||
crfound byte, /* true if previous input was CR */
|
||
printready byte, /* true if output line to be printed */
|
||
stacksave addr; /* save of stack pointer */
|
||
|
||
|
||
/* Routine to perform unnormal exit from module */
|
||
|
||
108 1 exit: proc;
|
||
109 2 stackptr=stacksave; /* restore input stack */
|
||
110 2 end exit;
|
||
|
||
/* Put printcharacter into printfile output buffer */
|
||
|
||
111 1 putprintchar: proc(ch);
|
||
112 2 dcl ch byte;
|
||
113 2 sourcebuf(sourceptr)=ch;
|
||
PL/M-86 COMPILER SCANNER MODULE 10/5/81 PAGE 2
|
||
|
||
|
||
114 2 if sourceptr < last(sourcebuf) then$do
|
||
116 3 sourceptr=sourceptr+1;
|
||
117 3 end$if;
|
||
118 2 end putprintchar;
|
||
|
||
|
||
/* Read single character from input file. Put characters
|
||
except CR-LF to printbuffer. Convert to uppercase letters */
|
||
|
||
119 1 read$input: proc byte;
|
||
120 2 dcl ch byte;
|
||
121 2 if eoffound then call exit; /* unnormal exit */
|
||
/* read byte from file */
|
||
123 2 if include$on then ch=inincludebyte; else ch=insourcebyte;
|
||
126 2 if ch=end$of$file then$do /* test for end-of-file */
|
||
128 3 eoffound=true;
|
||
129 3 else$do
|
||
131 3 if crfound and ch=lf then$do /* ignore LF after CR */
|
||
133 4 ch=space;
|
||
134 4 else$do;
|
||
137 4 if ch=cr then$do /* test for CR */
|
||
139 5 crfound=true;
|
||
140 5 else$do;
|
||
143 5 crfound=false;
|
||
144 5 call putprintchar(ch);
|
||
145 5 if ch=lf then ch=space; /* interpret LF within line as space */
|
||
end$if;
|
||
148 4 end$if;
|
||
149 3 end$if;
|
||
150 2 if not lowercase then$do /* convert to uppercase */
|
||
152 3 ch=upper(ch);
|
||
153 3 end$if;
|
||
154 2 return ch;
|
||
155 2 end read$input;
|
||
|
||
|
||
/* skip blanks and tab's in input */
|
||
|
||
156 1 skip$blanks: proc;
|
||
157 2 do while nextch=space or nextch=tab;
|
||
158 3 nextch=read$input;
|
||
159 3 end$while;
|
||
160 2 end skip$blanks;
|
||
|
||
|
||
/* Put character into accumulator */
|
||
|
||
161 1 putaccum: proc(ch);
|
||
162 2 dcl ch byte;
|
||
163 2 accum(acclen)=ch;
|
||
164 2 if acclen < last(accum) then$do
|
||
166 3 acclen=acclen+1;
|
||
167 3 end$if;
|
||
168 2 end put$accum;
|
||
|
||
|
||
/* Routine to scan remainder of token until a non-
|
||
PL/M-86 COMPILER SCANNER MODULE 10/5/81 PAGE 3
|
||
|
||
|
||
alphanumeric character is found. Skip blanks
|
||
behind token */
|
||
|
||
169 1 get$remainder: proc(numb);
|
||
170 2 dcl (cont,numb) byte;
|
||
171 2 cont=true;
|
||
172 2 do while cont;
|
||
173 3 do while alphanumeric(nextch:=read$input);
|
||
174 4 call putaccum(nextch);
|
||
175 4 end$while;
|
||
176 3 cont=false;
|
||
177 3 if nextch = '@' or nextch = '_' then$do
|
||
179 4 cont=true;
|
||
180 4 if numb then call putaccum(nextch);
|
||
end$if;
|
||
end$while;
|
||
184 2 call skipblanks;
|
||
185 2 end get$remainder;
|
||
|
||
/* Routine to scan a text string. Called from SCAN */
|
||
|
||
186 1 stringr: proc;
|
||
187 2 dcl cont byte;
|
||
188 2 lowercase=true;
|
||
189 2 acclen=0;
|
||
190 2 cont=true;
|
||
191 2 do while cont;
|
||
192 3 nextch=readinput;
|
||
193 3 do while nextch <> '''' and nextch <> cr;
|
||
194 4 call putaccum(nextch);
|
||
195 4 nextch=read$input;
|
||
196 4 end$while;
|
||
197 3 if nextch='''' then$do
|
||
199 4 if (nextch:=readinput) = '''' then$do /* interpret '' as ' */
|
||
201 5 call putaccum(nextch);
|
||
202 5 else$do
|
||
204 5 lowercase=false;
|
||
205 5 call skipblanks;
|
||
206 5 token.type=string;
|
||
207 5 cont=false;
|
||
208 5 end$if;
|
||
209 4 else$do
|
||
211 4 lowercase=false;
|
||
212 4 token.type=error;
|
||
213 4 cont=false;
|
||
214 4 end$if;
|
||
215 3 end$while;
|
||
216 2 end stringr;
|
||
|
||
|
||
/* Routine to scan a number. Called from SCAN. Test syntax
|
||
of number, compute binary value. */
|
||
|
||
217 1 numbr: proc;
|
||
218 2 dcl
|
||
nobase byte, /* number system, 2,8,10 or 16 */
|
||
maxlgth byte, /* max legal no of digits */
|
||
PL/M-86 COMPILER SCANNER MODULE 10/5/81 PAGE 4
|
||
|
||
|
||
(i,j) byte, /* counters */
|
||
ch byte,
|
||
value addr, /* 16 bit binary value */
|
||
errorflag byte; /* syntax error flag */
|
||
|
||
219 2 errorflag=false;
|
||
220 2 call getremainder(true); /* get rest of token */
|
||
221 2 ch=accum(acclen-1); /* pick up last character of token */
|
||
222 2 j=acclen-2;
|
||
|
||
/* B (binary) */
|
||
223 2 IF CH = 'B' THEN
|
||
224 2 do; nobase=2; maxlgth=16; end;
|
||
|
||
/* O or Q (octal) */
|
||
228 2 ELSE IF CH = 'O' OR CH = 'Q' THEN
|
||
229 2 do; nobase=8; maxlgth=6; end;
|
||
|
||
/* H (hexadecimal) */
|
||
233 2 ELSE IF CH = 'H' THEN
|
||
234 2 do; nobase=16; maxlgth=4; end;
|
||
|
||
/* D (decimal) */
|
||
238 2 ELSE IF CH = 'D' THEN
|
||
239 2 do; nobase=10; maxlgth=5; end;
|
||
|
||
/* no subscript, default=decimal */
|
||
ELSE
|
||
243 2 do; nobase=10; maxlgth=5; j=j+1; end;
|
||
|
||
248 2 i=0ffh; /* skip leading zeros */
|
||
249 2 do while accum(i:=i+1) = '0'; end;
|
||
251 2 if j < maxlgth+i then$do
|
||
253 3 value=0; /* syntax check number, compute binary value */
|
||
254 3 do while i <= j;
|
||
255 4 ch=accum(i);
|
||
256 4 ch=ch-'0';
|
||
257 4 if ch > 9 then ch=ch-7;
|
||
259 4 if ch >= nobase then$do
|
||
261 5 errorflag=true;
|
||
262 5 end$if;
|
||
263 4 value=value*nobase+ch;
|
||
264 4 i=i+1;
|
||
265 4 end$while;
|
||
266 3 else$do
|
||
268 3 errorflag=true;
|
||
269 3 end$if;
|
||
|
||
270 2 if errorflag then$do
|
||
272 3 token.type=error;
|
||
273 3 else$do
|
||
275 3 token.type=number;
|
||
276 3 token.descr=0;
|
||
277 3 token.value=value;
|
||
278 3 end$if;
|
||
|
||
279 2 end numbr;
|
||
PL/M-86 COMPILER SCANNER MODULE 10/5/81 PAGE 5
|
||
|
||
|
||
|
||
|
||
/* Routine to scan an identifier. Lookup identifier in table
|
||
for predefined symbols */
|
||
|
||
280 1 identr: proc;
|
||
281 2 call get$remainder(false); /* get rest of token into accumulator */
|
||
/* look up identifier */
|
||
282 2 if not pfind(acclen,.accum(0),.token) then$do
|
||
284 3 token.type=ident;
|
||
285 3 end$if;
|
||
286 2 end identr;
|
||
|
||
/* PUBLIC subroutines : */
|
||
|
||
287 1 scaninit: proc public;
|
||
288 2 eofset,eoffound,crfound,lowercase,printready=false;
|
||
289 2 CALL FILL (SPACE, SIZE (PREFIX), .PREFIX);
|
||
290 2 CALL FILL (SPACE, LENGTH (ABSADDR), .ABSADDR);
|
||
291 2 sourceptr,prefixptr=0;
|
||
292 2 call printinit; /* initiate print module */
|
||
293 2 call rewindsource;
|
||
294 2 nextch=space;
|
||
295 2 end scaninit;
|
||
|
||
296 1 scan: proc public;
|
||
|
||
297 2 stacksave=stackptr;
|
||
298 2 if printready then$do
|
||
300 3 call print$source$line;
|
||
301 3 print$ready=false;
|
||
302 3 end$if;
|
||
303 2 call skipblanks;
|
||
304 2 if eoffound then$do
|
||
306 3 token.type=spec;
|
||
307 3 if crfound then$do
|
||
309 4 eoffound=false;
|
||
310 4 eofset=true;
|
||
311 4 else$do
|
||
313 4 printready=true; /* terminate line before EOF */
|
||
314 4 crfound=true;
|
||
315 4 accum(0)=cr;
|
||
316 4 end$if;
|
||
317 3 else$do
|
||
319 3 acclen=1;
|
||
320 3 accum(0)=nextch;
|
||
|
||
/* identifier */
|
||
321 3 IF LETTER (NEXTCH) THEN call identr;
|
||
|
||
/* number */
|
||
323 3 ELSE IF DIGIT (NEXTCH) THEN call numbr;
|
||
|
||
/* string */
|
||
325 3 ELSE IF NEXTCH = '''' THEN call stringr;
|
||
|
||
/* special letter */
|
||
PL/M-86 COMPILER SCANNER MODULE 10/5/81 PAGE 6
|
||
|
||
|
||
ELSE
|
||
327 3 do;
|
||
328 4 token.type=spec;
|
||
329 4 if nextch='!' then accum(0) = cr;
|
||
331 4 IF NEXTCH = ';' THEN$DO
|
||
333 5 DO WHILE ACCUM (0) <> CR;
|
||
334 6 ACCUM (0) = READINPUT;
|
||
335 6 END$WHILE;
|
||
336 5 END$IF;
|
||
337 4 nextch=space;
|
||
338 4 if crfound then$do
|
||
340 5 print$ready=true;
|
||
341 5 else$do
|
||
343 5 call skipblanks;
|
||
344 5 end$if;
|
||
345 4 end;
|
||
|
||
346 3 end$if;
|
||
347 2 end scan;
|
||
|
||
348 1 skip$rest$of$line: proc public;
|
||
349 2 do while accum(0) <> cr;
|
||
350 3 call scan;
|
||
351 3 end$while;
|
||
352 2 end skip$rest$of$line;
|
||
|
||
353 1 specialtoken: proc(tok) byte public;
|
||
354 2 dcl tok byte;
|
||
355 2 if (token.type=spec) and (accum(0)=tok) then return true;
|
||
357 2 return false;
|
||
358 2 end specialtoken;
|
||
|
||
359 1 skip$until: proc(tok) byte public;
|
||
360 2 dcl tok byte;
|
||
361 2 do forever;
|
||
362 3 if token.type=spec then$do
|
||
364 4 if accum(0)=tok then$do
|
||
366 5 call scan;
|
||
367 5 return true;
|
||
368 5 end$if;
|
||
369 4 if accum(0)=cr then return false;
|
||
end$if;
|
||
372 3 call scan;
|
||
373 3 end$forever;
|
||
374 2 end skip$until;
|
||
|
||
375 1 emptyline: proc byte public;
|
||
376 2 return specialtoken(cr);
|
||
377 2 end emptyline;
|
||
|
||
378 1 end$module scanm;
|
||
PL/M-86 COMPILER SCANNER MODULE 10/5/81 PAGE 7
|
||
|
||
|
||
CROSS-REFERENCE LISTING
|
||
-----------------------
|
||
|
||
|
||
DEFN ADDR SIZE NAME, ATTRIBUTES, AND REFERENCES
|
||
----- ------ ----- --------------------------------
|
||
|
||
|
||
49 0000H 2 A. . . . . . . . . WORD PARAMETER 50
|
||
104 0000H 4 ABSADDR. . . . . . BYTE ARRAY(4) EXTERNAL(70) 290
|
||
104 0000H 1 ACCLEN . . . . . . BYTE EXTERNAL(74) 163 164 166 189 221
|
||
222 282 319
|
||
104 0000H 1 ACCLENSAVE . . . . BYTE EXTERNAL(77)
|
||
104 0000H 80 ACCUM. . . . . . . BYTE ARRAY(80) EXTERNAL(75) 163 164 221
|
||
249 255 282 315 320 330 333 334 349 355
|
||
364 369
|
||
104 0000H 80 ACCUMSAVE. . . . . BYTE ARRAY(80) EXTERNAL(76)
|
||
2 ADDR . . . . . . . LITERALLY 45 53 59 77 80 83 86
|
||
104 107 218
|
||
67 0000H ALPHANUMERIC . . . PROCEDURE BYTE EXTERNAL(24) STACK=0000H 173
|
||
70 0000H ASCIICHAR. . . . . PROCEDURE BYTE EXTERNAL(25) STACK=0000H
|
||
104 0008H 1 BASEINDEX. . . . . BYTE MEMBER(OPERANDS)
|
||
104 0008H 1 BASEINDEX. . . . . BYTE MEMBER(CURRENTSYMBOL)
|
||
3 BASEREGBIT . . . . LITERALLY
|
||
3 BASEREGCOUNT . . . LITERALLY
|
||
3 BREGBIT. . . . . . LITERALLY
|
||
3 BREGCOUNT. . . . . LITERALLY
|
||
5 BYT. . . . . . . . LITERALLY
|
||
9 0000H 1 CH . . . . . . . . BYTE PARAMETER 10
|
||
218 000FH 1 CH . . . . . . . . BYTE 221 223 228 233 238 255 256 257
|
||
258 259 263
|
||
120 0008H 1 CH . . . . . . . . BYTE 124 125 126 131 133 137 144 145
|
||
146 152 154
|
||
88 0000H 1 CH . . . . . . . . BYTE PARAMETER 89
|
||
111 0004H 1 CH . . . . . . . . BYTE PARAMETER AUTOMATIC 112 113
|
||
70 0000H 1 CH . . . . . . . . BYTE PARAMETER 71
|
||
73 0000H 1 CH . . . . . . . . BYTE PARAMETER 74
|
||
161 0004H 1 CH . . . . . . . . BYTE PARAMETER AUTOMATIC 162 163
|
||
67 0000H 1 CH . . . . . . . . BYTE PARAMETER 68
|
||
64 0000H 1 CH . . . . . . . . BYTE PARAMETER 65
|
||
61 0000H 1 CH . . . . . . . . BYTE PARAMETER 62
|
||
15 0000H 1 CH . . . . . . . . BYTE PARAMETER 16
|
||
58 0000H 1 CH . . . . . . . . BYTE PARAMETER 59
|
||
12 0000H 1 CH . . . . . . . . BYTE PARAMETER 13
|
||
104 0000H 2 CIP. . . . . . . . WORD EXTERNAL(39)
|
||
38 0000H CLOSEHEX . . . . . PROCEDURE EXTERNAL(13) STACK=0000H
|
||
36 0000H CLOSEINCLUDE . . . PROCEDURE EXTERNAL(12) STACK=0000H
|
||
40 0000H CLOSEPRINT . . . . PROCEDURE EXTERNAL(14) STACK=0000H
|
||
32 0000H CLOSESOURCE. . . . PROCEDURE EXTERNAL(10) STACK=0000H
|
||
42 0000H CLOSESYMBOL. . . . PROCEDURE EXTERNAL(15) STACK=0000H
|
||
4 CODE . . . . . . . LITERALLY
|
||
104 0000H 1 CODEMACROFLAG. . . BYTE EXTERNAL(96)
|
||
3 CODEMACROHEAD. . . LITERALLY
|
||
104 0000H 2 CODEMACROPTR . . . WORD EXTERNAL(91)
|
||
170 0009H 1 CONT . . . . . . . BYTE 171 172 176 179
|
||
187 000AH 1 CONT . . . . . . . BYTE 190 191 207 213
|
||
2 CR . . . . . . . . LITERALLY 137 193 315 330 333 349 369
|
||
PL/M-86 COMPILER SCANNER MODULE 10/5/81 PAGE 8
|
||
|
||
|
||
376
|
||
107 0006H 1 CRFOUND. . . . . . BYTE 131 139 143 288 307 314 338
|
||
104 0000H 2 CSCIP. . . . . . . WORD EXTERNAL(44)
|
||
104 0000H 1 CSEGSPEC . . . . . BYTE EXTERNAL(42)
|
||
104 0000H 1 CSEGTYPE . . . . . BYTE EXTERNAL(40)
|
||
104 0000H 2 CSEGVALUE. . . . . WORD EXTERNAL(41)
|
||
104 0000H 1 CSPEC. . . . . . . BYTE EXTERNAL(51)
|
||
104 0000H 2 CURCSEG. . . . . . WORD EXTERNAL(47)
|
||
104 0000H 2 CURDSEG. . . . . . WORD EXTERNAL(48)
|
||
104 0000H 2 CURESEG. . . . . . WORD EXTERNAL(50)
|
||
104 0000H 9 CURRENTSYMBOL. . . STRUCTURE EXTERNAL(87)
|
||
104 0000H 2 CURSSEG. . . . . . WORD EXTERNAL(49)
|
||
76 0000H 2 D. . . . . . . . . WORD PARAMETER 77
|
||
79 0000H 2 D. . . . . . . . . WORD PARAMETER 80
|
||
85 0000H 2 D. . . . . . . . . WORD PARAMETER 86
|
||
82 0000H 2 D. . . . . . . . . WORD PARAMETER 83
|
||
2 DCL. . . . . . . . LITERALLY
|
||
85 0000H DECOUT . . . . . . PROCEDURE EXTERNAL(30) STACK=0000H
|
||
104 0000H 1 DEFAULTDRIVE . . . BYTE EXTERNAL(94)
|
||
4 DELETEDSYMB. . . . LITERALLY
|
||
104 0001H 1 DESCR. . . . . . . BYTE MEMBER(TOKEN) 276
|
||
44 0000H 1 DEV. . . . . . . . BYTE PARAMETER 45
|
||
61 0000H DIGIT. . . . . . . PROCEDURE BYTE EXTERNAL(22) STACK=0000H 323
|
||
4 DOUBLEDEFINED. . . LITERALLY
|
||
104 0000H 2 DSCIP. . . . . . . WORD EXTERNAL(46)
|
||
104 0000H 1 DSPEC. . . . . . . BYTE EXTERNAL(52)
|
||
5 DWRD . . . . . . . LITERALLY
|
||
102 0000H EJECT. . . . . . . PROCEDURE EXTERNAL(37) STACK=0000H
|
||
2 ELSEDO . . . . . . LITERALLY
|
||
375 045FH 11 EMPTYLINE. . . . . PROCEDURE BYTE PUBLIC STACK=0008H
|
||
2 ENDCASE. . . . . . LITERALLY
|
||
2 ENDDO. . . . . . . LITERALLY
|
||
2 ENDFOREVER . . . . LITERALLY
|
||
2 ENDIF. . . . . . . LITERALLY 146 181 370
|
||
2 ENDMODULE. . . . . LITERALLY
|
||
2 ENDOFFILE. . . . . LITERALLY 126
|
||
2 ENDPROC. . . . . . LITERALLY
|
||
2 ENDWHILE . . . . . LITERALLY 182
|
||
107 0004H 1 EOFFOUND . . . . . BYTE 121 128 288 304 309
|
||
104 0000H 1 EOFSET . . . . . . BYTE EXTERNAL(78) 288 310
|
||
76 0000H EQUAL. . . . . . . PROCEDURE BYTE EXTERNAL(27) STACK=0000H
|
||
4 ERROR. . . . . . . LITERALLY 212 272
|
||
218 0010H 1 ERRORFLAG. . . . . BYTE 219 261 268 270
|
||
104 0000H 1 ERRORPRINTED . . . BYTE EXTERNAL(81)
|
||
104 0000H 2 ERRORS . . . . . . WORD EXTERNAL(71)
|
||
104 0000H 2 ESCIP. . . . . . . WORD EXTERNAL(43)
|
||
104 0000H 1 ESPEC. . . . . . . BYTE EXTERNAL(54)
|
||
108 0000H 10 EXIT . . . . . . . PROCEDURE STACK=0002H 122
|
||
2 FALSE. . . . . . . LITERALLY 143 176 204 207 211 213 219
|
||
281 288 301 309 357 370
|
||
55 0000H 2 FCBADR . . . . . . WORD PARAMETER 56
|
||
55 0000H FILEABORT. . . . . PROCEDURE EXTERNAL(20) STACK=0000H
|
||
3 FILEISTRUCTURE . . LITERALLY
|
||
3 FILEOSTRUCTURE . . LITERALLY
|
||
47 0000H FILESETUP. . . . . PROCEDURE BYTE EXTERNAL(17) STACK=0000H
|
||
58 0000H FILL . . . . . . . PROCEDURE EXTERNAL(21) STACK=0000H 289 290
|
||
44 0000H 2 FILNAM . . . . . . WORD PARAMETER 45
|
||
PL/M-86 COMPILER SCANNER MODULE 10/5/81 PAGE 9
|
||
|
||
|
||
44 0000H 2 FILTYP . . . . . . WORD PARAMETER 45
|
||
104 0000H 2 FIRSTMACROPTR. . . WORD EXTERNAL(82)
|
||
2 FOREVER. . . . . . LITERALLY 361
|
||
2 FORMFEED . . . . . LITERALLY
|
||
104 0000H 1 FULLSYMBTAB. . . . BYTE EXTERNAL(84)
|
||
169 00E6H 85 GETREMAINDER . . . PROCEDURE STACK=0012H 220 281
|
||
105 0000H GLOBALINIT . . . . PROCEDURE EXTERNAL(97) STACK=0000H
|
||
104 0000H 5 HELP . . . . . . . BYTE ARRAY(5) EXTERNAL(92)
|
||
79 0000H HEX1OUT. . . . . . PROCEDURE EXTERNAL(28) STACK=0000H
|
||
82 0000H HEX2OUT. . . . . . PROCEDURE EXTERNAL(29) STACK=0000H
|
||
104 0000H 1 I. . . . . . . . . BYTE EXTERNAL(93)
|
||
218 000DH 1 I. . . . . . . . . BYTE 248 249 251 254 255 264
|
||
4 IDENT. . . . . . . LITERALLY 284
|
||
280 02DDH 37 IDENTR . . . . . . PROCEDURE STACK=0016H 322
|
||
44 0000H IFILESETUP . . . . PROCEDURE EXTERNAL(16) STACK=0000H
|
||
104 0000H 1 IFLEVEL. . . . . . BYTE EXTERNAL(86)
|
||
104 0000H 1 IFLIST . . . . . . BYTE EXTERNAL(57)
|
||
104 0000H 1 INCLUDEDEFAULT . . BYTE EXTERNAL(95)
|
||
104 0000H 1 INCLUDEON. . . . . BYTE EXTERNAL(85) 123
|
||
3 INDEXREGBIT. . . . LITERALLY
|
||
3 INDEXREGCOUNT. . . LITERALLY
|
||
20 0000H ININCLUDEBYTE. . . PROCEDURE BYTE EXTERNAL(4) STACK=0000H 124
|
||
2 INIT . . . . . . . LITERALLY
|
||
18 0000H INSOURCEBYTE . . . PROCEDURE BYTE EXTERNAL(3) STACK=0000H 125
|
||
104 0000H 1 INTELHEXON . . . . BYTE EXTERNAL(79)
|
||
3 IREGBIT. . . . . . LITERALLY
|
||
3 IREGCOUNT. . . . . LITERALLY
|
||
218 000EH 1 J. . . . . . . . . BYTE 222 246 251 254
|
||
4 LAB. . . . . . . . LITERALLY
|
||
LAST . . . . . . . BUILTIN 114 164
|
||
8 LEFTBRACKET. . . . LITERALLY
|
||
LENGTH . . . . . . BUILTIN 290
|
||
104 0000H 2 LENGTH . . . . . . WORD MEMBER(OPERANDS)
|
||
104 0000H 2 LENGTH . . . . . . WORD MEMBER(CURRENTSYMBOL)
|
||
64 0000H LETTER . . . . . . PROCEDURE BYTE EXTERNAL(23) STACK=0000H 321
|
||
2 LF . . . . . . . . LITERALLY 131 145
|
||
2 LIT. . . . . . . . LITERALLY 2 3 4 5 6 7 8
|
||
|
||
107 0005H 1 LOWERCASE. . . . . BYTE 150 188 204 211 288
|
||
104 0000H 2 MACROPTR . . . . . WORD EXTERNAL(83)
|
||
104 0000H 1 MAXCOL . . . . . . BYTE EXTERNAL(58)
|
||
218 000CH 1 MAXLGTH. . . . . . BYTE 226 231 236 241 245 251
|
||
76 0000H 1 N. . . . . . . . . BYTE PARAMETER 77
|
||
58 0000H 1 N. . . . . . . . . BYTE PARAMETER 59
|
||
49 0000H 1 N. . . . . . . . . BYTE PARAMETER 50
|
||
85 0000H 2 N. . . . . . . . . WORD PARAMETER 86
|
||
82 0000H 2 N. . . . . . . . . WORD PARAMETER 83
|
||
79 0000H 1 N. . . . . . . . . BYTE PARAMETER 80
|
||
4 NEGLECTED. . . . . LITERALLY
|
||
104 0000H 1 NEXTCH . . . . . . BYTE EXTERNAL(73) 157 158 173 174 177
|
||
181 192 193 194 195 197 199 201 294 320
|
||
321 323 325 329 331 337
|
||
5 NIL. . . . . . . . LITERALLY
|
||
218 000BH 1 NOBASE . . . . . . BYTE 225 230 235 240 244 259 263
|
||
104 0000H 1 NOERROR. . . . . . BYTE EXTERNAL(80)
|
||
104 0000H 1 NOOPER . . . . . . BYTE EXTERNAL(89)
|
||
3 NOOVERCOUNT. . . . LITERALLY
|
||
PL/M-86 COMPILER SCANNER MODULE 10/5/81 PAGE 10
|
||
|
||
|
||
3 NOOVERRIDEBIT. . . LITERALLY
|
||
169 0004H 1 NUMB . . . . . . . BYTE PARAMETER AUTOMATIC 170 180
|
||
4 NUMBER . . . . . . LITERALLY 275
|
||
217 01BBH 290 NUMBR. . . . . . . PROCEDURE STACK=0016H 324
|
||
8 OAND . . . . . . . LITERALLY
|
||
8 OEQ. . . . . . . . LITERALLY
|
||
104 0006H 2 OFFSET . . . . . . WORD MEMBER(OPERANDS)
|
||
104 0006H 2 OFFSET . . . . . . WORD MEMBER(CURRENTSYMBOL)
|
||
8 OGE. . . . . . . . LITERALLY
|
||
8 OGT. . . . . . . . LITERALLY
|
||
8 OLAST. . . . . . . LITERALLY
|
||
8 OLE. . . . . . . . LITERALLY
|
||
8 OLENGTH. . . . . . LITERALLY
|
||
8 OLT. . . . . . . . LITERALLY
|
||
8 OMOD . . . . . . . LITERALLY
|
||
8 ONE. . . . . . . . LITERALLY
|
||
8 ONOT . . . . . . . LITERALLY
|
||
8 OOFFSET. . . . . . LITERALLY
|
||
8 OOR. . . . . . . . LITERALLY
|
||
26 0000H OPENHEX. . . . . . PROCEDURE EXTERNAL(7) STACK=0000H
|
||
24 0000H OPENINCLUDE. . . . PROCEDURE EXTERNAL(6) STACK=0000H
|
||
28 0000H OPENPRINT. . . . . PROCEDURE EXTERNAL(8) STACK=0000H
|
||
22 0000H OPENSOURCE . . . . PROCEDURE EXTERNAL(5) STACK=0000H
|
||
30 0000H OPENSYMBOL . . . . PROCEDURE EXTERNAL(9) STACK=0000H
|
||
104 0000H 36 OPERANDS . . . . . STRUCTURE ARRAY(4) EXTERNAL(90)
|
||
3 OPERANDSTRUC . . . LITERALLY 104
|
||
4 OPERATOR . . . . . LITERALLY
|
||
8 OPTR . . . . . . . LITERALLY
|
||
8 OSEG . . . . . . . LITERALLY
|
||
8 OSHL . . . . . . . LITERALLY
|
||
8 OSHORT . . . . . . LITERALLY
|
||
8 OSHR . . . . . . . LITERALLY
|
||
8 OTYPE. . . . . . . LITERALLY
|
||
9 0000H OUTHEXBYTE . . . . PROCEDURE EXTERNAL(0) STACK=0000H
|
||
12 0000H OUTPRINTBYTE . . . PROCEDURE EXTERNAL(1) STACK=0000H
|
||
15 0000H OUTSYMBOLBYTE. . . PROCEDURE EXTERNAL(2) STACK=0000H
|
||
52 0000H OUTTEXT. . . . . . PROCEDURE EXTERNAL(19) STACK=0000H
|
||
8 OXOR . . . . . . . LITERALLY
|
||
104 0000H 1 PAGESIZE . . . . . BYTE EXTERNAL(64)
|
||
104 0000H 1 PASS . . . . . . . BYTE EXTERNAL(38)
|
||
7 PCODEMACRO . . . . LITERALLY
|
||
7 PCSEG. . . . . . . LITERALLY
|
||
7 PDB. . . . . . . . LITERALLY
|
||
7 PDBIT. . . . . . . LITERALLY
|
||
7 PDD. . . . . . . . LITERALLY
|
||
7 PDSEG. . . . . . . LITERALLY
|
||
7 PDW. . . . . . . . LITERALLY
|
||
7 PEJECT . . . . . . LITERALLY
|
||
7 PEND . . . . . . . LITERALLY
|
||
7 PENDIF . . . . . . LITERALLY
|
||
7 PENDM. . . . . . . LITERALLY
|
||
7 PEQU . . . . . . . LITERALLY
|
||
7 PESEG. . . . . . . LITERALLY
|
||
49 0000H PFIND. . . . . . . PROCEDURE BYTE EXTERNAL(18) STACK=0000H 282
|
||
7 PIF. . . . . . . . LITERALLY
|
||
7 PIFLIST. . . . . . LITERALLY
|
||
7 PINCLUDE . . . . . LITERALLY
|
||
PL/M-86 COMPILER SCANNER MODULE 10/5/81 PAGE 11
|
||
|
||
|
||
7 PLIST. . . . . . . LITERALLY
|
||
7 PMODRM . . . . . . LITERALLY
|
||
7 PNOIFLIST. . . . . LITERALLY
|
||
7 PNOLIST. . . . . . LITERALLY
|
||
7 PNOSEGFIX. . . . . LITERALLY
|
||
7 PORG . . . . . . . LITERALLY
|
||
7 PPAGESIZE. . . . . LITERALLY
|
||
7 PPAGEWIDTH . . . . LITERALLY
|
||
7 PRB. . . . . . . . LITERALLY
|
||
104 0000H 240 PREFIX . . . . . . BYTE ARRAY(240) EXTERNAL(68) 289
|
||
104 0000H 1 PREFIXPTR. . . . . BYTE EXTERNAL(69) 291
|
||
7 PRELB. . . . . . . LITERALLY
|
||
7 PRELW. . . . . . . LITERALLY
|
||
91 0000H PRINTCRLF. . . . . PROCEDURE EXTERNAL(32) STACK=0000H
|
||
104 0000H 1 PRINTDEVICE. . . . BYTE EXTERNAL(61)
|
||
97 0000H PRINTINIT. . . . . PROCEDURE EXTERNAL(35) STACK=0000H 292
|
||
93 0000H PRINTNEWPAGE . . . PROCEDURE EXTERNAL(33) STACK=0000H
|
||
104 0000H 1 PRINTON. . . . . . BYTE EXTERNAL(55)
|
||
107 0007H 1 PRINTREADY . . . . BYTE 288 298 301 313 340
|
||
88 0000H PRINTSINGLEBYTE. . PROCEDURE EXTERNAL(31) STACK=0000H
|
||
95 0000H PRINTSOURCELINE. . PROCEDURE EXTERNAL(34) STACK=0000H 300
|
||
104 0000H 1 PRINTSWITCHOFF . . BYTE EXTERNAL(56)
|
||
99 0000H PRINTTERMINATE . . PROCEDURE EXTERNAL(36) STACK=0000H
|
||
2 PROC . . . . . . . LITERALLY 9 12 15 18 20 22 24
|
||
26 28 30 32 34 36 38 40 42 44
|
||
47 49 67 70 79 82 85 88 91 93
|
||
95 97 99 102 108 111 119 156 161 169
|
||
186 217 280 287 296 348 353 359 375
|
||
7 PRS. . . . . . . . LITERALLY
|
||
7 PRW. . . . . . . . LITERALLY
|
||
7 PSEGFIX. . . . . . LITERALLY
|
||
4 PSEUDO . . . . . . LITERALLY
|
||
7 PSIMFORM . . . . . LITERALLY
|
||
7 PSSEG. . . . . . . LITERALLY
|
||
58 0000H 2 PT . . . . . . . . WORD PARAMETER 59
|
||
7 PTITLE . . . . . . LITERALLY
|
||
161 00C9H 29 PUTACCUM . . . . . PROCEDURE STACK=0004H 174 181 194 201
|
||
111 000AH 29 PUTPRINTCHAR . . . PROCEDURE STACK=0004H 144
|
||
6 RAH. . . . . . . . LITERALLY
|
||
6 RAL. . . . . . . . LITERALLY
|
||
6 RAX. . . . . . . . LITERALLY
|
||
6 RBH. . . . . . . . LITERALLY
|
||
6 RBL. . . . . . . . LITERALLY
|
||
6 RBP. . . . . . . . LITERALLY
|
||
6 RBX. . . . . . . . LITERALLY
|
||
6 RCH. . . . . . . . LITERALLY
|
||
6 RCL. . . . . . . . LITERALLY
|
||
6 RCS. . . . . . . . LITERALLY
|
||
6 RCX. . . . . . . . LITERALLY
|
||
6 RDH. . . . . . . . LITERALLY
|
||
6 RDI. . . . . . . . LITERALLY
|
||
6 RDL. . . . . . . . LITERALLY
|
||
6 RDS. . . . . . . . LITERALLY
|
||
6 RDX. . . . . . . . LITERALLY
|
||
119 0027H 121 READINPUT. . . . . PROCEDURE BYTE STACK=0008H 158 173 192
|
||
195 199 334
|
||
2 REENT. . . . . . . LITERALLY
|
||
PL/M-86 COMPILER SCANNER MODULE 10/5/81 PAGE 12
|
||
|
||
|
||
4 REG. . . . . . . . LITERALLY
|
||
6 RES. . . . . . . . LITERALLY
|
||
34 0000H REWINDSOURCE . . . PROCEDURE EXTERNAL(11) STACK=0000H 293
|
||
8 RIGHTBRACKET . . . LITERALLY
|
||
6 RSI. . . . . . . . LITERALLY
|
||
6 RSP. . . . . . . . LITERALLY
|
||
6 RSS. . . . . . . . LITERALLY
|
||
76 0000H 2 S. . . . . . . . . WORD PARAMETER 77
|
||
49 0000H 2 S. . . . . . . . . WORD PARAMETER 50
|
||
104 0000H 12 SAVESOURCE . . . . BYTE ARRAY(12) EXTERNAL(60)
|
||
296 0348H 189 SCAN . . . . . . . PROCEDURE PUBLIC STACK=001AH 350 366 372
|
||
287 0302H 70 SCANINIT . . . . . PROCEDURE PUBLIC STACK=000AH
|
||
1 0000H SCANM. . . . . . . PROCEDURE STACK=0000H
|
||
3 SEGMBIT. . . . . . LITERALLY
|
||
3 SEGMCOUNT. . . . . LITERALLY
|
||
104 0004H 2 SEGMENT. . . . . . WORD MEMBER(OPERANDS)
|
||
104 0004H 2 SEGMENT. . . . . . WORD MEMBER(CURRENTSYMBOL)
|
||
3 SEGTYPEBIT . . . . LITERALLY
|
||
3 SEGTYPECOUNT . . . LITERALLY
|
||
104 0003H 1 SFLAG. . . . . . . BYTE MEMBER(OPERANDS)
|
||
104 0003H 1 SFLAG. . . . . . . BYTE MEMBER(CURRENTSYMBOL)
|
||
104 0000H 1 SIMFORM. . . . . . BYTE EXTERNAL(65)
|
||
SIZE . . . . . . . BUILTIN 289
|
||
156 00A0H 41 SKIPBLANKS . . . . PROCEDURE STACK=000CH 184 205 303 343
|
||
348 0405H 17 SKIPRESTOFLINE . . PROCEDURE PUBLIC STACK=001EH
|
||
359 0432H 45 SKIPUNTIL. . . . . PROCEDURE BYTE PUBLIC STACK=0020H
|
||
104 0000H 80 SOURCEBUF. . . . . BYTE ARRAY(80) EXTERNAL(66) 113 114
|
||
104 0000H 12 SOURCENAME . . . . BYTE ARRAY(12) EXTERNAL(59)
|
||
104 0000H 1 SOURCEPTR. . . . . BYTE EXTERNAL(67) 113 114 116 291
|
||
2 SPACE. . . . . . . LITERALLY 133 146 157 289 290 294 337
|
||
4 SPEC . . . . . . . LITERALLY 306 328 355 362
|
||
353 0416H 28 SPECIALTOKEN . . . PROCEDURE BYTE PUBLIC STACK=0004H 376
|
||
104 0000H 2 SSCIP. . . . . . . WORD EXTERNAL(45)
|
||
104 0000H 1 SSPEC. . . . . . . BYTE EXTERNAL(53)
|
||
STACKPTR . . . . . BUILTIN 109 297
|
||
107 0000H 2 STACKSAVE. . . . . WORD 109 297
|
||
4 STRING . . . . . . LITERALLY 206
|
||
186 013BH 128 STRINGR. . . . . . PROCEDURE STACK=0010H 326
|
||
2 STRUC. . . . . . . LITERALLY 104
|
||
104 0002H 1 STYPE. . . . . . . BYTE MEMBER(OPERANDS)
|
||
104 0002H 1 STYPE. . . . . . . BYTE MEMBER(CURRENTSYMBOL)
|
||
4 SYMBOL . . . . . . LITERALLY
|
||
104 0000H 1 SYMBOLDEVICE . . . BYTE EXTERNAL(62)
|
||
3 SYMBOLHEAD . . . . LITERALLY
|
||
3 SYMBOLSTRUC. . . . LITERALLY 104
|
||
104 0000H 2 SYMBTABADR . . . . WORD EXTERNAL(88)
|
||
52 0000H 2 T. . . . . . . . . WORD PARAMETER 53
|
||
2 TAB. . . . . . . . LITERALLY 157
|
||
55 0000H 2 TEXTADR. . . . . . WORD PARAMETER 56
|
||
2 THENDO . . . . . . LITERALLY 114 126 131 137 150 164 177
|
||
197 199 251 259 270 282 298 304 307 331
|
||
338 362 364
|
||
104 0000H 30 TITLE. . . . . . . BYTE ARRAY(30) EXTERNAL(63)
|
||
359 0004H 1 TOK. . . . . . . . BYTE PARAMETER AUTOMATIC 360 364
|
||
353 0004H 1 TOK. . . . . . . . BYTE PARAMETER AUTOMATIC 354 355
|
||
104 0000H 4 TOKEN. . . . . . . STRUCTURE EXTERNAL(72) 206 212 272 275
|
||
276 277 282 284 306 328 355 362
|
||
PL/M-86 COMPILER SCANNER MODULE 10/5/81 PAGE 13
|
||
|
||
|
||
2 TRUE . . . . . . . LITERALLY 128 139 171 179 188 190 220
|
||
261 268 310 313 314 340 356 361 367
|
||
104 0000H 1 TYPE . . . . . . . BYTE MEMBER(TOKEN) 206 212 272 275 284
|
||
306 328 355 362
|
||
3 TYPEBIT. . . . . . LITERALLY
|
||
3 TYPECOUNT. . . . . LITERALLY
|
||
4 UDEFSYMB . . . . . LITERALLY
|
||
73 0000H UPPER. . . . . . . PROCEDURE BYTE EXTERNAL(26) STACK=0000H 152
|
||
99 0000H 1 USEFACT. . . . . . BYTE PARAMETER 100
|
||
218 0002H 2 VALUE. . . . . . . WORD 253 263 277
|
||
104 0002H 2 VALUE. . . . . . . WORD MEMBER(TOKEN) 277
|
||
4 VARIABLE . . . . . LITERALLY
|
||
5 WRD. . . . . . . . LITERALLY
|
||
|
||
|
||
|
||
MODULE INFORMATION:
|
||
|
||
CODE AREA SIZE = 046AH 1130D
|
||
CONSTANT AREA SIZE = 0000H 0D
|
||
VARIABLE AREA SIZE = 0011H 17D
|
||
MAXIMUM STACK SIZE = 0020H 32D
|
||
848 LINES READ
|
||
0 PROGRAM ERROR(S)
|
||
|
||
END OF PL/M-86 COMPILATION
|