(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP") (FILECREATED "25-Jan-98 10:27:38" ("compiled on " {DSK}sources>CMLPARSE.;1) "30-Mar-95 20:33:04" "COMPILE-FILEd" in "Medley 14-Aug-95 ..." dated "14-Aug-95 15:27:48") (FILECREATED " 8-Jun-90 14:57:22" |{PELE:MV:ENVOS}SOURCES>CMLPARSE.;3| 36284 changes to%: ( FUNCTIONS ANALYZE) previous date%: "16-May-90 14:14:58" |{PELE:MV:ENVOS}SOURCES>CMLPARSE.;2| ) (RPAQQ CMLPARSECOMS ((* ;; "Parsing bodies and argument lists") (VARIABLES %%ARG-COUNT %%MIN-ARGS %%UNBOUNDED-ARG-COUNT %%LET-LIST %%KEYWORD-TESTS %%ENV-ARG-USED %%CTX-ARG-USED %%ENV-ARG-NAME %%CTX-ARG-NAME) (VARIABLES *DEFAULT-DEFAULT* *KEY-FINDER*) (FUNCTIONS PARSE-BODY) (FUNCTIONS PARSE-DEFMACRO ANALYZE ANALYZE-AUX ANALYZE-KEY ANALYZE-PARAMETER CHECK-PARAMETER-NAME PUSH-KEYWORD-BINDING ANALYZE-REST RECURSIVELY-ANALYZE DEFMACRO-ARG-TEST) (* ;; "Testing the argument-list parsing") (VARIABLES ANALYZE-TESTS) (* ;; "Runtime support functions") ( FUNCTIONS KEYWORD-TEST FIND-KEYWORD) (* ;; "Arrange to use the correct compiler") (PROP FILETYPE CMLPARSE))) (CL:PROCLAIM (QUOTE (CL:SPECIAL %%ARG-COUNT))) (OR (BOUNDP (QUOTE %%ARG-COUNT)) (CL:SETQ %%ARG-COUNT NIL)) (CL:PROCLAIM (QUOTE (CL:SPECIAL %%MIN-ARGS))) (OR (BOUNDP (QUOTE %%MIN-ARGS)) (CL:SETQ %%MIN-ARGS NIL)) (CL:PROCLAIM (QUOTE (CL:SPECIAL %%UNBOUNDED-ARG-COUNT))) (OR (BOUNDP (QUOTE %%UNBOUNDED-ARG-COUNT)) (CL:SETQ %%UNBOUNDED-ARG-COUNT 0)) (CL:PROCLAIM (QUOTE (CL:SPECIAL %%LET-LIST))) (OR (BOUNDP (QUOTE %%LET-LIST)) (CL:SETQ %%LET-LIST NIL)) (CL:PROCLAIM (QUOTE (CL:SPECIAL %%KEYWORD-TESTS))) (OR (BOUNDP (QUOTE %%KEYWORD-TESTS)) (CL:SETQ %%KEYWORD-TESTS NIL)) (CL:PROCLAIM (QUOTE (CL:SPECIAL %%ENV-ARG-USED))) (OR (BOUNDP (QUOTE %%ENV-ARG-USED)) (CL:SETQ %%ENV-ARG-USED NIL)) (CL:PROCLAIM (QUOTE (CL:SPECIAL %%CTX-ARG-USED))) (OR (BOUNDP (QUOTE %%CTX-ARG-USED)) (CL:SETQ %%CTX-ARG-USED NIL)) (CL:PROCLAIM (QUOTE (CL:SPECIAL %%ENV-ARG-NAME))) (OR (BOUNDP (QUOTE %%ENV-ARG-NAME)) (CL:SETQ %%ENV-ARG-NAME NIL)) (CL:PROCLAIM (QUOTE (CL:SPECIAL %%CTX-ARG-NAME))) (OR (BOUNDP (QUOTE %%CTX-ARG-NAME)) (CL:SETQ %%CTX-ARG-NAME NIL)) (CL:PROCLAIM (QUOTE (CL:SPECIAL *DEFAULT-DEFAULT*))) (OR (BOUNDP (QUOTE *DEFAULT-DEFAULT*)) (CL:SETQ *DEFAULT-DEFAULT* NIL)) (CL:PROCLAIM (QUOTE (CL:SPECIAL *KEY-FINDER*))) (OR (BOUNDP (QUOTE *KEY-FINDER*)) (CL:SETQ *KEY-FINDER* NIL)) XCL::PARSE-BODYA0001 :D8 (L (0 STREAM) P 1 *PRINT-LENGTH* P 0 *PRINT-LEVEL* F 2 XCL::FORM) ld@oR (17 CL:FORMAT) NIL ( 11 "Assume that ~S does not expand into a declaration.") XCL::PARSE-BODYA0002 :D8 (P 1 SI::*CATCH-RETURN-FROM* P 0 SI::*DUMMY-FOR-CATCH* F 2 XCL::FORM F 3 XCL::ENVIRONMENT F 4 A2454) i@RS cg(16 \MVLIST 11 CL:MACROEXPAND) (23 :NORMAL) () PARSE-BODY :D8 (L (0 -args-) P 10 *PROCEED-CASES* P 9 A2454 P 8 XCL::FORM P 2 XCL::ENVIRONMENT F 11 COMMENTFLG F 12 *PROCEED-CASES*) eka1lalHilaI!MO MOKO_OOd3@zOdgWO Z gggjghgggh W O dgO$jO\MN O$gLNM]0(213 CL:REVERSE 177 XCL::PARSE-BODYA0002 164 CONDITIONS::MAKE-RESTART 115 CL:SPECIAL-FORM-P 44 CL:STRINGP) (225 DECLARE 184 :NORMAL 157 :INTERACTIVE-FN 152 XCL::PARSE-BODYA0001 147 :REPORT 141 :TEST 135 :SELECTOR 130 CONDITIONS:CONTINUE 125 :NAME 94 DECLARE) () PARSE-DEFMACRO :D8 (L (0 -args-) P 43 %%CTX-ARG-USED P 42 %%ENV-ARG-USED P 41 %%KEYWORD-TESTS P 40 %%LET-LIST P 39 %%UNBOUNDED-ARG-COUNT P 38 %%MIN-ARGS P 37 %%ARG-COUNT P 36 *KEY-FINDER* P 35 *DEFAULT-DEFAULT* P 34 %%CTX-ARG-NAME P 33 %%ENV-ARG-NAME) ,eka lalalalaHl_ON gJh_Hl__OdOh!Hl__OdOh"Hl__OdOh_Hl_"_ O"dO  i_$Hl_(_&O(dO& h#Hl_,_*O,dO*g$Hl_0_.O0dO. Ig Ig_2KMO$ _4_6O4_8_:O8_0gO>gOgLhgOhhO@hO@O>IggJhhhhOBOTggOBhhhhODOVggODhhhh O 108 OR 93 CL:LENGTH 88 CL:/= 68 CL:LENGTH 63 > 41 CL:LENGTH 36 <) () (CL:PROCLAIM (QUOTE (CL:SPECIAL ANALYZE-TESTS))) (OR (BOUNDP (QUOTE ANALYZE-TESTS)) (CL:SETQ ANALYZE-TESTS (QUOTE ((CL: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 :D8 (L (1 KEYS 0 ARGS)) 50@dZdgJAJHIoH h(48 CL:ERROR) (14 :ALLOW-OTHER-KEYS) ( 42 "Extraneous keyword %"~S%" given.") FIND-KEYWORD :D8 (L (1 KEYLIST 0 CL:KEYWORD)) >AH hHd oo Hh&H@HhHX(38 CL:CERROR 20 CL:ENDP 9 CL:ENDP) NIL ( 33 "Unpaired item in keyword portion of macro call." 28 "Stick a NIL on the end and go on.") (PUTPROPS CMLPARSE FILETYPE CL:COMPILE-FILE) (PUTPROPS CMLPARSE COPYRIGHT ("Venue & Xerox Corporation" 1986 1988 1990)) NIL