Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Concepts of programming languages 10th edition Chapter 5 Problem set question 6

ID: 671722 • Letter: C

Question

Concepts of programming languages 10th edition

Chapter 5

Problem set question 6

6. Consider the following JavaScript skeletal program:
// The main program
var x;
function sub1() {
var x;
function sub2() {
. . .
}
}
function sub3() {
. . .
}
Assume that the execution of this program is in the following unit order:
main calls sub1
sub1 calls sub2
sub2 calls sub3

a. Assuming static scoping, in the following, which declaration
of x is the correct one for a reference to x?
i. sub1
ii. sub2
iii. sub3
b. Repeat part a, but assume dynamic scoping.

Explanation / Answer

We know that first var x is declared in main and second var x in sub1

1) Using static scoping

for sub1, the x declared in sub1 will be referenced.
for sub2 the x declared in sub1 will be referenced.
for sub3 the x declared in main will be referenced.

2) Using Dynamic Scoping

for sub1, the x declared in sub1 will be referenced.
for sub2 the x declared in sub1 will be referenced.
for sub3 the x declared in sub1 will be referenced.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote