Starting from:

$15

CSE 461: Programming Languages ConceptsHomework 2:Solution

(8 points) Consider the C program given below. You will be asked to determine which variables are visible in a number of different situations. In each case, identify each variable by its name and the line number of its declaration.int h, i;
void B(int w) {
int j, k;
i = 2*w;
w = w+1;
...
}
void A (int x, int y) {
float i, j;
B(h);
i = 3;
...
}
void main() {
int a, b;
h = 5; a = 3; b = 2;
A(a, b);
B(h);
...
}
C uses static scoping. Say which identifiers (including variablesand function names) are visible in the bodies of each of the functions: main, A, B.
1

If C used dynamic scoping and the calling sequence is main callsB. Say which identifiers would be visible in B.
If C used dynamic scoping and the calling sequence is main callsA. Say which identifiers would be visible in A.
If C used dynamic scoping and the calling sequence is main callsA; A calls B. Say which identifiers would be visible in B.
(3 points) Find some online material to learn C++’s namespace mechanism. Explain briefly how it works and its benefits.
(3 points) During the execution of a Java program, can a variable be visible but not allocated? Can a variable be allocated but not visible? Explain your answers.
 

More products