Cheap Essay logo
  • Home
  • Custom Papers
  • Dissertation Help
  • Essay Writing
  • My account
  • Order now
Order Now
Uncategorized

Programming Languages

2 min read
Posted on 
October 8th, 2022
Home Uncategorized Programming Languages

Assignment 2

  1. Consider the following code written in a language with nested subroutines:

 

procedure main()

a : integer

 

procedure B(a : integer)

x : integer

 

procedure A(n : integer)

a := n

 

procedure R(m : integer)

write_integer(x)

x = x – 2

if x > 1

R(m + 1)

else

A(m)

 

–– body of B

x := a × a

R(1)

 

–– body of main

B(2)

write_integer(a)

 

  1. What does this program print assuming static scope, respectively dynamic scope? Explain your answer.
  2. Show the frames on the stack when procedure A has just been called. For each frame, show the values of the local variables and the static links.

 

  1. Consider the following pseudocode with nested subroutines:

 

  1. procedure main()
  2. a : integer := 1
  3. b : integer := 2
  4. c : integer := 3

 

  1. procedure first()
  2. a : integer := c
  3. c : integer := b

 

  1. procedure second()
  2. c : integer := 4

 

  1. –-body of second
  2. print a, b, c

 

  1. b : integer := 5

 

  1. –body of first
  2. second()
  3. print a, b, c

 

  1. –body of main
  2. first()
  3. print a, b, c

 

What does the program print (or will the compiler identify static semantic errors) if we assume that:

 

  1. names must be declared before use, and the scope of a name extends from its declaration through the end of the block?
  2. names must be declared before use, but the scope of a name is the entire block in which it is declared?

 

  1. Consider the following program written in generic pseudocode:

int x = 1;
int a[3] = { 2, 5, 3 };

void foo(int u, int v) {
v = a[x];
v = u * 9;
x = 2;
a[2] = u;
u = u – 2;
print u;
print v;
print x;
}
int main() {
foo(a[x], a[2]);
print x;
print a[0];
print a[1];
print a[2];
}

 

What is the output printed when this program is executed using call by value-result, respectively, call by macro expansion? Explain what happens in each case.

Order an Essay Now & Get These Features For Free:

Turnitin Report

Formatting

Title Page

Citation

Outline

Place an Order
Share
Tweet
Share
Tweet
Calculate the price
Pages (275 words)
$0.00
Cheap Essay
Company
  • About Us
  • Coursework Writing
  • Custom Papers
  • Dissertation Help
  • Dissertation Writing
  • Essay Writing
Legal
  • Term Papers
  • Terms
  • Thesis Format
  • Thesis Statement
  • Why Choose Us
  • Write My Essay
How Our Service is Used:
Cheap Essay essays are NOT intended to be forwarded as finalized work as it is only strictly meant to be used for research and study purposes. Cheap Essay does not endorse or condone any type of plagiarism.
Subscribe
No Spam
© 2023 Cheap Essay. All rights reserved.
Cheap Essay will be listed as ‘Cheap Essay’ on your bank statement.