(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE (DEFPACKAGE "COMPILER" (USE "LISP" "XCL"))) (IL:FILECREATED "26-Jan-98 13:57:17" ("compiled on " IL:|{DSK}disk2>jdstools>lc3>lispcore3.0>sources>XCLC-ANALYZE.;1|) "30-Mar-95 20:33:04" "COMPILE-FILEd" IL:|in| "Medley 14-Aug-95 ..." IL:|dated| "14-Aug-95 15:27:48") (IL:FILECREATED "18-May-90 01:25:52" IL:|{DSK}local>lde>lispcore>sources>XCLC-ANALYZE.;2| 21094 IL:|changes| IL:|to:| (IL:VARS IL:XCLC-ANALYZECOMS) IL:|previous| IL:|date:| " 7-Oct-87 18:39:59" IL:|{DSK}local>lde>lispcore>sources>XCLC-ANALYZE.;1|) (IL:RPAQQ IL:XCLC-ANALYZECOMS ((IL:* IL:|;;| "Analysis of the program tree, prior to and during meta-evaluation") (IL:FUNCTIONS ANALYZE-TREE) ( IL:VARIABLES *REDO-FLAG*) (IL:* IL:|;;| "Environment analysis") (IL:FUNCTIONS ENV-ANALYZE) (IL:FUNCTIONS ENV-ANALYZE-BLOCK ENV-ANALYZE-CALL ENV-ANALYZE-CATCH ENV-ANALYZE-GO ENV-ANALYZE-IF ENV-ANALYZE-LABELS ENV-ANALYZE-LAMBDA ENV-ANALYZE-LITERAL ENV-ANALYZE-MV-CALL ENV-ANALYZE-OPCODES ENV-ANALYZE-MV-PROG1 ENV-ANALYZE-PROGN ENV-ANALYZE-PROGV ENV-ANALYZE-RETURN ENV-ANALYZE-SETQ ENV-ANALYZE-TAGBODY ENV-ANALYZE-THROW ENV-ANALYZE-UNWIND-PROTECT ENV-ANALYZE-VAR-REF) (IL:* IL:|;;| "Side-effects analysis") (IL:FUNCTIONS EFFECTS-ANALYZE EFFECTS-UNION REMOVE-EFFECT) (IL:FUNCTIONS EFFECTS-ANALYZE-BLOCK EFFECTS-ANALYZE-CALL EFFECTS-ANALYZE-CATCH EFFECTS-ANALYZE-GO EFFECTS-ANALYZE-IF EFFECTS-ANALYZE-LABELS EFFECTS-ANALYZE-LAMBDA EFFECTS-ANALYZE-LITERAL EFFECTS-ANALYZE-MV-CALL EFFECTS-ANALYZE-MV-PROG1 EFFECTS-ANALYZE-OPCODES EFFECTS-ANALYZE-PROGN EFFECTS-ANALYZE-PROGV EFFECTS-ANALYZE-RETURN EFFECTS-ANALYZE-SETQ EFFECTS-ANALYZE-TAGBODY EFFECTS-ANALYZE-THROW EFFECTS-ANALYZE-UNWIND-PROTECT EFFECTS-ANALYZE-VAR-REF) (IL:FUNCTIONS EFFECTS-ANALYZE-ANY-CALL EFFECTS-ANALYZE-LIST EFFECTS-REPRESENTATION) (IL:* IL:|;;| "Testing analysis") (IL:FUNCTIONS TEST-ANALYSIS) (IL:* IL:|;;| "Arrange to use the proper compiler.") (IL:PROP IL:FILETYPE IL:XCLC-ANALYZE ) (IL:* IL:|;;| "Arrange for the proper makefile environment") (IL:PROP IL:MAKEFILE-ENVIRONMENT IL:XCLC-ANALYZE))) ANALYZE-TREE :D8 (IL:L (0 IL:|-args-|) IL:P 2 *REDO-FLAG*) 'ekalHglaI I I(35 EFFECTS-ANALYZE 29 ENV-ANALYZE) (18 :ONCE) () (PROCLAIM (QUOTE (SPECIAL *REDO-FLAG*))) (OR (BOUNDP (QUOTE *REDO-FLAG*)) (SETQ *REDO-FLAG* NIL)) ENV-ANALYZE :D8 (IL:L (0 TREE) IL:P 0 *REDO-FLAG* IL:F 4 *REDO-FLAG*) ATd)gg1@YZ[dI I KdI I KdI I KdI I KdI I KdI I KdI I KdI I KdI I K I gJoh (318 IL:CHECK-TYPE-FAIL 299 ENV-ANALYZE-BLOCK 284 ENV-ANALYZE-CALL 271 ENV-ANALYZE-CATCH 255 ENV-ANALYZE-GO 242 ENV-ANALYZE-IF 226 ENV-ANALYZE-LABELS 213 ENV-ANALYZE-LAMBDA 197 ENV-ANALYZE-LITERAL 184 ENV-ANALYZE-MV-CALL 168 ENV-ANALYZE-MV-PROG1 155 ENV-ANALYZE-OPCODES 139 ENV-ANALYZE-PROGN 126 ENV-ANALYZE-PROGV 110 ENV-ANALYZE-RETURN 97 ENV-ANALYZE-SETQ 81 ENV-ANALYZE-TAGBODY 68 ENV-ANALYZE-THROW 52 ENV-ANALYZE-UNWIND-PROTECT 39 ENV-ANALYZE-VAR-REF) (305 $$NODE$$ 291 BLOCK-NODE 277 CALL-NODE 263 CATCH-NODE 248 GO-NODE 234 IF-NODE 219 LABELS-NODE 205 LAMBDA-NODE 190 LITERAL-NODE 176 MV-CALL-NODE 161 MV-PROG1-NODE 147 OPCODES-NODE 132 PROGN-NODE 118 PROGV-NODE 103 RETURN-NODE 89 SETQ-NODE 74 TAGBODY-NODE 60 THROW-NODE 45 UNWIND-PROTECT-NODE 31 VAR-REF-NODE 18 :ALL 10 :ALL) ( 311 (OR (VAR-REF-NODE) (UNWIND-PROTECT-NODE) (THROW-NODE) (TAGBODY-NODE) (SETQ-NODE) (RETURN-NODE) (PROGV-NODE) (PROGN-NODE) (OPCODES-NODE) (MV-PROG1-NODE) (MV-CALL-NODE) (LITERAL-NODE) (LAMBDA-NODE) (LABELS-NODE) (IF-NODE) (GO-NODE) (CATCH-NODE) (CALL-NODE) (BLOCK-NODE))) ENV-ANALYZE-BLOCK :D8 (IL:L (0 NODE)) @ (10 ENV-ANALYZE 5 BLOCK-STMT) NIL () ENV-ANALYZE-CALL :D8 (IL:L (0 NODE)) !@ @ d h(24 ENV-ANALYZE 16 CALL-ARGS 10 ENV-ANALYZE 5 CALL-FN) NIL () ENV-ANALYZE-CATCH :D8 (IL:L (0 NODE)) @ @ (21 ENV-ANALYZE 16 CATCH-STMT 10 ENV-ANALYZE 5 CATCH-TAG) NIL () ENV-ANALYZE-GO :D8 (IL:L (0 NODE)) hNIL NIL () ENV-ANALYZE-IF :D8 (IL:L (0 NODE)) #@ @ @ (32 ENV-ANALYZE 27 IF-ELSE 21 ENV-ANALYZE 16 IF-THEN 10 ENV-ANALYZE 5 IF-PRED) NIL () ENV-ANALYZE-LABELS :D8 (IL:L (0 NODE)) "@ @ d h(25 ENV-ANALYZE 16 LABELS-FUNS 10 ENV-ANALYZE 5 LABELS-BODY) NIL () ENV-ANALYZE-LAMBDA :D8 (IL:L (0 NODE)) 9@ @ d @ d h(48 ENV-ANALYZE 37 LAMBDA-KEYWORD 26 ENV-ANALYZE 16 LAMBDA-OPTIONAL 10 ENV-ANALYZE 5 LAMBDA-BODY) NIL () ENV-ANALYZE-LITERAL :D8 (IL:L (0 NODE)) hNIL NIL () ENV-ANALYZE-MV-CALL :D8 (IL:L (0 NODE)) !@ @ d h(24 ENV-ANALYZE 16 MV-CALL-ARG-EXPRS 10 ENV-ANALYZE 5 MV-CALL-FN) NIL () ENV-ANALYZE-OPCODES :D8 (IL:L (0 NODE)) hNIL NIL () ENV-ANALYZE-MV-PROG1 :D8 (IL:L (0 NODE)) @ d h(13 ENV-ANALYZE 5 MV-PROG1-STMTS) NIL () ENV-ANALYZE-PROGN :D8 (IL:L (0 NODE)) @ d h(13 ENV-ANALYZE 5 PROGN-STMTS) NIL () ENV-ANALYZE-PROGV :D8 (IL:L (0 NODE)) #@ @ @ (32 ENV-ANALYZE 27 PROGV-STMT 21 ENV-ANALYZE 16 PROGV-VALS-EXPR 10 ENV-ANALYZE 5 PROGV-SYMS-EXPR) NIL () ENV-ANALYZE-RETURN :D8 (IL:L (0 NODE)) @ (10 ENV-ANALYZE 5 RETURN-VALUE) NIL () ENV-ANALYZE-SETQ :D8 (IL:L (0 NODE)) 4@ !@H dIIIHJ @ (49 ENV-ANALYZE 44 SETQ-VALUE 5 SETQ-VAR) (34 VARIABLE-STRUCT 15 VARIABLE-STRUCT) () ENV-ANALYZE-TAGBODY :D8 (IL:L (0 NODE)) %@ dd h(24 ENV-ANALYZE 5 TAGBODY-SEGMENTS) (14 SEGMENT) () ENV-ANALYZE-THROW :D8 (IL:L (0 NODE)) @ @ (21 ENV-ANALYZE 16 THROW-VALUE 10 ENV-ANALYZE 5 THROW-TAG) NIL () ENV-ANALYZE-UNWIND-PROTECT :D8 (IL:L (0 NODE)) @ @ (21 ENV-ANALYZE 16 UNWIND-PROTECT-CLEANUP 10 ENV-ANALYZE 5 UNWIND-PROTECT-STMT) NIL () ENV-ANALYZE-VAR-REF :D8 (IL:L (0 NODE)) )@ !@HdIIIHJJ(5 VAR-REF-VARIABLE) (34 VARIABLE-STRUCT 15 VARIABLE-STRUCT) () EFFECTS-ANALYZE :D8 (IL:L (0 TREE) IL:P 0 *REDO-FLAG* IL:F 4 *REDO-FLAG*) JT1@*Tgg1@YZ[dI I KdI I KdI I KdI I KdI I KdI I KdI I KdI I KdI I K I gJoh (327 IL:CHECK-TYPE-FAIL 308 EFFECTS-ANALYZE-BLOCK 293 EFFECTS-ANALYZE-CALL 280 EFFECTS-ANALYZE-CATCH 264 EFFECTS-ANALYZE-GO 251 EFFECTS-ANALYZE-IF 235 EFFECTS-ANALYZE-LABELS 222 EFFECTS-ANALYZE-LAMBDA 206 EFFECTS-ANALYZE-LITERAL 193 EFFECTS-ANALYZE-MV-CALL 177 EFFECTS-ANALYZE-MV-PROG1 164 EFFECTS-ANALYZE-OPCODES 148 EFFECTS-ANALYZE-PROGN 135 EFFECTS-ANALYZE-PROGV 119 EFFECTS-ANALYZE-RETURN 106 EFFECTS-ANALYZE-SETQ 90 EFFECTS-ANALYZE-TAGBODY 77 EFFECTS-ANALYZE-THROW 61 EFFECTS-ANALYZE-UNWIND-PROTECT 48 EFFECTS-ANALYZE-VAR-REF) (314 $$NODE$$ 300 BLOCK-NODE 286 CALL-NODE 272 CATCH-NODE 257 GO-NODE 243 IF-NODE 228 LABELS-NODE 214 LAMBDA-NODE 199 LITERAL-NODE 185 MV-CALL-NODE 170 MV-PROG1-NODE 156 OPCODES-NODE 141 PROGN-NODE 127 PROGV-NODE 112 RETURN-NODE 98 SETQ-NODE 83 TAGBODY-NODE 69 THROW-NODE 54 UNWIND-PROTECT-NODE 40 VAR-REF-NODE 27 :ALL 19 :ALL) ( 320 (OR (VAR-REF-NODE) (UNWIND-PROTECT-NODE) (THROW-NODE) (TAGBODY-NODE) (SETQ-NODE) (RETURN-NODE) (PROGV-NODE) (PROGN-NODE) (OPCODES-NODE) (MV-PROG1-NODE) (MV-CALL-NODE) (LITERAL-NODE) (LAMBDA-NODE) (LABELS-NODE) (IF-NODE) (GO-NODE) (CATCH-NODE) (CALL-NODE) (BLOCK-NODE))) EFFECTS-UNION :D8 (IL:L (1 TWO 0 ONE)) A@gAAg@@gAgg@ddhAddh (62 UNION) (40 :ANY 33 :ANY 25 :ANY 15 :NONE 5 :NONE) () REMOVE-EFFECT :D8 (IL:L (1 EFFECTS-REP 0 EFFECT)) "AdggA@Addh (31 REMOVE) (13 :ANY 6 :NONE) () EFFECTS-ANALYZE-BLOCK :D8 (IL:L (0 NODE)) C@ @@d  @@ HII(49 BLOCK-STMT 35 REMOVE-EFFECT 23 BLOCK-STMT 10 EFFECTS-ANALYZE 5 BLOCK-STMT) (54 NODE 43 NODE 28 NODE 16 NODE) () EFFECTS-ANALYZE-CALL :D8 (IL:L (0 NODE)) @d @ (17 EFFECTS-ANALYZE-ANY-CALL 12 CALL-ARGS 6 CALL-FN) NIL () EFFECTS-ANALYZE-CATCH :D8 (IL:L (0 NODE)) @d @ h (20 EFFECTS-ANALYZE-LIST 12 CATCH-STMT 6 CATCH-TAG) NIL () EFFECTS-ANALYZE-GO :D8 (IL:L (0 NODE)) $@@ h@gg(11 GO-TAGBODY) (33 :NONE 26 :NONE 21 NODE 5 NODE) () EFFECTS-ANALYZE-IF :D8 (IL:L (0 NODE)) @d @ @ h (27 EFFECTS-ANALYZE-LIST 18 IF-ELSE 12 IF-THEN 6 IF-PRED) NIL () EFFECTS-ANALYZE-LABELS :D8 (IL:L (0 NODE)) W@ H?@ @@ @@ HII HX(79 EFFECTS-ANALYZE-LAMBDA 56 LABELS-BODY 35 LABELS-BODY 23 EFFECTS-ANALYZE 18 LABELS-BODY 5 LABELS-FUNS) (61 NODE 50 NODE 40 NODE 29 NODE) () EFFECTS-ANALYZE-LAMBDA :D8 (IL:L (0 NODE)) gdB@ hZp@ \@ @H@  @I@  @g@gg[ HK IK Ja] HM IM L6(224 EFFECTS-UNION 206 EFFECTS-UNION 188 EFFECTS-ANALYZE 172 EFFECTS-UNION 155 EFFECTS-UNION 138 EFFECTS-ANALYZE 95 EFFECTS-UNION 83 LAMBDA-BODY 68 EFFECTS-UNION 56 LAMBDA-BODY 43 EFFECTS-ANALYZE 38 LAMBDA-BODY 25 LAMBDA-KEYWORD 14 LAMBDA-OPTIONAL) (217 NODE 199 NODE 165 NODE 148 NODE 128 :NONE 121 :NONE 116 NODE 108 :NONE 103 NODE 88 NODE 76 LAMBDA-NODE 61 NODE 49 LAMBDA-NODE 4 :NONE) () EFFECTS-ANALYZE-LITERAL :D8 (IL:L (0 NODE)) O@d #@g@ggg@gg(6 LITERAL-VALUE) (76 :NONE 69 :NONE 64 NODE 56 :NONE 51 NODE 45 :NONE 38 :NONE 33 NODE 25 :ANY 20 NODE 11 EVAL-WHEN-LOAD) () EFFECTS-ANALYZE-MV-CALL :D8 (IL:L (0 NODE)) @d @ (17 EFFECTS-ANALYZE-ANY-CALL 12 MV-CALL-ARG-EXPRS 6 MV-CALL-FN) NIL () EFFECTS-ANALYZE-MV-PROG1 :D8 (IL:L (0 NODE)) @d (11 EFFECTS-ANALYZE-LIST 6 MV-PROG1-STMTS) NIL () EFFECTS-ANALYZE-OPCODES :D8 (IL:L (0 NODE)) !@g@ggNIL (30 :NONE 23 :NONE 18 NODE 10 :NONE 5 NODE) () EFFECTS-ANALYZE-PROGN :D8 (IL:L (0 NODE)) @d (11 EFFECTS-ANALYZE-LIST 6 PROGN-STMTS) NIL () EFFECTS-ANALYZE-PROGV :D8 (IL:L (0 NODE)) @d @ @ h (27 EFFECTS-ANALYZE-LIST 18 PROGV-STMT 12 PROGV-VALS-EXPR 6 PROGV-SYMS-EXPR) NIL () EFFECTS-ANALYZE-RETURN :D8 (IL:L (0 NODE)) J@ @@ h@  @@ HII(56 RETURN-VALUE 42 EFFECTS-UNION 30 RETURN-VALUE 22 RETURN-BLOCK 10 EFFECTS-ANALYZE 5 RETURN-VALUE) (61 NODE 50 NODE 35 NODE 16 NODE) () EFFECTS-ANALYZE-SETQ :D8 (IL:L (0 NODE)) M@ @@ @  @@ HII(59 SETQ-VALUE 45 EFFECTS-UNION 33 SETQ-VALUE 27 EFFECTS-REPRESENTATION 22 SETQ-VAR 10 EFFECTS-ANALYZE 5 SETQ-VALUE) (64 NODE 53 NODE 38 NODE 16 NODE) () EFFECTS-ANALYZE-TAGBODY :D8 (IL:L (0 NODE)) h@ gd#H@@I @JJH[HX\ IL JL K(97 EFFECTS-UNION 82 EFFECTS-UNION 67 EFFECTS-ANALYZE 30 REMOVE-EFFECT 5 TAGBODY-SEGMENTS) (90 NODE 75 NODE 50 SEGMENT 38 NODE 23 NODE 10 :NONE) () EFFECTS-ANALYZE-THROW :D8 (IL:L (0 NODE)) R@ @ @g@@ @  HII(71 EFFECTS-UNION 59 THROW-VALUE 46 THROW-TAG 21 EFFECTS-ANALYZE 16 THROW-VALUE 10 EFFECTS-ANALYZE 5 THROW-TAG) (64 NODE 51 NODE 40 NODE 32 :ANY 27 NODE) () EFFECTS-ANALYZE-UNWIND-PROTECT :D8 (IL:L (0 NODE)) d@ @ @@ @ @@ @ HII(89 EFFECTS-UNION 84 LAMBDA-APPLIED-AFFECTED 79 UNWIND-PROTECT-CLEANUP 73 LAMBDA-APPLIED-AFFECTED 68 UNWIND-PROTECT-STMT 54 EFFECTS-UNION 49 LAMBDA-APPLIED-EFFECTS 44 UNWIND-PROTECT-CLEANUP 38 LAMBDA-APPLIED-EFFECTS 33 UNWIND-PROTECT-STMT 21 EFFECTS-ANALYZE-LAMBDA 16 UNWIND-PROTECT-CLEANUP 10 EFFECTS-ANALYZE-LAMBDA 5 UNWIND-PROTECT-STMT) (62 NODE 27 NODE) () EFFECTS-ANALYZE-VAR-REF :D8 (IL:L (0 NODE)) (@g@@ HII(29 EFFECTS-REPRESENTATION 24 VAR-REF-VARIABLE) (18 NODE 10 :NONE 5 NODE) () EFFECTS-ANALYZE-ANY-CALL :D8 (IL:L (2 ARGUMENTS 1 FN 0 NODE))  Bgds HUA Ad.@IA @JA [KA @"@g@ggLgL]dgDL @INg @JNg _OgdLfLd _Oo @IO @JO _OoMo  HIH JH X~(393 EFFECTS-UNION 378 EFFECTS-UNION 360 EFFECTS-ANALYZE 353 IL:ECASE-FAIL 330 EFFECTS-UNION 325 LAMBDA-APPLIED-AFFECTED 309 EFFECTS-UNION 304 LAMBDA-APPLIED-EFFECTS 288 IL:ASSERT-FAIL 270 LABELS-FUNS 224 EFFECTS-UNION 201 EFFECTS-UNION 179 SIDE-EFFECTS 88 VAR-REF-VARIABLE 70 EFFECTS-UNION 65 LAMBDA-APPLIED-AFFECTED 50 EFFECTS-UNION 45 LAMBDA-APPLIED-EFFECTS 22 EFFECTS-ANALYZE) (386 NODE 371 NODE 317 NODE 296 NODE 263 VARIABLE-STRUCT 252 LABELS-NODE 245 VARIABLE-STRUCT 236 :LEXICAL 219 :ANY 209 NODE 196 :ANY 186 NODE 172 VARIABLE-STRUCT 162 :GLOBAL 153 VARIABLE-STRUCT 144 :FUNCTION 137 VARIABLE-STRUCT 130 :ANY 123 :ANY 118 NODE 110 :ANY 105 NODE 95 CALLER 80 VAR-REF-NODE 58 NODE 38 NODE 29 LAMBDA-NODE 5 :NONE) ( 348 (:GLOBAL :LEXICAL) 342 (VARIABLE-SCOPE VAR) 283 "BUG: Referenced lexical function not found!") EFFECTS-ANALYZE-LIST :D8 (IL:L (1 LIST 0 NODE)) OAgdH@I@JJH HIH JH X(72 EFFECTS-UNION 57 EFFECTS-UNION 39 EFFECTS-ANALYZE) (65 NODE 50 NODE 27 NODE 18 NODE 5 :NONE) () EFFECTS-REPRESENTATION :D8 (IL:L (0 VAR)) v@HdgggD@YgIdg@hg@hoIo oHo (115 IL:ECASE-FAIL 98 IL:ECASE-FAIL) (75 :LEXICAL 65 VARIABLE-STRUCT 56 :GLOBAL 47 :SPECIAL 39 VARIABLE-STRUCT 30 :VARIABLE 24 :NONE 17 :FUNCTION 5 VARIABLE-STRUCT) ( 110 (:FUNCTION :VARIABLE) 104 (VARIABLE-KIND VAR) 93 (:SPECIAL :GLOBAL :LEXICAL) 87 (VARIABLE-SCOPE VAR)) TEST-ANALYSISA0001 :D8 (IL:NAME SI::*UNWIND-PROTECT* IL:I 0 SI::*CLEANUP-FORMS* IL:F 0 TREE) Pg (15 PRINT-TREE 10 ANALYZE-TREE) (5 :ALL) () TEST-ANALYSISA0002 :D8 (IL:F 0 TREE) P (5 RELEASE-TREE) NIL () TEST-ANALYSIS :D8 (IL:L (0 FN) IL:P 0 TREE) $@ g H $(29 RELEASE-TREE 23 IL:\\MVLIST 18 TEST-ANALYSISA0001 5 TEST-ALPHA-2) (13 TEST-ANALYSISA0002) () (IL:PUTPROPS IL:XCLC-ANALYZE IL:FILETYPE COMPILE-FILE) (IL:PUTPROPS IL:XCLC-ANALYZE IL:MAKEFILE-ENVIRONMENT (:READTABLE "XCL" :PACKAGE (DEFPACKAGE "COMPILER" (:USE "LISP" "XCL")))) (IL:PUTPROPS IL:XCLC-ANALYZE IL:COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1990)) NIL