From: utzoo!decvax!harpo!floyd!cmcl2!philabs!sdcsvax!sdccsu3!zz1sm Newsgroups: net.jokes Title: Procedure Calls Article-I.D.: sdccsu3.640 Posted: Thu May 12 01:10:25 1983 Received: Tue May 17 19:35:03 1983 In general, when a procedure P1 at level l1 calls P2 at level l2, the name P2 must be part of the static environment of P1. That is, P2 must be defined by some procedure P3 (which may be P1) at level l3 in the environment of P1. Then the environment of P2 is that portion of the environ- ment of P1 up to and including P3, followed by P2 itself. In the above example of Q calling R, P1, P2, and P3 are Q, R, and MAIN, respectively, since R is declared in MAIN. -- Principles of Compiler Design Aho and Ullman, 1979, p. 359 What more need be said? Shane