Lexical scope
<programming> (Or "static scope") In a lexically scoped language, the
scope of an identifier is fixed at compile time to some region in the
source code containing the identifier's declaration.
This means that an identifier is only accessible within that region (including procedures declared within it).
This contrasts with
dynamic scope where the scope depends on the nesting of
procedure and
function calls at
run time.
Statically scoped languages differ as to whether the scope is limited to the smallest
block (including begin/end blocks) containing the identifier's declaration (e.g.
C,
Perl) or to whole function and procedure bodies (e.g. ?), or some larger unit of code (e.g. ?).
The former is known as
static nested scope.