10  DIM A$[255],C$[50]
20  REM *** TRACE ***
30  FILES TRACEF.A001,*,TRCINF.A001
40  PRINT "INFO?";
50  LINPUT C$
60  C$=UOS$(C$)
70  IF C$[1,1]#"Y" THEN 120
80  IF  END #3 THEN 120
90  READ #3;A$
100  PRINT A$
110  GOTO 90
120  PRINT "FILENAME (ASCII) ";
130  INPUT A$
140  ASSIGN A$,2,R
150  IF R=0 THEN 180
160  PRINT "FILE NOT FOUND"
170  GOTO 120
180  IF  END #2 THEN 250
190  IF  END #1 THEN 230
200  LINPUT #2;A$
210  PRINT #1;A$
220  GOTO 200
230  PRINT "SCRATCH FILE NOT LONG ENOUGH"
240  STOP 
250  PRINT #1;CTL(24)
260  PRINT #2;CTL(24)
270  IF  END #1 THEN 440
280  IF  END #2 THEN 550
290  I=A=0
300  LINPUT #1;A$
310  LINPUT #1;A$
320  LINPUT #1;A$
330  CONVERT A$[1,4] TO A,1538
340  C$="     PRINT "'34"<"
350  CONVERT A TO C$[1,4]
360  CONVERT A TO C$[LEN(C$)+1]
370  CONVERT A+1 TO A$[1,4]
380  C$[LEN(C$)+1]="> "'34";"
390  IF POS(A$[1,9],"COM")#0 THEN 410
400  PRINT #2;C$
410  PRINT #2;A$
420  I=I+1
430  GOTO 320
440  IF POS(A$,"END")=0 THEN 480
450  PRINT I;" STEPS IN PROGRAM."
460  PRINT "COMPILATION COMPLETED NORMALLY."
470  GOTO 580
480  PRINT I;" STEPS IN PROGRAM."
490  PRINT "ABNORMAL EOF ENCOUNTERED IN FILE NUMBER ";SYS(2);"."
500  PRINT "COMPILATION COMPLETED ABNORMALLY."
510  GOTO 580
520  PRINT I;" STEPS IN PROGRAM."
530  PRINT "ILLEGAL LINE NUMBER ENCOUNTERED AFTER LINE ";A;" IN INPUT FILE."
540  GOTO 500
550  PRINT "INPUT FILE NOT LARGE ENOUGH TO HOLD COMPILED OUTPUT."
560  PRINT "LENGTHEN INPUT FILE AND RETRY."
570  GOTO 500
580  END 
