av Levi George 3 år siden
247
Mer som dette
Run-time overhead of maintaining all the dynamic attributes.
Have the highest degree of flexibility.
Bound to heap storage only when they are assigned values.
The run-time overhead of allocation and deallocation.
Dynamic local storage so that each active copy of the recursive subprogram has its own version of the local variables.
Allocated from the runtime stack.
whose storage bindings are created when their declaration statements are elaborated, but whose types are statically bound.
Difficult to use pointer and reference variables correctly.
Used to construct dynamic structures.
Nameless (abstract) memory cells that are allocated and deallocated by explicit run-time instructions written by the programmer.
Storage cannot be shared among variables.
Cannot support recursive subprograms.
All addressing of static variables can be direct (faster).
Bound to a memory cell before program execution begins and remains bound to that same memory cell until program execution terminates.
The time during which the variable is bound to a specific memory location.
The process of placing a memory cell that has been unbound from a variable back into the pool of available memory.
The memory cell to which a variable is bound somehow must be taken from a pool of available memory.
Types can be specified statically through some form of explicit or implicit declaration.
Before a variable can be referenced in a program, it must be bound to a data type.
When the binding takes place.
How the type is specified.
Implemented using pure interpreters rather than compilers.
Incorrect types of right sides of assignments are not detected as errors; rather, the type of the left side is simply changed to the incorrect type.
Causes programs to be less reliable.
Provides more programming flexibility.
Name can be thought of as being only temporarily bound to a type.
The variable is bound to a type when it is assigned a value in an assignment statement.
The type of a variable is not specified by a declaration statement, nor can it be determined by the spelling of its name.
If the binding first occurs during run time or can change in the course of program execution.
explicit declaration
Some of the problems with implicit declarations can be avoided by requiring names for specific types to begin with particular special characters.
Prevent the compilation process from detecting some typographical and programmer errors.
Implicit variable type binding is done by the language processor, either a compiler or an interpreter.
a means of associating variables with types through default conventions, rather than declaration statements.
a statement in a program that lists variable names and specifies that they are a particular type.
If it first occurs before run time begins and remains unchanged throughout program execution.
Binding Time
The time at which a binding takes place.
Aliases
One address can be referenced by two names, not good for reading code