Trailing-Edge
-
PDP-10 Archives
-
-
There are no other files named in the archive.
00010
00020
00030 (DEFPROP &SCANTYPE
00040 T
00050 SPECIAL)
00060
00070 (DEFPROP &SCANVAL
00080 T
00090 SPECIAL)
00100
00110 (DEFPROP &CURFUNCT
00120 T
00130 SPECIAL)
00140
00150 (DEFPROP &ERRORCNT
00160 T
00170 SPECIAL)
00180
00190 (DEFPROP &REDEFCNT
00200 T
00210 SPECIAL)
00220
00230 (DEFPROP &SPECLIST
00240 T
00250 SPECIAL)
00260
00270 (DEFPROP &FUNCLIST
00280 T
00290 SPECIAL)
00300
00310 (DEFPROP MLISP
00320 (LAMBDA (&FILE)
00330 (PROG (&SCANVAL &EX &TIME &ERRORCNT &REDEFCNT &SPECLIST &FUNCLIST)
00340 (TERPRI)
00350 (COND (&FILE
00360 (COND
00370 ((NOT (EQ (CAR &FILE) (QUOTE TTY)))
00380 (EVAL (LIST (QUOTE INC) (LIST (QUOTE INPUT) (QUOTE DSK:) (CAR &FILE)))))))
00390 (T (INC T)))
00400 (PRINT STAR)
00410 (SETQ &TIME (TIME))
00420 (SETQ &EX (MTRANS))
00430 (PUTPROP (&TEST (QUOTE RESTART) (QUOTE EXPR)) (LIST (QUOTE LAMBDA) NIL &EX) (QUOTE EXPR))
00440 (SETQ &TIME (QUOTIENT (DIFFERENCE (TIME) &TIME) 1000.0))
00450 (PRINT STAR)
00460 (PRINT &TIME)
00470 (PRINTSTR (QUOTE " SECONDS TRANSLATION TIME"))
00480 (PRINT (COND ((ZEROP &ERRORCNT) (QUOTE NO)) (T &ERRORCNT)))
00490 (PRINTSTR (QUOTE "ERRORS WERE DETECTED"))
00500 (PRINT (COND ((ZEROP &REDEFCNT) (QUOTE NO)) (T &REDEFCNT)))
00510 (PRINTSTR (QUOTE "FUNCTIONS WERE REDEFINED"))
00520 (TERPRI)
00530 (INC NIL T)
00540 (COND ((AND &FILE (CDR &FILE))
00550 (PROG NIL
00560 (COND
00570 (&SPECLIST (SETQ &SPECLIST (&MERGE &SPECLIST NIL))
00580 (PRINTSTR (QUOTE "SPECIAL DECLARATIONS:"))
00590 (PRINT &SPECLIST)
00600 (TERPRI)
00610 (TERPRI)))
00620 (SETQ &FUNCLIST
00630 (REVERSE
00640 (COND
00650 ((EQUAL (GET (QUOTE RESTART) (QUOTE EXPR)) (QUOTE (LAMBDA NIL (PROG NIL))))
00660 (CDR &FUNCLIST))
00670 (T &FUNCLIST))))
00680 (MAPC (FUNCTION
00690 (LAMBDA (&SCANVAL)
00700 (COND
00710 ((MEMBER &SCANVAL &SPECLIST)
00720 (PRINTSTR
00730 (CAT (QUOTE "***WARNING***, FUNCTION ")
00740 (CAT &SCANVAL (QUOTE " ALSO DECLARED SPECIAL"))))))))
00750 &FUNCLIST)
00760 (COND ((CADR &FILE) (PRINTSTR
00770 (CAT (QUOTE "COMPILING ONTO ") (CAT (CAR &FILE) (QUOTE ".LAP"))))
00780 (SETQ BASE 8.)
00790 (EVAL
00800 (LIST (QUOTE OUTPUT) (QUOTE DSK:) (CONS (CAR &FILE) (QUOTE LAP))))
00810 (OUTC T T)
00820 (EVAL (CONS (QUOTE SPECIAL) &SPECLIST))
00830 (MAPC (FUNCTION
00840 (LAMBDA (&SCANVAL)
00850 (PROG2 (EVAL (LIST (QUOTE COMPILE) &SCANVAL))
00860 (OR (AND (REMPROP &SCANVAL (QUOTE EXPR))
00870 (PUTPROP &SCANVAL T (QUOTE *EXPR)))
00880 (AND (REMPROP &SCANVAL (QUOTE FEXPR))
00890 (PUTPROP &SCANVAL T (QUOTE *FEXPR)))))))
00900 &FUNCLIST)
00910 (SETQ BASE 10.))
00920 (T (PRINTSTR (CAT (QUOTE "GRINDEFING ONTO ") (CAT (CAR &FILE) (QUOTE ".LSP"))))
00930 (SETQ *NOPOINT NIL)
00940 (EVAL (LIST (QUOTE OUTPUT) (QUOTE DSK:) (CONS (CAR &FILE) (QUOTE LSP))))
00950 (OUTC T T)
00960 (MAPC (FUNCTION
00970 (LAMBDA (&SCANVAL)
00980 (PRINT (LIST (QUOTE DEFPROP) &SCANVAL T (QUOTE SPECIAL)))))
00990 &SPECLIST)
01000 (TERPRI)
01010 (MAPC (FUNCTION
01020 (LAMBDA (&SCANVAL)
01030 (COND
01040 ((GET &SCANVAL (QUOTE FEXPR))
01050 (PRINT (LIST (QUOTE DEFPROP) &SCANVAL T (QUOTE *FEXPR)))))))
01060 &FUNCLIST)
01070 (EVAL (CONS (QUOTE GRINDEF) &FUNCLIST))
01080 (SETQ *NOPOINT T)))
01090 (OUTC NIL T)))
01100 (T (RESTART) (OUTC NIL T)))
01110 (TERPRI)
01120 (TERPRI)
01130 (PRINTSTR (QUOTE "END OF RUN"))
01140 (INC NIL)))
01150 FEXPR)
01160
01170 (DEFPROP &MERGE
01180 (LAMBDA (&X &Y)
01190 (PROG NIL
01200 L (COND ((NULL &X) (RETURN &Y)) ((MEMBER (CAR &X) &Y) NIL) (T (SETQ &Y (CONS (CAR &X) &Y))))
01210 (SETQ &X (CDR &X))
01220 (GO L)))
01230 EXPR)
01240
01250 (DEFPROP MTRANS
01260 (LAMBDA NIL
01270 (PROG (&SCANTYPE &SCANVAL &CURFUNCT)
01280 (SETQ &ERRORCNT 0.)
01290 (SETQ &REDEFCNT 0.)
01300 (SCANSET)
01310 (INITFN (QUOTE SCANRESET))
01320 (&SCAN)
01330 (RETURN (&DO2 (&EXPR) (SCANRESET)))))
01340 EXPR)
01350
01360 (DEFPROP &SCAN
01370 (LAMBDA NIL
01380 (COND ((EQUAL (SETQ &SCANTYPE (SCAN)) IDTYPE) (SETQ &SCANVAL (INTERN SCNVAL)))
01390 ((EQUAL &SCANTYPE DELIMTYPE) (SETQ &SCANVAL (INTERN (ASCII SCNVAL))))
01400 (T (SETQ &SCANVAL SCNVAL))))
01410 EXPR)
01420
01430 (DEFPROP &BASIC
01440 (LAMBDA (&X) (COND ((EQ &X &SCANVAL) (&DO2 T (&SCAN)))))
01450 EXPR)
01460
01470 (DEFPROP &EXPR
01480 (LAMBDA NIL (&MORETERMS (&SIMPEX) (COND ((NOT (NUMBERP &SCANVAL)) (&OPR (GET &SCANVAL (QUOTE OPR)))))))
01490 EXPR)
01500
01510 (DEFPROP &MORETERMS
01520 (LAMBDA (&X &OP) (COND (&OP (LIST &OP &X (&EXPR))) (T &X)))
01530 EXPR)
01540
01550 (DEFPROP &OPR
01560 (LAMBDA (&OP) (COND (&OP (&DO2SCAN &OP)) ((&ID) (&DO2SCAN &SCANVAL)) (T NIL)))
01570 EXPR)
01580
01590 (DEFPROP &SIMPEX
01600 (LAMBDA NIL
01610 (COND ((NUMBERP &SCANVAL) (&DO2SCAN &SCANVAL))
01620 ((GET &SCANVAL (QUOTE RW))
01630 (COND ((&BASIC (QUOTE BEGIN)) (&TRANSPROG (CONS (QUOTE PROG) (CONS (&DECL) (&EXLIST)))))
01640 ((&BASIC (QUOTE IF)) (CONS (QUOTE COND) (&TRANSCOND (&EXPR))))
01650 ((&BASIC (QUOTE FOR)) (&TRANSFOR))
01660 ((&BASIC (QUOTE WHILE)) (&TRANSWHILE (&EXPR)))
01670 ((&BASIC (QUOTE DO)) (&TRANSDO (&EXPR)))
01680 ((&BASIC (QUOTE COLLECT)) (&TRANSCOLLECT (&EXPR)))
01690 ((&BASIC (QUOTE LAMBDA)) (&TRANSLAMBDA (&LAMB)))
01700 ((EQ &SCANVAL (QUOTE OCTAL)) (&OCTALNUM))
01710 (T NIL)))
01720 ((GET &SCANVAL (QUOTE PREFIX))
01730 (COND ((&BASIC PLUSS) (&SIMPEX))
01740 ((&BASIC DASH) (LIST (QUOTE MINUS) (&SIMPEX)))
01750 (T (LIST (&DO2SCAN &SCANVAL) (&SIMPEX)))))
01760 ((GET &SCANVAL (QUOTE FUNCTYPE)) (&FNDEF &SCANVAL (&SCAN) &CURFUNCT))
01770 ((EQUAL &SCANTYPE IDTYPE) (&IDCHECK (&DO2SCAN &SCANVAL)))
01780 ((EQUAL &SCANTYPE STRTYPE) (&DO2SCAN (LIST (QUOTE QUOTE) &SCANVAL)))
01790 ((EQ &SCANVAL (QUOTE ')) (&DO2SCAN (LIST (QUOTE QUOTE) (READ))))
01800 ((&BASIC (QUOTE <)) (CONS (QUOTE LIST) (&TRANSLIST)))
01810 ((&BASIC LPAR) (&TERM (&EXPR)))
01820 (T (&ERROR (QUOTE "INDECIPHERABLE SIMPLE EXPRESSION")))))
01830 EXPR)
01840
01850 (DEFPROP &TERM
01860 (LAMBDA (&EX) (COND ((&BASIC RPAR) &EX) (T (&ERROR (QUOTE "ILLEGAL PARENTHESIZED EXPRESSION")))))
01870 EXPR)
01880
01890 (DEFPROP &IDCHECK
01900 (LAMBDA (&X)
01910 (COND ((&BASIC LPAR) (CONS &X (&ARGLIST))) ((&BASIC LARROW) (LIST (QUOTE SETQ) &X (&EXPR))) (T &X)))
01920 EXPR)
01930
01940 (DEFPROP &TRANSPROG
01950 (LAMBDA (&EX)
01960 (COND ((&BASIC (QUOTE END)) &EX)
01970 (T (&ERROR (QUOTE "ILLEGAL STATEMENT IN BEGIN-END BLOCK OR MISSING SEMICOLON")))))
01980 EXPR)
01990
02000 (DEFPROP &DECL
02010 (LAMBDA NIL (COND ((&BASIC (QUOTE NEW)) (&NEWS)) ((&BASIC (QUOTE SPECIAL)) (&SPECS)) (T NIL)))
02020 EXPR)
02030
02040 (DEFPROP &NEWS
02050 (LAMBDA NIL
02060 (COND ((&ID) (CONS (&DO2SCAN &SCANVAL) (&MOREDECLS T)))
02070 (T (&ERROR (QUOTE "RESERVED WORD OR DELIMITER IN DECLARATION LIST")))))
02080 EXPR)
02090
02100 (DEFPROP &MOREDECLS
02110 (LAMBDA (&X)
02120 (COND ((&BASIC COMMA) (COND (&X (&NEWS)) (T (&SPECS))))
02130 ((&BASIC (QUOTE ;)) (&DECL))
02140 (T (&ERROR (QUOTE "MISSING COMMA OR SEMICOLON IN DECLARATION LIST")))))
02150 EXPR)
02160
02170 (DEFPROP &SPECS
02180 (LAMBDA NIL
02190 (COND ((&ID) (PROG2 (SETQ &SPECLIST (CONS (&DO2SCAN &SCANVAL) &SPECLIST)) (&MOREDECLS NIL)))
02200 (T (&ERROR (QUOTE "RESERVED WORD OR DELIMITER IN SPECIAL DECLARATION LIST")))))
02210 EXPR)
02220
02230 (DEFPROP &EXLIST
02240 (LAMBDA NIL
02250 (PROG (&EX &V)
02260 L (SETQ &V (COND ((NULL (SETQ &EX (&EXPR))) &V) (T (CONS &EX &V))))
02270 (COND ((&BASIC (QUOTE ;)) (GO L)) (T (RETURN (REVERSE &V))))))
02280 EXPR)
02290
02300 (DEFPROP &TRANSCOND
02310 (LAMBDA (&EX)
02320 (COND ((&BASIC (QUOTE THEN)) (&TC1 (LIST &EX (&EXPR))))
02330 (T (&ERROR (QUOTE "ILLEGAL EXPRESSION FOLLOWING IF")))))
02340 EXPR)
02350
02360 (DEFPROP &TC1
02370 (LAMBDA (&EX)
02380 (COND ((&BASIC (QUOTE ELSE))
02390 (COND ((&BASIC (QUOTE IF)) (CONS &EX (&TRANSCOND (&EXPR)))) (T (LIST &EX (LIST T (&EXPR))))))
02400 (T (LIST &EX))))
02410 EXPR)
02420
02430 (DEFPROP &TRANSFOR
02440 (LAMBDA NIL
02450 (COND ((&ID) (&TF1 (&DO2SCAN &SCANVAL)))
02460 ((&BASIC (QUOTE NEW))
02470 (COND ((&ID) (&TF1 (&DO2SCAN (CONS &SCANVAL NIL))))
02480 (T (&ERROR (QUOTE "RESERVED WORD OR SYMBOL FOLLOWING NEW IN FOR-LOOP")))))
02490 (T (&ERROR (QUOTE "RESERVED WORD OR SYMBOL FOLLOWING FOR")))))
02500 EXPR)
02510
02520 (DEFPROP &TF1
02530 (LAMBDA (&VAR)
02540 (COND ((&BASIC (QUOTE IN)) (&TF2 &VAR T (&EXPR)))
02550 ((&BASIC (QUOTE ON)) (&TF2 &VAR NIL (&EXPR)))
02560 ((&BASIC LARROW) (&TRANSFORLOOP &VAR (&EXPR)))
02570 (T (&ERROR (QUOTE "EXPECTED IN /, ON /, OR _ AFTER CONTROL VARIABLE IN FOR-LOOP")))))
02580 EXPR)
02590
02600 (DEFPROP &TF2
02610 (LAMBDA (&VAR &IN &EX)
02620 (COND ((&BASIC (QUOTE DO)) (&TF3 &VAR &IN &EX T (&EXPR)))
02630 ((&BASIC (QUOTE COLLECT)) (&TF3 &VAR &IN &EX NIL (&EXPR)))
02640 (T (&ERROR (QUOTE "EXPECTED DO OR COLLECT IN FOR-LOOP")))))
02650 EXPR)
02660
02670 (DEFPROP &TF3
02680 (LAMBDA (&VAR &IN &EX &DO &EX1)
02690 (COND ((&BASIC (QUOTE UNTIL))
02700 (LIST (QUOTE &FOR)
02710 (LIST (QUOTE QUOTE) &VAR)
02720 (LIST (QUOTE QUOTE) (CONS &IN &DO))
02730 &EX
02740 (COND (&EX1 (LIST (QUOTE QUOTE) &EX1)))
02750 (LIST (QUOTE QUOTE) (&EXPR))))
02760 (T
02770 (LIST (QUOTE &FOR)
02780 (LIST (QUOTE QUOTE) &VAR)
02790 (LIST (QUOTE QUOTE) (CONS &IN &DO))
02800 &EX
02810 (COND (&EX1 (LIST (QUOTE QUOTE) &EX1)))
02820 NIL))))
02830 EXPR)
02840
02850 (DEFPROP &TRANSFORLOOP
02860 (LAMBDA (&VAR &LOWER)
02870 (COND ((&BASIC (QUOTE TO)) (&TFL1 &VAR &LOWER (&EXPR)))
02880 (T (&ERROR (QUOTE "ILLEGAL LOWER RANGE SPECIFICATION IN FOR-LOOP")))))
02890 EXPR)
02900
02910 (DEFPROP &TFL1
02920 (LAMBDA (&VAR &LOWER &UPPER)
02930 (COND ((&BASIC (QUOTE BY)) (&TFL2 &VAR &LOWER &UPPER (&EXPR))) (T (&TFL2 &VAR &LOWER &UPPER 1.))))
02940 EXPR)
02950
02960 (DEFPROP &TFL2
02970 (LAMBDA (&VAR &LOWER &UPPER &INC)
02980 (COND ((&BASIC (QUOTE DO)) (&TFL3 &VAR (LIST &LOWER &UPPER &INC) T (&EXPR)))
02990 ((&BASIC (QUOTE COLLECT)) (&TFL3 &VAR (LIST &LOWER &UPPER &INC) NIL (&EXPR)))
03000 (T (&ERROR (QUOTE "EXPECTED DO OR COLLECT IN FOR-LOOP")))))
03010 EXPR)
03020
03030 (DEFPROP &TFL3
03040 (LAMBDA (&VAR &X &DO &EX1)
03050 (COND ((&BASIC (QUOTE UNTIL))
03060 (LIST (QUOTE &FORLOOP)
03070 (LIST (QUOTE QUOTE) &VAR)
03080 (LIST (QUOTE QUOTE) &X)
03090 &DO
03100 (COND (&EX1 (LIST (QUOTE QUOTE) &EX1)))
03110 (LIST (QUOTE QUOTE) (&EXPR))))
03120 (T
03130 (LIST (QUOTE &FORLOOP)
03140 (LIST (QUOTE QUOTE) &VAR)
03150 (LIST (QUOTE QUOTE) &X)
03160 &DO
03170 (COND (&EX1 (LIST (QUOTE QUOTE) &EX1)))
03180 NIL))))
03190 EXPR)
03200
03210 (DEFPROP &TRANSDO
03220 (LAMBDA (&EX)
03230 (COND ((&BASIC (QUOTE UNTIL)) (&GENTRANS (QUOTE &DOUNTIL) &EX (&EXPR)))
03240 (T (&ERROR (QUOTE "MISSING UNTIL IN DO STATEMENT")))))
03250 EXPR)
03260
03270 (DEFPROP &TRANSCOLLECT
03280 (LAMBDA (&EX)
03290 (COND ((&BASIC (QUOTE UNTIL)) (&GENTRANS (QUOTE &LISTUNTIL) &EX (&EXPR)))
03300 (T (&ERROR (QUOTE "MISSING UNTIL IN COLLECT STATEMENT")))))
03310 EXPR)
03320
03330 (DEFPROP &TRANSWHILE
03340 (LAMBDA (&EX)
03350 (COND ((&BASIC (QUOTE DO)) (&GENTRANS (QUOTE &WHILEDO) &EX (&EXPR)))
03360 ((&BASIC (QUOTE COLLECT)) (&GENTRANS (QUOTE &WHILELIST) &EX (&EXPR)))
03370 (T (&ERROR (QUOTE "MISSING DO OR COLLECT IN WHILE STATEMENT")))))
03380 EXPR)
03390
03400 (DEFPROP &GENTRANS
03410 (LAMBDA (&FUNC &EX &EX1) (LIST &FUNC (LIST (QUOTE QUOTE) &EX) (LIST (QUOTE QUOTE) &EX1)))
03420 EXPR)
03430
03440 (DEFPROP &TRANSLAMBDA
03450 (LAMBDA (&X)
03460 (COND ((&BASIC (QUOTE ;))
03470 (COND ((&BASIC LPAR) (CONS &X (&ARGLIST))) (T (&ERROR (QUOTE "ILLEGAL LAMBDA EXPRESSION")))))
03480 (T &X)))
03490 EXPR)
03500
03510 (DEFPROP &OCTALNUM
03520 (LAMBDA NIL
03530 (PROG NIL
03540 (SETQ IBASE 8.)
03550 (&SCAN)
03560 (SETQ IBASE 10.)
03570 (COND ((NUMBERP &SCANVAL) (RETURN (&DO2SCAN &SCANVAL)))
03580 (T (&ERROR (QUOTE "RESERVED WORD OCTAL NOT FOLLOWED BY A NUMBER"))))))
03590 EXPR)
03600
03610 (DEFPROP &TRANSLIST
03620 (LAMBDA NIL
03630 (COND ((&BASIC (QUOTE >)) NIL)
03640 (T (CONS (&EXPR) (&ARGLIST1 (QUOTE >) (QUOTE "ILLEGAL ARGUMENT IN LIST BRACKETS"))))))
03650 EXPR)
03660
03670 (DEFPROP &FNDEF
03680 (LAMBDA (&IND &FUNC &CURFUNC)
03690 (PROG2 (PUTPROP (&TEST &FUNC &IND) (PROG2 (&SCAN) (&LAMB)) (PROG2 (SETQ &CURFUNCT &CURFUNC) &IND)) NIL))
03700 EXPR)
03710
03720 (DEFPROP &LAMB
03730 (LAMBDA NIL
03740 (COND ((&BASIC LPAR)
03750 (LIST (QUOTE LAMBDA) (COND ((&BASIC RPAR) (&VARLIST NIL)) (T (&VARLIST (&VAR1 T)))) (&EXPR)))
03760 (T (&ERROR (QUOTE "EXPECTED LEFT PARENTHESIS FOR LAMBDA VARIABLE LIST IN FUNCTION DEFINITION")))))
03770 EXPR)
03780
03790 (DEFPROP &VARLIST
03800 (LAMBDA (&X)
03810 (COND ((&BASIC (QUOTE ;)) &X)
03820 (T (&ERROR (QUOTE "SEMICOLON REQUIRED AFTER LAMBDA VARIABLES IN FUNCTION DEFINITION")))))
03830 EXPR)
03840
03850 (DEFPROP &VAR1
03860 (LAMBDA (&X)
03870 (COND ((&ID)
03880 (COND (&X (CONS (&DO2SCAN &SCANVAL) (&VAR2)))
03890 (T (PROG2 (SETQ &SPECLIST (CONS &SCANVAL &SPECLIST)) (CONS (&DO2SCAN &SCANVAL) (&VAR2))))))
03900 ((AND &X (&BASIC (QUOTE SPECIAL))) (&VAR1 NIL))
03910 (T (&ERROR (QUOTE "RESERVED WORD OR DELIMITER USED AS LAMBDA VARIABLE IN FUNCTION DEFINITION")))))
03920 EXPR)
03930
03940 (DEFPROP &VAR2
03950 (LAMBDA NIL
03960 (COND ((&BASIC RPAR) NIL)
03970 ((&BASIC COMMA) (&VAR1 T))
03980 (T (&ERROR (QUOTE "ILLEGAL LAMBDA VARIABLE IN FUNCTION DEFINITION")))))
03990 EXPR)
04000
04010 (DEFPROP &TEST
04020 (LAMBDA (&X &IND)
04030 (PROG NIL
04040 (SETQ &CURFUNCT (PRINT &X))
04050 (COND
04060 ((GETL &X (QUOTE (EXPR FEXPR SUBR FSUBR MACRO LEXPR LSUBR)))
04070 (PROG2 (PRINTSTR (CAT (QUOTE " ***WARNING***, FUNCTION ") (CAT &X (QUOTE " REDEFINED"))))
04080 (SETQ &REDEFCNT (ADD1 &REDEFCNT)))))
04090 (SETQ &FUNCLIST (CONS &X &FUNCLIST))
04100 (RETURN &X)))
04110 EXPR)
04120
04130 (DEFPROP &ARGLIST
04140 (LAMBDA NIL
04150 (COND ((&BASIC RPAR) NIL) (T (CONS (&EXPR) (&ARGLIST1 RPAR (QUOTE "ILLEGAL EXPRESSION IN ARGUMENT LIST"))))))
04160 EXPR)
04170
04180 (DEFPROP &ARGLIST1
04190 (LAMBDA (&ENDER &MSG)
04200 (COND ((&BASIC COMMA) (CONS (&EXPR) (&ARGLIST1 &ENDER &MSG))) ((&BASIC &ENDER) NIL) (T (&ERROR &MSG))))
04210 EXPR)
04220
04230 (DEFPROP &ID
04240 (LAMBDA NIL (AND (EQUAL &SCANTYPE IDTYPE) (NOT (GET &SCANVAL (QUOTE RW)))))
04250 EXPR)
04260
04270 (DEFPROP &ERROR
04280 (LAMBDA (&MSG)
04290 (PROG NIL
04300 (TERPRI)
04310 (PRINTSTR (CAT (QUOTE "*** ERROR IN FUNCTION ") (CAT &CURFUNCT (QUOTE " ***"))))
04320 (PRINTSTR (CAT (QUOTE "*** ERROR ") (CAT (SETQ &ERRORCNT (ADD1 &ERRORCNT)) (CAT (QUOTE ": ") &MSG))))
04330 (PRINTSTR (CAT (QUOTE "CURRENT SYMBOL IS ") &SCANVAL))
04340 (PRINTSTR (CAT (QUOTE "LINE NUMBER ") (&WHERE (PGLINE))))
04350 (PRINTSTR (QUOTE "SKIPPING TO NEXT SEMICOLON"))
04360 (&RECOVER (&SCAN))))
04370 EXPR)
04380
04390 (DEFPROP &WHERE
04400 (LAMBDA (&X) (CAT (CDR &X) (CAT SLASH (CAR &X))))
04410 EXPR)
04420
04430 (DEFPROP &RECOVER
04440 (LAMBDA (&X) (COND ((&BASIC (QUOTE ;)) (&EXLIST)) (T (&RECOVER (&SCAN)))))
04450 EXPR)
04460
04470 (DEFPROP &DO2
04480 (LAMBDA (&X &Y) &X)
04490 EXPR)
04500
04510 (DEFPROP &DO2SCAN
04520 (LAMBDA (&X) (&DO2 &X (&SCAN)))
04530 EXPR)