Study your flashcards anywhere!

Download the official Cram app for free >

  • Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off

How to study your flashcards.

Right/Left arrow keys: Navigate between flashcards.right arrow keyleft arrow key

Up/Down arrow keys: Flip the card between the front and back.down keyup key

H key: Show hint (3rd side).h key

A key: Read text to speech.a key


Play button


Play button




Click to flip

36 Cards in this Set

  • Front
  • Back
Derived type?
Derived type is a new type that is based on some previously defined type with which it is incompatible, although it may have identical structure. Derived types inherit all the properties of their parent types.
BINDING is an association, such as between an attribute and an entity or between an operation and a symbol.
Implicit Declaration?
An IMPLICIT DECLARATION is a means of associating variables with types through default conventions instead of declaration statements.
If binding first occurs during run time or can change in the course of program execution, it is called DYNAMIC.
Structure type compatibility?
Structure type compatibility means two variables have compatible types if their types have identical structures.
Explicit Declaration?
An EXPLICIT DECLARATION is a statement in a program that lists variable names and specifies that they are a particular type.
Coercion is the automatic conversion of a compatible type legal for the operator or is allowed under language rules to be implicitly converted by compiler-generated code to a legal type.
When more than one variable name can be used to access a single memory location.
Name type compatibility?
Name type compatibility means that two variables have compatible type only if they are in either the same declaration or in declarations that use the same type name.
A binding is STATIC if it first occurs before run time and remains unchanged throughout program execution.
L-value of a variable is the address of a variable, because that is required when a variable appears in the left side of an assignment statement.
The TYPE of a variable determines the range of values the variable can have and the set of operations that are defined for values of the type.
Type error?
Type error is the application of an operator to an operand of an inappropriate type.
A NAME is a string of characters used to identify some entity in a program.
Static variables?
Static variables are those that are bound to those same memory cells until program execution terminates.
Reserved word?
A RESERVED WORD is a special word of a programming language that cannot be used as a name.
binding time?
Binding time is the time at which a binding takes place.
A KEYWORD is a word of a programming language that is special only in certain contexts.
Stack-dynamic variables?
Stack-dynamic variables are those whose storage binding are created when their declaration statements are elaborated, but whose type are statically bound.
The ADDRESS of a variable is the memory address with which it is associated.
The memory cell to which a variable is bound somehow must be taken from a pool of avaialbe memory. This is called allocation.
The LIFETIME of a variable is the time during which the variable is bound to a specific memory location.
DEALLOCATION is the process of placing memory cell that has been unbound from a variable back into the pool of available memory.
Static variable?
STATIC VARIABLES are those that are bound to memory cells before program execution begins and remain bound to those same memory cells until program execution terminates.
Strong Typing?
Strong typing is one in which each name in a program in the language has a single type associated with it, and that type is known at compile time, and type errors are always detected.
R-value is the variable's value because it is what is required when the variable is used on the right side of an assignment statement.
Binding is an association, such as between an attribute and an entity or between an operation and a symbol.
Explicit heap-dynamic variables?
Explicit heap-dynamic variables are nameless (abstract) memory cells that are allocated and deallocated by explicit run-time instructions specified by the programmer.
Implicit heap-dynamic variables?
Implicit heap-dynamic variables are bound to heap storage only when they are assigned values, all their attributes are bound every time they assigned.
Type checking?
Type checking is the activity of ensuring that the operands of an operator are of compatible types.
Nonlocal variables?
Nonlocal variables of a program unit or block are those that are visible within the program unit or block but are not declared there.
Dynamic scoping?
Dynamic scoping is based on the calling sequence of subprograms, not on their spatial relationship on each other.
Referencing environment?
Referencing environment of a statement is the collection of all names that are visible in the statement.
Named constant?
A Named Constant is a variable that is bound to a value only at the time it is bound to storage; its value cannot be changed by assignment or by an input statement.
Manifest constants?
Named constants in languages that use static binding of values.
The binding of a variable to a value at the time it is bound to storage.