Question: Functions With Local Variables. Consider the function definition: fun x, y, z ? let x = 1 in let a = 3 in let b
Functions With Local Variables. Consider the function definition: fun x, y, z ? let x = 1 in let a = 3 in let b = 4 in (a + (b + (x + (y + z)))) Compute the addresses of the variables a, b, x, y, and z relative to SP0 (the stack pointer when entering the function body). Compute the address environment ? that is used for the code generation of (a + (b + (x + (y + z)))). Generate call-by-value code for the function definition. Give the current stack level for each instruction. The starting stack level is assumed to be sl = 3.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
