VOID foo (INT i) { CHAR c; DOUBLE d; FLOAT f[10]; ... }
STRUCT foo { DOUBLE d; CHAR c;} f;
SIZEOF (foo) == ??? /* Several possible answers. */
SIZEOF f >= SIZEOF f.d + SIZEOF f.c;
PACKED ARRAY [1..80] OF CHAR;
push evaluated actual parameters jump to routine, push return address save registers to be used push local variable space / initialize
pop local variable space restore registers load return value (in register or on stack) branch back to caller (pop return address)
TYPE semi_dynamic_variable_descriptor IS
RECORD
base: pointer_to_memory;
size: integer;
END RECORD;
NEW, DISPOSE
MALLOC, FREE
NEW, garbage collection, unchecked_deallocation
NEW, DELETE
CONS, garbage collection