(FILECREATED "19-Jun-86 13:14:19" ("compiled on " {ERIS}LIBRARY>CMLPARSE.;22) "19-Jun-86 12:46:19" "COMPILE-FILEd" in "Xerox Lisp 19-Jun-86 ..." dated "19-Jun-86 12:58:11") (FILECREATED " 5-Jun-86 23:31:11" {ERIS}LIBRARY>CMLPARSE.;22 36542 changes to: (FNS PARSE-BODY) previous date: "27-May-86 17:56:12" {ERIS}LIBRARY>CMLPARSE.;21) (RPAQQ CMLPARSECOMS ((DECLARE: EVAL@COMPILE (P (PROCLAIM (QUOTE (SPECIAL %%ARG-COUNT %%MIN-ARGS %%UNBOUNDED-ARG-COUNT %%LET-LIST %%KEYWORD-TESTS %%ENV-ARG-USED %%CTX-ARG-USED %%ENV-ARG-USED %%ENV-ARG-NAME %%CTX-ARG-USED %%CTX-ARG-NAME *DEFAULT-DEFAULT* *KEY-FINDER*))))) (FNS PARSE-BODY) (FNS PARSE-DEFMACRO ANALYZE ANALYZE-REST ANALYZE-AUX ANALYZE-KEY DEFMACRO-ARG-TEST RECURSIVELY-ANALYZE PUSH-KEYWORD-BINDING) (VARS ANALYZE-TESTS) (COMS (* * "These two are needed at runtime.") (FNS KEYWORD-TEST FIND-KEYWORD)) (PROP FILETYPE CMLPARSE) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA FIND-KEYWORD KEYWORD-TEST PUSH-KEYWORD-BINDING RECURSIVELY-ANALYZE DEFMACRO-ARG-TEST ANALYZE-KEY ANALYZE-AUX ANALYZE-REST PARSE-DEFMACRO PARSE-BODY)) ))) (PROCLAIM (QUOTE (SPECIAL %%ARG-COUNT %%MIN-ARGS %%UNBOUNDED-ARG-COUNT %%LET-LIST %%KEYWORD-TESTS %%ENV-ARG-USED %%CTX-ARG-USED %%ENV-ARG-USED %%ENV-ARG-NAME %%CTX-ARG-USED %%CTX-ARG-NAME *DEFAULT-DEFAULT* *KEY-FINDER*))) PARSE-BODY D1 (L (0 -args-)) ekaQlalHilaI! OW^dOObK_N_YN:Ndl𢿰/gN;Nd J NJ ]MLOO O gLO_O_(202Q VALUES 175Q REVERSE 153Q \MVLIST 150Q MACROEXPAND 141Q MACRO-FUNCTION 130Q SPECIAL-FORM-P) (207Q DECLARE 115Q DECLARE) () PARSE-DEFMACRO D1 (L (0 -args-) P 50Q %%CTX-ARG-USED P 47Q %%ENV-ARG-USED P 46Q %%KEYWORD-TESTS P 45Q %%LET-LIST P 44Q %%UNBOUNDED-ARG-COUNT P 43Q %%MIN-ARGS P 42Q %%ARG-COUNT P 32Q *KEY-FINDER* P 27Q *DEFAULT-DEFAULT* P 16Q %%CTX-ARG-NAME P 13Q %%ENV-ARG-NAME) U)eka !lalalalaHl_OdNgJh_Hl__OdOh_Hl__OdOh_Hl_ _O dOh_"Hl_&_$O&dO$i_(Hl_,_*O,dO*h_.Hl_2_0O2dO0g_4KMO( _6_8O6_:_jdR(IOLJ O"O gOJ OOFOHhOD (1122Q VALUES 1103Q \APPEND2 1100Q \APPEND2 425Q \APPEND2 422Q \APPEND2 411Q REVERSE 401Q DEFMACRO-ARG-TEST 370Q ANALYZE 325Q \MVLIST 322Q PARSE-BODY) (1061Q IGNORE 1056Q DECLARE 1027Q IGNORE 1024Q DECLARE 776Q IGNORE 773Q DECLARE 734Q :KEY-FINDER 704Q :DEFAULT-DEFAULT 654Q :DOC-STRING-ALLOWED 624Q :ERROR-STRING 574Q :CONTEXT 544Q :ENVIRONMENT 514Q :PATH 464Q CL:LENGTH 455Q QUOTE 450Q CL:ERROR 443Q CL:IF 404Q LET* 310Q FIND-KEYWORD 62Q CDR) () ANALYZE D1 (L (3 WHOLE 2 ERRLOC 1 PATH 0 ARGLIST) F 10Q %%LET-LIST F 11Q %%ARG-COUNT F 12Q %%UNBOUNDED-ARG-COUNT F 13Q *DEFAULT-DEFAULT* F 14Q %%ENV-ARG-NAME F 15Q %%CTX-ARG-NAME F 16Q %%MIN-ARGS F 17Q %%CTX-ARG-USED F 20Q %%ENV-ARG-USED)  AHAhWcHb@qHHicHAhWcZ_gO:4C&H!HlHChWcicHoB tgO:6W'H"HlHWhWcic HEoB 8gO:6W'H"HlHWhWcicH oB gO:IooB iYgO:gO:HABC gO:icKAhWcHKB gO:ooB gO:HB IWkcJdl%gAgAhhiWhhhWc!ooB JlWJgAgAhhiJ kJWhhhWcJ lJggAhhhWc\gAgAhhiJ kJWhhhWcJLBh J lqJggAhhhWcUWkcWkcJdlgAhhWc.ooJB ]gAhhWcJMBM HHgAh^gAhhWcNbHX4(1321Q GENSYM 1273Q RECURSIVELY-ANALYZE 1243Q GENSYM 1236Q CERROR 1110Q CL:LENGTH 1103Q RECURSIVELY-ANALYZE 1042Q CL:LENGTH 1016Q GENSYM 750Q CL:LENGTH 713Q CL:LENGTH 653Q CERROR 545Q ANALYZE-AUX 525Q CERROR 501Q ANALYZE-KEY 452Q GENSYM 436Q ANALYZE-REST 402Q CERROR 351Q CL:ERROR 255Q CL:ERROR 161Q CL:ERROR 6 GENSYM) (1325Q CDR 1310Q CDR 1247Q CAR 1201Q CAR 1127Q NULL 1124Q NOT 1026Q CAR 1022Q COND 771Q NULL 766Q NOT 677Q CAR 673Q COND 601Q CAR 575Q COND 533Q &AUX 505Q &ALLOW-OTHER-KEYS 442Q &KEY 422Q &BODY 413Q &REST 357Q &OPTIONAL 263Q &CONTEXT 167Q &ENVIRONMENT 75Q &WHOLE) ( 1231Q "Non-symbol variable name %"~S%" in ~S." 1225Q "Ignore this item." 647Q "Non-symbol variable name in ~S." 643Q "Ignore this item." 521Q "Stray &ALLOW-OTHER-KEYS in arglist of ~S." 515Q "Ignore it." 376Q "Redundant &optional flag in varlist of ~S." 372Q "Ignore it." 345Q "Illegal or ill-formed &context arg in ~S." 251Q "Illegal or ill-formed &environment arg in ~S." 155Q "Illegal or ill-formed &whole arg in ~S.") ANALYZE-REST D1 (L (3 WHOLE 2 ERRLOC 1 PATH 0 ARGLIST) F 7 %%LET-LIST F 10Q %%ENV-ARG-NAME F 11Q %%CTX-ARG-NAME F 12Q %%UNBOUNDED-ARG-COUNT F 13Q REST-VAR F 14Q %%ENV-ARG-USED F 15Q %%CTX-ARG-USED) @oB ic@!HdlAhWcH k|Wo HHHhNggAWMhhhhhWcKgNhhWcLM/gNhhWcgNhhWcoB @YdhooB gJ:WoB IHB gJ:IB gJ:ooB gJ:1C#IIlIChWcIYoB gJ:5W'I"IlIWhWcicIYSoB IgJ:4W'I"IlIWhWcicIYoB ooIB I(704Q CERROR 665Q CL:ERROR 573Q CL:ERROR 500Q CL:ERROR 412Q CERROR 367Q ANALYZE-AUX 352Q ANALYZE-KEY 340Q CL:ERROR 313Q CERROR 265Q CL:ERROR 112Q GENSYM 75Q CL:ERROR 57Q CL:LENGTH 12Q CL:ERROR) (600Q &CONTEXT 506Q &ENVIRONMENT 420Q &WHOLE 373Q &ALLOW-OTHER-KEYS 356Q &AUX 321Q &KEY 236Q SECOND 214Q THIRD 163Q CL:FIRST 126Q PARSE-BODY 123Q MULTIPLE-VALUE-LIST) ( 676Q "Stray parameter %"~S%" found in arglist of ~S." 672Q "Ignore it." 661Q "Ill-formed or illegal &context arg in ~S." 567Q "Ill-formed or illegal &environment arg in ~S." 474Q "Ill-formed or illegal &whole arg in ~S." 406Q "Stray &ALLOW-OTHER-KEYS in arglist of ~S." 402Q "Ignore it." 334Q "A non-atomic &body argument was mixed with &key in arglist of ~S." 307Q "Dotted arglist terminator after &rest arg in ~S." 303Q "Ignore the illegal terminator." 261Q "Bad &rest or &body arg in ~S." 72Q "A non-atomic &body is not allowed when no environment is available." 6 "Bad &rest or &body arg in ~S.") ANALYZE-AUX D1 (L (1 ERRLOC 0 ARGLIST) F 3 %%LET-LIST) @!HdooA hHd?dloHA H`YhoHA Ho)J:IIloHA HHhScHX(154Q CL:ERROR 106Q WARN 57Q CL:ERROR 25Q CERROR) (66Q LAMBDA-LIST-KEYWORDS) ( 145Q "Non-symbolic &AUX parameter %"~S%" in arglist of ~S." 115Q (NIL) 100Q "WARNING: The lambda-list keyword %"~S%" was found where an &aux variable should be in the arglist of ~S.~%%It will be treated as an &aux variable and bound to NIL.~%%You will almost certainly lose.~%%" 51Q "Non-symbolic &AUX parameter %"~S%" in arglist of ~S." 21Q "Dotted arglist after &AUX in ~S." 15Q "Ignore the illegal terminator.") ANALYZE-KEY D1 (L (2 ERRLOC 1 RESTVAR 0 ARGLIST) F 10Q %%LET-LIST F 11Q %%KEYWORD-TESTS) PiHWc@AKK+ooB \dghYg"KB IgAgJhhWcLdl LMhdAHB MJZooLB Ldl" LLMLNAHB MJZL LdooLB tl0L] oMB LLMLNAHB MJZ=L] oMB _LOMLNAHB MJLOBh K[(507Q RECURSIVELY-ANALYZE 467Q PUSH-KEYWORD-BINDING 441Q GENSYM 435Q CL:ERROR 423Q KEYWORDP 405Q PUSH-KEYWORD-BINDING 357Q CL:ERROR 345Q KEYWORDP 323Q CERROR 274Q KEYWORDP 253Q PUSH-KEYWORD-BINDING 227Q MAKE-KEYWORD 207Q CERROR 160Q PUSH-KEYWORD-BINDING 144Q MAKE-KEYWORD 77Q ANALYZE-AUX 43Q CERROR 2 GENSYM) (113Q QUOTE 107Q KEYWORD-TEST 66Q &AUX 53Q &ALLOW-OTHER-KEYS) ( 430Q "%"~S%" should be a keyword, in arglist of ~S." 352Q "%"~S%" should be a keyword, in arglist of ~S." 315Q "~S -- ill-formed keyword arg in ~S." 311Q "Ignore this item." 202Q "~S -- non-symbol variable name in arglist of ~S." 176Q "Ignore this item." 37Q "Dotted arglist after &key in ~S." 33Q "Ignore the illegal terminator.") DEFMACRO-ARG-TEST D1 (L (0 ARGS) F 0 %%MIN-ARGS F 1 %%ARG-COUNT F 2 %%UNBOUNDED-ARG-COUNT) PjPd RhPjPR'gg@hPh gg@hQhPQ gg@hPhggg@hQhgg@hPhh(107Q %%= 60Q \FZEROP 13Q \FZEROP) (160Q CL:LENGTH 155Q < 141Q CL:LENGTH 136Q > 133Q OR 116Q CL:LENGTH 113Q /= 70Q CL:LENGTH 65Q > 43Q CL:LENGTH 40Q <) () RECURSIVELY-ANALYZE D1 (L (3 WHOLE 2 ERRLOC 1 PATH 0 ARGLIST) P 4 %%CTX-ARG-NAME P 3 %%ENV-ARG-NAME P 2 %%UNBOUNDED-ARG-COUNT P 1 %%ARG-COUNT P 0 %%MIN-ARGS) jd2@ABC (13Q ANALYZE) NIL () PUSH-KEYWORD-BINDING D1 (L (6 ERRLOC 5 TEMP-VAR 4 REST-VAR 3 SUPPLIED-P-VAR 2 DEFAULT 1 KEYWORD 0 VARIABLE) F 0 %%LET-LIST F 1 *KEY-FINDER* F 2 *DEFAULT-DEFAULT*) `CloCF @ggEQgAhDhhgEhhiBRhhhPcCdggEhhhPc(16Q CL:ERROR) (117Q NULL 114Q NOT 53Q CAR 33Q QUOTE 26Q CL:SETQ 23Q COND) ( 11Q "Non-symbolic supplied-p parameter %"~S%" found in arglist of ~S.") (RPAQQ ANALYZE-TESTS ((MULTIPLE-VALUE-LIST (PARSE-DEFMACRO (QUOTE ((&WHOLE HEAD MOUTH &OPTIONAL EYE1 ( EYE2 7 EYE2-P)) ((FIN1 LENGTH1 &KEY ONE (TWO 8) ((:THREE TROIS) 3 TRES-P) ((:FOUR (QUATRE QUATRO)) ( QUOTE (4 4)))) &OPTIONAL ((FIN2 LENGTH2) 9 FL2-P)) TAIL &REST (FOO BAR BAZ) &ENVIRONMENT ENV)) (QUOTE WHOLE-ARG) (QUOTE ((CODE))) (QUOTE ERRLOC) :ENVIRONMENT (QUOTE *ENV*) :ERROR-STRING "Ack!")) (QUOTE (( &WHOLE HEAD MOUTH EYE1 EYE2) ((FIN1 LENGTH1) (FIN2 LENGTH2)) TAIL)) (QUOTE ((&WHOLE HEAD MOUTH &OPTIONAL EYE1 (EYE2 7 EYE2-P)) ((FIN1 LENGTH1 &KEY ONE (TWO 8) ((:THREE TROIS) 3 TRES-P) ((:FOUR ( QUATRE QUATRO)) (QUOTE (4 4)))) &OPTIONAL ((FIN2 LENGTH2) 9 FL2-P)) TAIL &REST (FOO BAR BAZ) &ENVIRONMENT ENV)))) KEYWORD-TEST D1 (L (1 KEYS 0 ARGS)) C @YH5oH gIdIAgg II(100Q VALUES 64Q CL:MEMBER 61Q SYMBOL-FUNCTION 42Q VALUES 22Q CL:ERROR) (56Q EQ 53Q :TEST 27Q :ALLOW-OTHER-KEYS) ( 16Q "Extraneous keyword %"~S%" given.") FIND-KEYWORD D1 (L (1 KEYLIST 0 KEYWORD)) 0AHhoo Hh&hHd@hX(30Q CERROR) NIL ( 25Q "Unpaired item in keyword portion of macro call." 21Q "Stick a NIL on the end and go on.") (PUTPROPS CMLPARSE FILETYPE COMPILE-FILE) (PUTPROPS CMLPARSE COPYRIGHT ("Xerox Corporation" 1986)) STOP