Scope
Definition: Textual Range of Code in which an Identifier can be Referenced
Types of Scope:
-
Static/Lexical Scope
Based on textual nesting of blocks, function definitions
-
Dynamic Scope
Based on the sequence in which functions are called
procedure scopeDemo
var number: Integer;
procedure myPrint
begin
print number
end
procedure myAssign
var number: Integer;
begin
number := 4;
myPrint;
end
begin
number := 2;
myAssign;
end
Visibility
Definition: Availability of a Variable in a Statement
Referencing Environment
Definition: Collection of all the names visible in a Statement