1 / PDP-8 (8K) FORTRAN COMPILER *** FORT.05 *** 2 3 / OCTOBER 28, 1970 4 5 / COPYRIGHT 1969, DIGITAL EQUIPMENT CORP. MAYNARD, MASS. 6 / 7 / SYMBOL TABLE FOR FORTRAN COMPILER (8K- PDP-8) 8 / FOR USE WITH DISK/DECTAPE MONITOR SYSTEM 9 / CHANGE LOCATION 'XFINI' TO A 'JMP I LFINI' THEN 10 / SAVE ON THE DISK AS FOLLOWS: 11 / 12 / SAVE FTC0!0-7577;5363 13 / SAVE FTC1!200,1000-1577,2600,6000-16377; 14 / 15 / CALL FTC1 FIRST, THEN CALL FTC0 TO COMPILE 16 / FOR SUBSEQUENT COMPILATIONS ONLY CALL FTC0. 17 18 FIELD 0 19 *200 20 000200 2004 INBUF, TEXT /PDP-8 FORTRAN DEC-08-A2B1-4/ 000201 2055 000202 7040 000203 0617 000204 2224 000205 2201 000206 1640 000207 0405 000210 0355 000211 6070 000212 5501 000213 6202 000214 6155 000215 6400 21 22 *1000 23 001000 6026 BEGIN, PLS /INITIALIZATION ROUTINE 24 001001 6046 TLS 25 001002 6014 RFC 26 001003 6201 CDF 00 27 001004 1262 TAD CM1300 /SET SYMBOL TABLE TO ZEROS (6300-7577 FIELD 1) 28 001005 3257 DCA INDX 29 001006 1265 TAD BSYMP 30 001007 3010 DCA TPTT 31 001010 3410 LP, DCA I TPTT 32 001011 2257 ISZ INDX 33 001012 5210 JMP LP 34 001013 1263 TAD CM60 35 001014 3257 DCA INDX 36 001015 1264 TAD BTTAB 37 001016 3010 DCA TPTT 38 001017 3410 DCA I TPTT /ZERO OUT TEMPORARY TABLES IN FIELD 0 39 001020 2257 ISZ INDX 40 001021 5217 JMP .-2 41 001022 6211 CDF 10 42 001023 1260 TAD MIN104 /ZERO EVERYTHING FROM ZERO TO 107 43 001024 3257 DCA INDX 44 001025 1261 TAD CP6 45 001026 3010 DCA TPTT 46 001027 3410 LPP, DCA I TPTT 47 001030 2257 ISZ INDX 48 001031 5227 JMP LPP 49 001032 1267 TAD TPT /MOVE DATA FROM TABLE TO FIELD 0 50 001033 3010 DCA TPTT 51 001034 6201 REP, CDF 00 52 001035 1410 TAD I TPTT 53 001036 7450 SNA /END OF FIELD 0 INITIALIZATION? 54 001037 5245 JMP DN /YES 55 001040 3256 DCA LOC 56 001041 1410 TAD I TPTT 57 001042 6211 CDF 10 58 001043 3656 DCA I LOC 59 001044 5234 JMP REP 60 001045 1410 DN, TAD I TPTT /MOVE DATA FROM TABLE TO FIELD 1 61 001046 7450 SNA /END FIELD 1 INITIALIZATION 62 001047 5254 JMP DNN /YES 63 001050 3256 DCA LOC 64 001051 1410 TAD I TPTT 65 001052 3656 DCA I LOC 66 001053 5245 JMP DN 67 001054 6212 DNN, CIF 10 68 001055 5666 JMP I STRT 69 001056 0000 LOC, 0 70 001057 0000 INDX, 0 71 001060 7673 MIN104, L7-ASSIGN 72 001061 0006 CP6, L7-1 73 001062 6500 CM1300, -1300 74 001063 7720 CM60, -60 75 001064 0707 BTTAB, ITTAB-1 76 001065 6277 BSYMP, BSYM-1 /BOTTOM OF TEMPORARY SYMBOL TABLE 77 001066 5362 STRT, FORST /STARTING POINT AFTER INITIALIZATION 78 TPTT=10 79 001067 1067 TPT, TABLE-1 80 TABLE, 81 001070 0150 PUNCH 82 001071 7114 LTTYPE 83 001072 0015 15 84 001073 2377 DOEND 85 001074 0045 45 86 001075 0740 FTTAB 87 001076 0051 51 88 001077 0710 ITTAB 89 001100 0047 47 90 001101 7575 TSYM-3 91 001102 0050 50 92 001103 7600 TSYM 93 001104 0055 55 94 001105 7753 -25 95 001106 0056 56 96 001107 6300 BSYM 97 001110 0057 57 98 001111 6300 BSYM 99 001112 0071 71 100 001113 5777 5777 101 001114 0074 74 102 001115 3000 3000 103 001116 0103 MIKE4 104 001117 3377 3377 105 001120 0110 POINTZ 106 001121 3377 3377 107 001122 0172 BASE 108 001123 0200 INBUF 109 001124 0173 BASE2 110 001125 0300 INBUF+100 111 001126 2403 SCOUNT 112 001127 0000 0 113 001130 2404 SCOUNT+1 114 001131 0000 0 115 001132 2405 SCOUNT+2 116 001133 0000 0 117 001134 2762 QONE 118 001135 0000 0 119 001136 2763 QONE+1 120 001137 0000 0 121 001140 2764 QONE+2 122 001141 0000 0 123 001142 2765 QONE+3 124 001143 0000 0 125 001144 2766 QONE+4 126 001145 0000 0 127 001146 2767 QONE+5 128 001147 0000 0 129 001150 2770 QONE+6 130 001151 0000 0 131 001152 0000 0 /THIS TERMINATES FIELD ZERO INITIALIZATION 132 001153 2375 2375 133 001154 4000 4000 134 001155 2376 2376 135 001156 4000 4000 136 001157 2377 2377 137 001160 4000 4000 138 001161 0000 0 139 140 / ERROR MESSAGE TABLE AND TEXT 141 142 001162 7547 ELIST, -ERR1-1; EMSG1 /ILLEGAL CONTINUATION 001163 1266 143 001164 7077 -ERR2-1; IE /ILLEGAL ARITHMETIC EXPRESSION 001165 1301 144 001166 6733 -ERR3-1; IE 001167 1301 145 001170 6541 -ERR6-1; IE 001171 1301 146 001172 6430 -ERR9-1; EMSG3 001173 1320 147 001174 6247 -ERR10-1; EMSG4 001175 1331 148 001176 6123 -ERR12-1; EMSG4 001177 1331 149 001200 5710 -ERR14-1; EMSG4 001201 1331 150 001202 5567 -ERR15-1; EMSG3 001203 1320 151 001204 5557 -ERR16-1; EMSG5 001205 1342 152 001206 5242 -ERR17-1; EMSG6 001207 1357 153 001210 5161 -ERR18-1; SE /SYNTAX ERROR 001211 1372 154 001212 4757 -ERR28-1; SE 001213 1372 155 001214 4733 -ERR29-1; SE 001215 1372 156 001216 4726 -ERR30-1; EMSG8 /ILLEGAL VARIABLE 001217 1401 157 001220 4514 -ERR31-1; SE 001221 1372 158 001222 4320 -ERR35-1; SE 001223 1372 159 001224 4012 -ERR37-1; CE 001225 1527 160 001226 4156 -ERR38-1; EMSG9 /ILLEGAL DO NESTING 001227 1412 161 001230 3667 -ERR39-1; SE 001231 1372 162 001232 3507 -ERR40-1; IE 001233 1301 163 001234 3320 -ERR41-1; EMSG10 /EXPRESSION TOO BIG 001235 1432 164 001236 2505 -ERR42-1; IE 001237 1301 165 001240 2445 -ERR43-1; EMSG11 /MIXED MODE 001241 1453 166 001242 2366 -ERR44-1; EMSG9 001243 1412 167 001244 1615 -ERR48-1; SE 001245 1372 168 001246 1541 -ERR50-1; SE 001247 1372 169 001250 1414 -ERR51-1; SE 001251 1372 170 001252 0646 -ERR52-1;IE 001253 1301 171 001254 1266 -ERR53-1; EMSG12 /ILLEGAL SUBSCRIPT 001255 1466 172 001256 5342 -ERR54-1; EMSG13 /ILLEGAL EQUIVALENCING 001257 1501 173 001260 0477 -ERR59-1; SE 001261 1372 174 001262 1370 -ERR60-1; EMSG3 001263 1320 175 001264 0000 0; EMSG14 /COMPILER MALFUNCTION 001265 1514 176 177 001266 1114 EMSG1, TEXT /ILLEGAL CONTINUATION/ 001267 1405 001270 0701 001271 1440 001272 0317 001273 1624 001274 1116 001275 2501 001276 2411 001277 1716 001300 0000 178 001301 1114 IE, TEXT /ILLEGAL ARITHMETIC EXPRESSION/ 001302 1405 001303 0701 001304 1440 001305 0122 001306 1124 001307 1015 001310 0524 001311 1103 001312 4005 001313 3020 001314 2205 001315 2323 001316 1117 001317 1600 179 001320 1114 EMSG3, TEXT /ILLEGAL STATEMENT/ 001321 1405 001322 0701 001323 1440 001324 2324 001325 0124 001326 0515 001327 0516 001330 2400 180 001331 1114 EMSG4, TEXT /ILLEGAL CONSTANT/ 001332 1405 001333 0701 001334 1440 001335 0317 001336 1623 001337 2401 001340 1624 001341 0000 181 001342 1114 EMSG5, TEXT /ILLEGAL STATEMENT NUMBER/ 001343 1405 001344 0701 001345 1440 001346 2324 001347 0124 001350 0515 001351 0516 001352 2440 001353 1625 001354 1502 001355 0522 001356 0000 182 001357 2331 EMSG6, TEXT /SYMBOL TABLE EXCEEDED/ 001360 1502 001361 1714 001362 4024 001363 0102 001364 1405 001365 4005 001366 3003 001367 0505 001370 0405 001371 0400 183 001372 2331 SE, TEXT /SYNTAX ERROR/ 001373 1624 001374 0130 001375 4005 001376 2222 001377 1722 001400 0000 184 001401 1114 EMSG8, TEXT /ILLEGAL VARIABLE/ 001402 1405 001403 0701 001404 1440 001405 2601 001406 2211 001407 0102 001410 1405 001411 0000 185 001412 1114 EMSG9, TEXT /ILLEGAL OR EXCESSIVE DO NESTING/ 001413 1405 001414 0701 001415 1440 001416 1722 001417 4005 001420 3003 001421 0523 001422 2311 001423 2605 001424 4004 001425 1740 001426 1605 001427 2324 001430 1116 001431 0700 186 001432 0122 EMSG10, TEXT /ARITHMETIC EXPRESSION TOO COMPLEX/ 001433 1124 001434 1015 001435 0524 001436 1103 001437 4005 001440 3020 001441 2205 001442 2323 001443 1117 001444 1640 001445 2417 001446 1740 001447 0317 001450 1520 001451 1405 001452 3000 187 001453 1511 EMSG11, TEXT /MIXED MODE EXPRESSION/ 001454 3005 001455 0440 001456 1517 001457 0405 001460 4005 001461 3020 001462 2205 001463 2323 001464 1117 001465 1600 188 001466 0530 EMSG12, TEXT /EXCESSIVE SUBSCRIPTS/ 001467 0305 001470 2323 001471 1126 001472 0540 001473 2325 001474 0223 001475 0322 001476 1120 001477 2423 001500 0000 189 001501 1114 EMSG13, TEXT /ILLEGAL EQUIVALENCING/ 001502 1405 001503 0701 001504 1440 001505 0521 001506 2511 001507 2601 001510 1405 001511 1603 001512 1116 001513 0700 190 001514 0317 EMSG14, TEXT /COMPILER MALFUNCTION/ 001515 1520 001516 1114 001517 0522 001520 4015 001521 0114 001522 0625 001523 1603 001524 2411 001525 1716 001526 0000 191 001527 2516 CE, TEXT /UNBALANCED QUOTES/ 001530 0201 001531 1401 001532 1603 001533 0504 001534 4021 001535 2517 001536 2405 001537 2300 192 ITTAB=710 193 FTTAB=ITTAB+30 194 DOEND=2377 195 BSYM=6300 196 TSYM=7600 197 198 / THE STATEMENT TYPE TABLE FOLLOWS 199 *2600 200 002600 7361 STYPE, 7361 /-DO 201 002601 0000 0000 202 002602 3415 LDO 203 002603 6672 6672 /-IF 204 002604 0000 0000 205 002605 3236 LIF 206 002606 7061 7061 /-GO 207 002607 5361 5361 /-TO 208 002610 3000 LGOTO 209 002611 7477 7477 /-CA 210 002612 6364 6364 /-LL 211 002613 0600 CAL 212 002614 5573 5573 /-RE 213 002615 5353 5353 /-TU 214 002616 6400 LRET 215 002617 7461 7461 /-CO 216 002620 6154 6154 /-NT 217 002621 4000 LCONT 218 002622 5454 5454 /-ST 219 002623 6060 6060 /-OP 220 002624 4017 LSTOP 221 002625 5777 5777 /-PA 222 002626 5255 5255 /-US 223 002627 4013 LPAUSE 224 002630 5573 5573 /-RE 225 002631 7674 7674 /-AD 226 002632 6204 LREAD 227 002633 5056 5056 /-WR 228 002634 6654 6654 /-IT 229 002635 6200 LWRIT 230 002636 7161 7161 /-FO 231 002637 5563 5563 /-RM 232 002640 4070 LFRMAT 233 002641 7262 7262 /-EN 234 002642 7400 7400 /-D 235 002643 5400 LLAST 236 002644 7461 7461 /-CO 237 002645 6263 6263 /-MM 238 002646 2604 LCOMON 239 002647 7367 7367 /-DI 240 002650 6273 6273 /-ME 241 002651 2636 LDIMEN 242 002652 7257 7257 /-EQ 243 002653 5267 5267 /-UI 244 245 002654 7200 EQUI 246 002655 7167 -0611 /-FI 247 002656 6167 -1611 /-NI 248 002657 7366 LFIN 249 002660 5453 XXSUBR, 5453 /-SU 250 002661 7556 7556 /-BR 251 002662 6010 LSUB 252 002663 7153 7153 /-FU 253 002664 6175 6175 /-NC 254 002665 6000 LFUNC 255 002666 0000 0000 /THIS IS THE END OF LIST 256 002667 0000 AREA1, 0 257 002670 0000 AREA2, 0 258 259 / THE PRECEDENCE TABLE FOLLOWS, NON-ZERO PREC. OPERATORS APPEAR 260 002671 7733 -45 / PREC('%') = 7 NOTE: '%' REPLACES '**' 261 002672 0700 700 262 002673 7726 -52 / PREC('*') = 5 263 002674 0500 500 264 002675 7721 -57 / PREC('/') = 5 265 002676 0500 500 266 002677 7725 -53 / PREC('+') = 4 267 002700 0400 400 268 002701 7723 -55 / PREC('-') = 4 269 002702 0400 400 270 002703 7703 -75 / PREC('=') = 1 271 002704 0100 100 272 002705 7704 -74 / PREC('<') = 1 NOTE: '<' IMPLIES SUBSCRIPTED ASSIGNMENT 273 002706 0100 100 274 002707 0001 1 /THIS IS THE END OF THE TABLE 275 002710 6030 THOU, -1750 276 002711 7634 -144 277 002712 7766 -12 278 002713 7777 -1 279 280 / THE PERMANENT SYMBOL TABLE BEGINS HERE 281 *6000 282 006000 1501 1501 /MAIN 283 006001 1116 1116 284 006002 0001 0001 285 006003 0601 0601 /FAD 286 006004 0400 0400 287 006005 0001 0001 288 006006 2324 2324 /STO 289 006007 1700 1700 290 006010 0001 0001 291 006011 0623 0623 /FSB 292 006012 0200 0200 293 006013 0001 0001 294 006014 0615 0615 /FMP 295 006015 2000 2000 296 006016 0001 0001 297 006017 0604 0604 /FDV 298 006020 2600 2600 299 006021 0001 0001 300 006022 1520 1520 /MPY 301 006023 3100 3100 302 006024 0001 0001 303 006025 0411 0411 /DIV 304 006026 2600 2600 305 006027 0001 0001 306 006030 2205 2205 /READ 307 006031 0104 0104 308 006032 0001 0001 309 006033 2722 2722 /WRITE 310 006034 1124 1124 311 006035 0501 0501 312 006036 1117 1117 /IOH 313 006037 1000 1000 314 006040 0001 0001 315 006041 5060 5060 /(0 316 006042 0000 0000 317 006043 0001 0001 318 006044 1215 1215 /JMP 319 006045 2000 2000 320 006046 0001 0001 321 006047 1617 1617 /NOP 322 006050 2000 2000 323 006051 0001 0001 324 006052 0516 0516 /ENTRY 325 006053 2422 2422 326 006054 3101 3101 327 006055 0501 0501 /EAP 328 006056 2000 2000 329 006057 0001 0001 330 006060 2001 2001 /PAUSE 331 006061 2523 2523 332 006062 0501 0501 333 006063 2401 OPTADI, 2401 /TAD I 334 006064 0440 0440 335 006065 1101 1101 336 006066 2401 OPTAD, 2401 /TAD 337 006067 0400 0400 338 006070 0001 0001 339 006071 0403 OPDCA, 0403 /DCA 340 006072 0100 0100 341 006073 0001 0001 342 006074 1215 OPJMPI, 1215 /JMP I 343 006075 2040 2040 344 006076 1101 1101 345 006077 2205 2205 /RETRN 346 006100 2422 2422 347 006101 1601 1601 348 006102 0320 0320 /CPAGE 349 006103 0107 0107 350 006104 0501 0501 351 006105 2316 OPSNA, 2316 /SNA 352 006106 0100 0100 353 006107 0001 0001 354 006110 2320 2320 /SPC 355 006111 0300 0300 356 006112 0001 0001 357 006113 0301 0301 /CALL 358 006114 1414 1414 359 006115 0001 0001 360 006116 0313 0313 /CKIO 361 006117 1117 1117 362 006120 0001 0001 363 006121 1014 1014 /HLT 364 006122 2400 2400 365 006123 0001 0001 366 006124 0314 OPCLA, 0314 /CLA 367 006125 0100 0100 368 006126 0001 0001 369 006127 0614 0614 /FLOT 370 006130 1724 1724 371 006131 0001 0001 372 006132 1106 1106 /IFAD 373 006133 0104 0104 374 006134 0001 0001 375 006135 0311 0311 /CIA 376 006136 0100 0100 377 006137 0001 0001 378 006140 0310 0310 /CHS 379 006141 2300 2300 380 006142 0001 0001 381 006143 0611 0611 /FIX 382 006144 3000 3000 383 006145 0001 0001 384 006146 1123 1123 /ISTO 385 006147 2417 2417 386 006150 0001 0001 387 006151 2001 2001 /PAGE 388 006152 0705 0705 389 006153 0001 0001 390 006154 0214 BLCK, 0214 /BLOCK 391 006155 1703 1703 392 006156 1301 1301 393 006157 0516 0516 /END 394 006160 0400 0400 395 006161 0001 0001 396 006162 1401 1401 /LAP 397 006163 2000 2000 398 006164 0001 0001 399 006165 0317 0317 /COMMN 400 006166 1515 1515 401 006167 1601 1601 402 006170 1123 1123 /ISZ 403 006171 3200 3200 404 006172 0001 0001 405 006173 2325 2325 /SUBSC 406 006174 0223 0223 407 006175 0301 0301 408 006176 0425 DUMMY, 0425 /DUMMY 409 006177 1515 1515 410 006200 3101 3101 411 006201 0122 0122 /ARG 412 006202 0700 0700 413 006203 0001 0001 414 006204 0314 0314 /CLEAR 415 006205 0501 0501 416 006206 2201 2201 417 006207 1111 1111 /IIPOW 418 006210 2017 2017 419 006211 2701 2701 420 006212 0611 0611 /FIPOW 421 006213 2017 2017 422 006214 2701 2701 423 006215 1106 1106 /IFPOW 424 006216 2017 2017 425 006217 2701 2701 426 006220 0606 0606 /FFPOW 427 006221 2017 2017 428 006222 2701 2701 429 006223 0403 0403 /DCA I 430 006224 0140 0140 431 006225 1101 1101 432 006226 0103 0103 /ACH 433 006227 1000 1000 434 006230 0001 0001 435 006231 1720 OPEN, 1720 /OPEN 436 006232 0516 0516 437 006233 0001 0001 438 006234 0522 0522 /ERROR 439 006235 2217 2217 440 006236 2201 2201 441 006237 1116 1116 /INC 442 006240 0300 0300 443 006241 0001 0001 444 006242 0617 FORTR, 0617 /FORTR 445 006243 2224 2224 446 006244 2201 2201 447 006245 0315 OPCMA, 0315 /CMA 448 006246 0100 0100 449 006247 0001 0001 450 006250 1101 OPIAC, 1101 /IAC 451 006251 0300 0300 452 006252 0001 0001 453 006253 0530 EXIT, 0530 /EXIT 454 006254 1124 1124 455 006255 0001 0001 456 FIELD 1 457 *7 458 010007 0000 L7, 0 459 010010 0000 L10, 0 460 010011 0000 L11, 0 461 010012 0000 L12, 0 /LAST LINE'S CONTENTS FOR OPTOMIZATION 462 010013 0000 0 463 010014 0000 L14, 0 464 010015 2377 L15, 2377 /POINTER INTO DOEND LIST 465 010016 0000 L16, 0 466 010017 0000 L17, 0 467 010020 0000 L20, 0 /FLAG, NON-ZERO IF '=' SEEN 468 010021 0000 L21, 0 469 010022 0000 L22, 0 /SUBSCRIPT NESTING LEVEL 470 010023 0000 L23, 0 /USED BY "DUMARG" AND "IOHAR" PATCH 471 010024 0000 L24, 0 /LINE POINTER 472 010025 0000 L25, 0 /HIGHEST SUBSCRIPT TEMP USED 473 010026 0000 L26, 0 /USED FOR DIMENSION INFORMATION 474 010027 0000 0 /UNUSED 475 010030 0000 L30, 0 /FOLLOWING EIGHT LOCS ARE USED BY ENTITY 476 010031 0000 L31, 0 477 010032 0000 L32, 0 478 010033 0000 L33, 0 479 010034 0000 L34, 0 480 010035 0000 L35, 0 481 010036 0000 L36, 0 482 010037 0000 L37, 0 483 010040 0000 L40, 0 /CONTAINS THE CURRENT TRIPLE NUMBER 484 010041 0000 L41, 0 /THIS IS THE POINTER INTO THE PUSH DOWN LIST 485 010042 0000 L42, 0 /THESE TWO LOCATIONS ARE USED BY THE TRIPLE PROCESSOR 486 010043 0000 L43, 0 / 487 010044 0000 L44, 0 /CONTAINS ONE FOR RIGHT OF EQUALS, ZERO FOR LEFT 488 010045 0740 L45, FTTAB /CONTAINS LARFEST FLOATING POINT TEMPORARY NUMBER USED 489 010046 0000 L46, 0 /CONTAINS NUMBER OF THE TRIPLE CURRENTLY IN THE AC 490 010047 7575 L47, 7575 /CONTAINS THREE LESS THAN START OF FCON TABLE 491 010050 7600 L50, 7600 /CONTAINS START OF DIMENSION TABLE 492 010051 0710 L51, ITTAB /CONTAINS LARGEST INTEGER TEMPORARY NUMBER USED 493 010052 0000 L52, 0 /CONTAINS ONE IF RETURN FROM GENER IS DESIRED FOR BALANCE 494 010053 0000 L53, 0 /CONTAINS THE LAST CREATED LABEL 495 010054 0000 L54, 0 /CONTAINS THE LABEL FOR THE CURRENT STATEMENT 496 010055 7753 L55, -25 /CONTAINS THE MAXIMUM ALLOWABLE NUMBER OF UNENDED DOS 497 010056 6300 L56, 6300 /CONTAINS BEGINNING OF SYMBOL TABLE 498 010057 6300 L57, 6300 /CONTAINS END OF SYMBOL TABLE 499 010060 0000 L60, 0 /"INDIRECT =" FLAG FOR S.S LEFT OF EQUALS SIGN 500 010061 0000 L61, 0 /NON-ZERO IF LAST STMT READ IS A COMMENT 501 010062 0000 L62, 0 /NEXT FOUR LOCATIONS USED BY GENER AND ENTITY 502 010063 0000 L63, 0 /CONTAINS THE CURRENT OPERATOR 503 010064 0000 L64, 0 /POINTS TO THE LAST OPERATOR IN THE STACK 504 010065 0000 L65, 0 /CONTAINS THE PRECEDENCE OF THE CURRENT OPERATOR 505 010066 0000 BPAREN, 0 /PARENTHESIS COUNTER 506 010067 0000 L67, 0 /ONE FOR FUNCTION AND ZERO FOR SUBROUTINE 507 010070 0000 L70, 0 /CONTAINS POINTER TO SUBPROGRAM NAME 508 010071 5777 L71, 5777 /BEGINNING OF PUSHDOWN LIST 509 010072 0000 L72, 0 /SET TO ONE IF SUBSCRIPT IS ENCOUNTERED 510 010073 0000 L73, 0 / 511 010074 3000 L74, 3000 /BEGINNING OF ERASABLE LOCATIONS USED FOR PARAMETERS 512 010075 0000 L75, 0 /SET TO ONE SUPPRESS /OUTPUT FROM COMPILER 513 010076 0000 L76, 0 / 514 010077 0000 L77, 0 /CONTAINS ADDRESS OF LAST ENTRY INTO FCON OR SYMBOL TABLE 515 /THE FOLLOWING THREE LOCS ARE USED BY THE 516 /LITERAL COLLECTER 517 010100 0000 COUNT2, 0 /NUMBER OF DIGITS TO RIGHT OF DECIMAL POINT 518 010101 0000 ESIGN, 0 /0 MEANS POSITIVE EXPONENT, 1 MEANS NEGATIVE 519 010102 0000 FPSW, 0 /0 MEANS INTEGER CONSTANT, 1 MEANS FLOATING POINT 520 010103 3377 MIKE4,MA, 3377 521 010104 0000 MIKE8,TOTAL, 0 522 010105 0000 INTA, 0 523 010106 0000 INTB,MIKE7, 0 524 010107 0000 SNUM,MB, 0 525 010110 3377 POINTZ, 3377 526 010111 0000 CHK, 0 527 010112 0000 IMPDO, 0 /"IMPLIED DO-LOOP IN PROGRESS" FLAG 528 010113 0000 KOUNT, 0 529 010114 1345 ASSIGN, LASIGN /ROUTINE TO PROCESS ASSIGNMENT STATEMENTS 530 010115 1340 PUTCH, LPUTCH /ROUTINE TO PUT A CHARACTER BACK IN THE INPUT BUFFER 531 010116 5243 PROP, LPROP /PRINTS OPCODES 532 010117 1364 PRCRL, LPRCRL /PRINTS CREATED LABELS 533 010120 2551 PRINT, LPRINT /PRINTS ONE ASCII CHAR 534 010121 2307 P2, LP2 /PRINT TWO PACKED ASCII CHARS 535 010122 0650 GETCH, LGETCH /GETS ONE CHARACTER OUT OF THE INPUT BUFFER 536 010123 7001 LUNCH, LLUNCH /PRINTS ERROR COMMENTS 537 010124 0670 MODE, LMODE /DETERMINES THE MODE OF THE ARGUMENT 538 010125 4325 LOOK, LLOOK /CHECKS FOR THE REST OF THE INPUT STATEMENT 539 010126 4167 ZZZ, LZZZ /PRINTS OUT STATEMENT LABELS 540 010127 1405 ENTITY, LENTT /GETS THE NEXT LOGICAL INPUT PARAMETER 541 010130 2406 SYMTAB, LSYMTB /ENTERS SYMBOLS INTO THE SYMBOL TABLE 542 010131 4271 DUMARG, LDMARG /SEES IF PARAMETER IS A DUMMY ARG OR SUBSCRIPT 543 010132 2247 PRSYM, LPRSYM /PRINTS SYMBOLS 544 010133 3344 CREATE, LCREAT /CREATES LABELS 545 010134 3200 PROTAC, LPRTAC /PRINTS CONTENTS OF AC IN OCTAL 546 010135 3357 PLAB, LPLAB /PRINTS LABELS 547 010136 4157 PIFF, LPIFF /PUTS OUT AN IFF FOR THE CONTENTS OF THE AC 548 010137 4200 TRIPL, LTRIPL /PROCESSES THE TRIPLES GENERATED FROM AN EXPRESSION 549 010140 1011 GENER, LGENER /GENERATES THE TRIPLES 550 010141 6753 LCHNG, CHNG /TEST FOR DUMMY ARG AND REPLACE 551 010142 6545 CLAB, LCLAB /HANGS A CREATED LABEL ON THE NEXT LINE 552 010143 4647 STORE, LSTORE /STORES THE CONTENTS OF THE AC 553 010144 4500 FPROP, LFPROP /PUT OUT CALLS TO F.P. ROUTINES 554 010145 6541 ZER, LZER 555 010146 6713 DUM, LDUM /PROCESSES OCCURRANCES OF DUMMY ARGUMENTS IN LISTS 556 010147 6451 DIM, LDIM /LOOKS UP DIMENSION INFORMATION ON VARIABLES 557 010150 7114 PUNCH, LTTYPE /ADDRESS OF CURRENT OUTPUT ROUTINE 558 010151 0002 C2, 2 559 010152 0003 C3, 3 560 010153 0040 C40, 40 561 010154 5440 C7240, 5440 /THIS WAS COLON-SPACE NOW ITS COMMA-SPACE 562 010155 0077 C77, 77 563 010156 7740 CM40, -40 564 010157 3732 CM4046, -4046 565 010160 7730 CM50, -50 566 010161 7727 CM51, -51 567 010162 7724 CM54, -54 568 010163 7776 CM2, -2 569 010164 7775 CM3, -3 570 010165 4400 CHECK, LCHECK 571 010166 5317 SMODE, LSMODE 572 010167 5602 BSS, LBSS 573 010170 5154 ARG, LARG 574 010171 0054 C54, 54 575 010172 0200 BASE, INBUF 576 010173 0300 BASE2, INBUF+100 577 010174 4000 C4000, 4000 578 010175 0637 GNB, LGNB 579 *177 580 010177 7200 START, CLA /COME HERE AT BEGINNING OF EACH STMT 581 010200 1112 TAD IMPDO 582 010201 7640 SZA CLA 583 010202 5230 JMP ERR1 /IF IMPDO<>0 THEN WE MUST HAVE SCREWED UP ON 584 /CONTINUATIONS (I THINK) 585 010203 2111 ISZ CHK /IS THERE A STMT IN THE BUFFER? 586 010204 5207 JMP .+3 587 010205 4767 JMS I SWAP /YES, SWITCH BUFFER POINTERS 588 010206 5211 JMP .+3 589 010207 1172 TAD BASE 590 010210 4763 JMS I RCD /NO, READ THE NEXT LINE 591 010211 1015 TEST, TAD L15 592 010212 1164 TAD CM3 593 010213 3016 DCA L16 /SET UP XR FOR DO TERMINATION TEST 594 010214 1054 TAD L54 595 010215 7041 CIA 596 010216 1416 TAD I L16 597 010217 7640 SZA CLA /ARE WE TERMINATING A DO? 598 010220 5223 JMP ATRY 599 010221 4315 JMS LDNEXT /TERMINATE DO LOOP 600 010222 5211 JMP TEST /SEE IF THERE IS ANY MORE... 601 010223 1061 ATRY, TAD L61 602 010224 7640 SZA CLA /A COMMENT? 603 010225 5355 JMP CMNT 604 010226 1111 TAD CHK 605 010227 7640 SZA CLA /ILLEGAL CONTINUATION? 606 010230 4523 ERR1, JMS I LUNCH 607 010231 4766 JMS I STMT /GET THE STMT NR... 608 010232 1032 TAD L32 609 010233 7450 SNA 610 010234 5240 JMP .+4 /NO STMT NUMBER 611 010235 7041 CIA 612 010236 1012 TAD L12 613 010237 7640 SZA CLA /CAN WE OMIT A TERMINAL JMP? 614 010240 4520 JMS I PRINT 615 010241 3024 DCA L24 616 010242 4341 FLST, JMS LIST /PUNCH SOURCE STMT 617 010243 4765 JMS I WIPE /ZERO THE SUBSCRIPT TEMP. TABLE 618 010244 1032 TAD L32 619 010245 3054 DCA L54 620 010246 1163 TAD CM2 621 010247 3064 DCA L64 622 010250 7410 SKP 623 010251 3761 ACA, DCA I BAREA1 624 010252 4522 JMS I GETCH 625 010253 5256 JMP ALPH 626 010254 7000 NOP 627 010255 4515 JMS I PUTCH /PUT CHARACTER BACK 628 010256 7106 ALPH, RTL CLL 629 010257 7006 RTL 630 010260 7006 RTL 631 010261 3065 DCA L65 632 010262 4522 JMS I GETCH 633 010263 5266 JMP ALPH2 634 010264 7000 NOP 635 010265 4515 JMS I PUTCH /PUT CHARACTER BACK 636 010266 1065 ALPH2, TAD L65 637 010267 2064 ISZ L64 638 010270 5251 JMP ACA 639 010271 3762 DCA I BAREA2 640 010272 3111 DCA CHK 641 010273 1364 TAD SSTYP /COMPARE THESE CHARS WITH DISPATCH TABLE 642 010274 3017 DCA L17 643 010275 1417 TRY, TAD I L17 644 010276 7450 SNA /END OF THE TABLE? 645 010277 5514 JMP I ASSIGN /YES, MUST BE ARITHMETIC STMT 646 010300 1761 TAD I BAREA1 647 010301 7640 SZA CLA 648 010302 5312 JMP NOHIT2 649 010303 1762 TAD I BAREA2 650 010304 1417 TAD I L17 651 010305 7640 SZA CLA 652 010306 5313 JMP NOHIT1 653 010307 1417 TAD I L17 /FOUND A MATCH, GO TO PROPER HANDLER... 654 010310 3030 DCA L30 655 010311 5430 JMP I L30 656 010312 2017 NOHIT2, ISZ L17 657 010313 2017 NOHIT1, ISZ L17 658 010314 5275 JMP TRY /DOESN'T MATCH, TRY AGAIN 659 660 010315 0000 LDNEXT, 0 661 010316 1015 TAD L15 /RESET THE DO END POINTER 662 010317 1164 TAD CM3 663 010320 3015 DCA L15 664 010321 1015 TAD L15 665 010322 7001 IAC 666 010323 3016 DCA L16 667 010324 7040 CMA 668 010325 1055 TAD L55 669 010326 3055 DCA L55 670 010327 4516 JMS I PROP /PUNCH 'JMP