Stanford University: Keith Schwarz's "Runtime Environments Slides"

Read the functions of IR generation on slides 6 and 7. Some requirements for IR generation are on slide 8. Encoding of primitive types and arrays are discussed on slides 19 through 37 for additional coverage. 

Scope of a variable is the lexical area of a program in which the variable can be used. Extent, or lifetime, is the period of time that a variable exists.

See slides 38 through 118 for a discussion of the stack, activation trees, closure and coroutines, and parameter passing.