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()

Consider the following pseudocode:

  1. procedure main()

  1. a : integer := 1

  1. b : integer := 2

  1. procedure middle()

  1. b : integer := a

  1. procedure inner()

  1. print a, b

  1. a : integer := 3

  1. --body of middle

  1. inner()

  1. print a, b

  1. --body of main

  1. middle()

  1. 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_2

Step: 3

blur-text-image_3

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

Database Design Query Formulation And Administration Using Oracle And PostgreSQL

Authors: Michael Mannino

8th Edition

1948426951, 978-1948426954

More Books

Students also viewed these Databases questions