Link to home
Create AccountLog in
Avatar of SweetsJamRock
SweetsJamRockFlag for Jamaica

asked on

which declaration of x is the correct one for a reference to x

Procedure Main is
X : Integer;
Procedure Sub3;  -- This is a declaration of Sub3
--  It allows Sub1 to Call it
Procedure Sub1 is
X : Integer;
Procedure Sub2 is
      begin    -- of Sub2
      …
      end;          -- of Sub2

begin         -- of Sub1

end;         -- of Sub1
Procedure Sub3 is
begin       -- of Sub3
            …
end;        -- of Sub3      
begin  -- of Main

end;   -- of Main

      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, which declaration of x is the correct one for a reference to x in the following:
i.      Sub1
ii.      Sub2
iii.      Sub3
b.      Repeat part a, but assume dynamic scoping.
Avatar of TommySzalapski
TommySzalapski
Flag of United States of America image

Someone asked the exact same question here
https://www.experts-exchange.com/questions/22554578/Scoping-Dynamic-and-Static-programming-question-with-Ada.html
There is a fairly complete discussion that should answer all your questions.
Avatar of SweetsJamRock

ASKER

i am closing out this question there is no suitable solution to these question, i have already solved them
My post linked to a thread on EE where the exact same question (from the same book obviously) was asked and answered thoroughly. What was it missing that you needed?
Hey TommySzalapski:,

i realized that you object to my removing this question, bro sorry to say but you have not provided the correct solution to none of these question.  I Know it my be your right to do so bro, but i can't award you the point for none of those 2 question.

i will say however; i do appreciate your assistance continually and hope you understand. I am alway generouse with awarding point for my question without reservation. sorry u decided though to object.
Peace bro.
I am curious what the discussion I linked to was missing? It contained a complete and thorough discussion of your question, including the answer. What else do you need?
Tommy,

  I too thought that the link you provided was the same question, however it was not, it was just a similiar question, also what was asked for was also different and result was not based on elimination or recursive but a combination of ALGO and ADA snippet structure.  

From your post
 a.   Assuming static scoping, which declaration of x is the correct one for a reference to x in the following:
i.      Sub1
ii.      Sub2
iii.      Sub3
b.      Repeat part a, but assume dynamic scoping.

From the one I linked
a. Assuming static scoping, which declaration of X is the correct one for a reference
    to X in the following:

i. Sub1
ii. Sub2
iii. Sub3

b. Repeat part a, but assume dynamic scoping.

What's different? Do you just want your points refunded? You abandoned the question for 10 days without giving me a chance to add any information.
What was your solution? EE would prefer that the actual solution exists somewhere in the thread, so please post what the solution actually is and accept that. Moderators?
TommySzalapski:,

Bro, i think we are on 2 different pages with this discussion bro,  I did not delete this question, the question that i deleted was the pairwise question.  

As in regards to this question  which is a ADA algorithm even though i had already solved this question also your solution is correct.  I just did not get the time to accept or deny any of the post.  I only started to review all of the post in the this evening.

Just for clarity,  the ADA Snippet is not the question I deleted please check and see the pairwise question
Oh okay. I see. You meant to delete the pairwise question. I understand now. Thank you.
TommySzalapski:,

 if you want these points what is the solution for part B of the question?
The second declaration will be used. I quote
With DYNAMIC SCOPE RULES, bindings depend on the current state of
program execution.  They cannot always be resolved by examining the
program because they are dependent on calling sequences.  To resolve a
reference, we use the most recent, active binding made at run time.
Dynamic scope rules are usually encountered in interpreted languages;
in particular, early LISP dialects assumed dynamic scope rules.  Such
languages do not normally have type checking at compile time because
type determination isn't always possible when dynamic scope rules are
in effect.
ASKER CERTIFIED SOLUTION
Avatar of SweetsJamRock
SweetsJamRock
Flag of Jamaica image

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
ADA coding is different from LISP.  as programmer even though different languages bears similarities, it does not mean that the syntactical reference and logic  can always apply.  Each language has its own characteristic and uniqueness