Compute code V e ? sl for the address environment ? = {fac ? (L,1)} and stack level sl = 5.

Exercise 3.17 – Problems 6, 7, 8 and 9.

  1. Translation and Stack Level. Consider the expression

e = if x > 1 then x else let z = x + y in z + z

Compute codeV e ? sl for an address environment ? = {x ? (L,1), y ? (L, -1)} and stack level sl = 3. Determine, similarly as in the examples in the text, the current stack level for each instruction.

  1. Translation of Functions. Consider the expression:

e = fun xy ? if x = 1 then y else fac (x – 1)(x · y)

Compute code V e ? sl for the address environment ? = {fac ? (L,1)} and stack level sl = 5.

  1. Addressing of Variables. Introduce a new register SP0 relative to which local variables can be addressed. For this, introduce a new instruction for accessing local variables and modify the MAMA code generation so that this new register is managed correctly.
  2. 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))))


find the cost of your paper

Suggest a modification of the binary search algorithm that emulates this strategy for a list of names.

1. Suppose that a list contains the values 20 44 48 55 62 66 74 88 93 99 at index positions 0 through 9. Trace the values of the variables….

Explain why insertion sort works well on partially sorted lists.

1. Which configuration of data in a list causes the smallest number of exchanges in a selection sort? Which configuration of data causes the largest number of exchanges? 2. Explain….

Draw a class diagram that shows the relationships among the classes in this new version of the system

Jack decides to rework the banking system, which already includes the classes BankView, Bank, SavingsAccount, and RestrictedSavingsAccount. He wants to add another class for checking accounts. He sees that savings….