%DELETE '00000020'
OPEN (COMPILE SYSFILE INPUT) RESTORE (COMPILE)
%DELETE '00000056'
$$$15-SEP-72 (UM 1-JUNE-73)$
%AFTER '00000220'
(DEFEXPR (LAMBDA (U)
(DEF1 U (QUOTE FEXPR))))
%DELETE '00000480'
((AND V (GET U (QUOTE SPECIAL)))
%DELETE '00000570'
((AND V (EQ (CAR U) (QUOTE SETQ))
%DELETE '00000670' '00000740'
(T (CONS (TRANS (CAR U) V)
%DELETE '00001240'
(**ESC $$$?$)
%DELETE '00001472'
%DELETE '00001740'
%DELETE '00002170' '00002190'
%DELETE '00002270' '00002281'
%AFTER '00002330'
DEFINE ((
(MKSTRING (LAMBDA (U)
(LIST (QUOTE QUOTE) (COMPRESS (DELETE **SMARK (CDR U))))))
))
COMMENT ((FUNCTIONS FOR MTS IMPLEMENTATION ONLY))
DEFLIST (((PAUSE NORLIS) (CONT NORLIS)) STAT)
DEFINE ((
(PAUSE (LAMBDA NIL
(PROG (Y Z)
(COND ((BATCH) (RETURN NIL)))
(PRINM (QUOTE ($$$CONT?$)))
(COND ((YORN) (RETURN NIL)))
(COND ((AND IFL* (NOT (EQ IFL* (CAR IPL*))))
(SETQ IPL* (CONS IFL* IPL*))))
(SETQ IFL* NIL)
(SETQ Y *INT)
(SETQ *INT T)
(SETQ Z *ECHO)
(SETQ *ECHO NIL)
(RDS (OPEN (QUOTE GUSER) (QUOTE INPUT)))
(BEGIN1 T)
(SETQ *INT Y)
(SETQ *ECHO Z)
)))
(REDMSG1 (LAMBDA (U V)
(PROG NIL
(PRINM (LIST (QUOTE SHOULD) U (QUOTE BE)
(QUOTE DECLARED) V (QUOTE $$$?$)))
(RETURN (YORN)) )))
(PRINM (LAMBDA (U)
(PROG (V)
(WRS (OPEN (QUOTE SERCOM) (QUOTE OUTPUT)))
(SETQ V U)
A (PRINC (CAR V))
(PRINC **BLANK)
(COND ((SETQ V (CDR V)) (GO A)))
(TERPRI)
(WRS OFL*) )))
(READM (LAMBDA NIL
(PROG (U)
(CLOSE (QUOTE GUSER))
(RDS (OPEN (QUOTE GUSER) (QUOTE INPUT)))
(SETQ U (READ))
(RDS IFL*)
(RETURN U) )))
(YORN (LAMBDA NIL
(PROG (U)
A (SETQ U (READM))
(COND ((EQ U (QUOTE Y)) (RETURN T))
((EQ U (QUOTE N)) (RETURN NIL)))
(PRINM (QUOTE (ILLEGAL $$$RESPONSE.$ ENTER Y OR N)))
(GO A) )))
))
%DELETE '00002440' 2
(SETQ *INT (NULL (BATCH)))
(SETQ *ECHO (BATCH))
(*WRS NIL)
%DELETE '00002520'
(EXITERR (BATCH))
%DELETE '00002570'
(RETURN (BEGIN1 NIL)))))
%DELETE '00002701' '00002702'
%DELETE '00002935' '00002950'
(*OPEN (LAMBDA (U V) (PROG2 (OPEN U NIL V) U)))
%DELETE '00003010' '00003030'
(*WRS (LAMBDA (U)
(PROG NIL
(WRS (QUOTE LISPOUT))
(COND (U (PROG2 (ASA NIL) (WRS U))))
(OTLL (OTLLNG))
(PTS (QUOTE LLENGTH*) (DIFFERENCE (OTLLNG) 7)))))
%DELETE '00003060'
LOSE ((ASSOC* REMK*))
%BEFORE '00004110'
(COND ((NOT (ATOMLIS U)) (REDERR (QUOTE (ILLEGAL FILE NAME)))))
%DELETE '00004230'
F (BEGIN1 T)
%DELETE '00004370'
(SETQ *INT (NOT (BATCH)))
(SETQ *ECHO (BATCH))
(GO F)
%AFTER '00004840'
($$$&$ NIL AND NIL)
($$$|$ NIL OR NIL)
($$$~$ $$$=$ NOT UNEQ)
%AFTER '00011890'
(SETQ POSN* 0)
(COND ((NULL FORTVAR*) (GO A)))
%AFTER '00011900'
(SETQ POSN* 6)
%DELETE '00011910'
(PRINC* FORTVAR*)
%DELETE '00011930'
(PRINC* FORTVAR*)
%DELETE '00011941'
%AFTER '00013690'
((EQ CRCHAR* **EOF) (GO EOF))
%DELETE '00013800'
D (COND ((OR ECHO* *NAT) (SYMPRI CURSYM*)))
%DELETE '00014170'
(COND ((OR ECHO* *NAT) (MAPRIN CURSYM*)))
%DELETE '00014180'
(GO D1)
EOF (SETQ CURSYM* (QUOTE END))
(SETQ CRCHAR* **SEMICOL)
(GO D) )))
%DELETE '00014820' '00014840'
(SETQ U (AND (NOT (EQ *MODE (QUOTE SYMBOLIC)))
(OR PRI* (EQ U (QUOTE TOP)) (EQ U (QUOTE PRI)))))
%DELETE '00014940'
A (COND ((AND U (OR PRI* (EQ SEMIC* **SEMICOL)))
%DELETE '00016740'
(REMFLAG (LIST NAME) (QUOTE FNC))
%DELETE '00020010'
(RETURN (COMMAND1 (QUOTE PRI)))))
%DELETE '00020290'
(PROG (X Y Z)
%DELETE '00020300'
(SETQ X ECHO*)
%DELETE '00020380'
LOOP (COND ((EQ CRCHAR* **EOF) (GO RET))
((NULL U) (GO L1))
%DELETE '00020440'
L1 (COND ((NULL X) (GO L3)))
(COND ((NULL U) (PRINC* CRCHAR*))
((BREAKP CRCHAR*) (GO L2))
(T (PROG2 (RLIT CRCHAR*) (SETQ Z T))))
L3
%DELETE '00020590' '00020600'
L2 (COND (Z (PRINC* (MKATOM))))
(SETQ Z NIL)
(PRINC* CRCHAR*)
(COND ((NOT (EQ CRCHAR* **BLANK)) (GO L3))
((EQ U (QUOTE END)) (SETQ Y NIL)))
L4 (COND ((EQ (READCH*) **BLANK) (GO L4)))
(GO LOOP)
RET (COND ((AND X Z) (PROG2 (PRINC* (MKATOM)) (SETQ Z NIL))))
(SCAN)
RET1 (COND ((AND X Z) (PRINC* (MKATOM))))
(RETURN (COND (X (TERPRI*)) (T NIL)))
%DELETE '00021240'
(*APPLY (CONVRT (CDR X) T) NIL)))
%DELETE '00021485'
(FUNCTION REVAL))))) (PROG2 (ERRPRI2 X) (ERROR*))))
%DELETE '00021680'
(BEGIN1 (LAMBDA (U)
%DELETE '00021730'
(SETQ ECHO* (AND *ECHO (NOT (AND OFL* (OR *FORT (NULL *NAT))))))
%AFTER '00021840'
((EQ (CAR PROGRAM*) (QUOTE CONT)) (GO C))
%DELETE '00021852'
B (TERPRI*)
%DELETE '00021890'
(ERRORSET (CONVRT (GTS (QUOTE PROGRAM*)) T) T))
%DELETE '00021960'
(COND ((NULL (OR *INT OFL* *FORT)) (PRINTTY **STAR)))
%AFTER '00021970'
C (COND ((NOT U) (GO A)))
(COND (IFL* (GO ND1)))
(SETQ IFL* (COND (IPL* (CAR IPL*)) (T NIL)))
(RDS IFL*)
(TERPRI*)
(RETURN NIL)
%DELETE '00022010'
(RETURN (FINF U))
%AFTER '00022040'
(SETP)
%DELETE '00022070'
(LPRIE (QUOTE (COMMAND TERMINATED *****)) T)))
%DELETE '00022100'
(COND (IFL* (PAUSE)))
%DELETE '00022130'
(FINF (LAMBDA (U)
%DELETE '00022150'
(COND (U (GO A)))
%AFTER '00022160'
(SETQ IFL* NIL)
%DELETE '00022220' '00022222'
A (COND ((NOT IFL*) (RETURN NIL)))
(SHUT (LIST IFL*))
%AFTER '00022570'
(MTS NORLIS)
%DELETE '00023960' '00023980'
THE COMPUTING CENTER
%DELETE '00031230'
%DELETE '00032150'
(PROG (V W X Y Z Q)
%DELETE '00032190'
A (SETQ Q (CAR W))
(COND ((NULL W) (GO D))
%DELETE '00032210'
((NOT (ATOM (CAR U))) (GO A3))
%AFTER '00032231'
A3 (COND ((NOT (ATOM (CAAR W))) (GO A1))
((AND (MEMBER (CDAR W) FRLIS*)
(EQ (CAAR U) (QUOTE EXPT))
(SETQ W (CONS (CONS (LIST (QUOTE EXPT) (CAAR W)
(CDAR W)) 1) (CDR W))))
(GO A1))
((MEMBER (CAAR W) FRLIS*) (GO A2))
(T (GO D)))
%DELETE '00032380'
(DELETE Q (CAR V)))
%AFTER '00034000'
(RMSUBS)
%DELETE '00034670'
((ATOM P) (MKFR (TIMES P (CADDR Q)) (CADR Q)))
((ATOM Q) (MKFR (CADR P) (TIMES Q (CADDR P))))
(T (MKFR (TIMES (CADR P) (CADDR Q))
(TIMES (CADR Q) (CADDR P)))) ))
%DELETE '00035880'
((AND *ALLFAC (NOT (EQUAL X (CAR U)))) (GO B))
%DELETE '00037220' '00037221'
D (COND ((NULL (OR W (EQ POSN* 0))) (PROG2 (SETQ POSN* 0)
(TERPRI))))
(COND ((EQ POSN* 0) (SETQ COUNT* 1)))
(SETQ FORTVAR* NIL)
(COND ((OR W (ATOM V) (NOT (EQ POSN* 0))) (GO A)))
%DELETE '00037270'
(SETQ POSN* 6)
(PRINC* FORTVAR*)
%DELETE '00037281'
%BEFORE '00037670'
(SETQ ERFG* T)
%AFTER '00042660'
(REMPROP X (QUOTE ARRAY))
%DELETE '00043411' '00043412'
%DELETE '00043860'
(PROG2 (LET1 U (MK*SQ (CONS (CDR (SIMP *ANS)) 1)))
(SETQ MCOND* (SETQ FRASC* NIL)))))
%DELETE '00043880'
(NUMER* (LAMBDA (U)
%DELETE '00043920'
(PROG2 (NUMER* U) (DENOM V))))
(NUMER (LAMBDA (U)
(PROG2 (NUMER* U) (SETQ MCOND* (SETQ FRASC* NIL)))))
%DELETE '00045321' '00045322'
%DELETE '00054950'
((AND (NOT (FLAGP L (QUOTE NOSPUR)))
%DELETE '00059381'
%DELETE '00060145'
%BEFORE FILEMARK