Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Consider the following pseudocode: procedure main() a : integer := 1 b : integer := 2 procedure middle() b : integer := a procedure inner()

  1. Consider the following pseudocode:

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

  1. procedure middle()
  2. b : integer := a

  1. procedure inner()
  2. print a, b

  1. a : integer := 3

  1. --body of middle
  2. inner()
  3. print a, b

  1. --body of main
  2. middle()
  3. print a, b

Suppose this was code for a language with the declaration-order rules of C

(but with nested subroutines)that is, names must be declared before use,

and the scope of a name extends from its declaration through the end of

the block. At each print statement, indicate which declarations of a and b

are in the referencing environment. What does the program print (or will

the compiler identify static semantic errors)? Repeat the exercise for the

declaration-order rules of C# (names must be declared before use, but the

scope of a name is the entire block in which it is declared) and of Modula-3

(names can be declared in any order, and their scope is the entire block in

which they are declared).

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Fundamentals Of Database Management Systems

Authors: Mark L. Gillenson

2nd Edition

0470624701, 978-0470624708

More Books

Students also viewed these Databases questions