Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
20 Cards in this Set
- Front
- Back
Subprogram linkage |
Call & return language operations |
|
Activation record format |
Static format, dynamic size Static link points to a static parent ARI Dynamic link points to top of caller's ARI ARI (Activation Record Instance) dynamically created on call Record instances on run-time stack EP (Environment Pointer) points to base of activation record |
|
Subprograms & parameters |
Header is name, type, and formal parameters Parameter profile is number, order, and all types Protocol is parameter profile, maybe return type Declaration is protocol with no body Formal parameter is dummy variables in header Actual parameter is value/address in call statement |
|
Subprogram design issues |
Side effects, static/dynamic variables, overloaded, etc. |
|
Reference environment |
Scope
|
|
Semantic models & parameter-passing methods |
In mode passes values (read-only) Out mode passes buffers (write-only) Inout mode passes reference (read & write) Pass-by-value Pass-by-reference |
|
Common control structures |
Counter-controlled loops Single/multi-way selection Unconditional branching (goto/label) Etc. |
|
Nested control structure problems |
Dangling 'else' |
|
Operator precedence & associativity |
1. ()
2. Unary 3. ** (if supported) 4. *, / 5. +, - |
|
Referential transparency |
If any two expressions in the program with the same value can be substituted for one another anywhere in the program without affecting the action of the program
|
|
Mixed-mode assignment |
Weakly-typed assignments aren't checked and can be confusing because the assignment of one type to a variable of another may not have been explicit (or even implicit) |
|
User-defined ordinal types |
Range of possible values can be easily associated with the set of possible integers (Enumerations) |
|
Array |
Homogeneous aggregate of data elements |
|
Primitive data types |
Integer, floating point, boolean, character |
|
Subscript bindings |
Static, fixed stack-dynamic, fixed heap-dynamic, heap-dynamic |
|
Associative array |
Map with keys |
|
Implementation methods |
Compilation, interpretation, hybrid |
|
Variable |
Name, address, type, value, lifetime, scope |
|
Language evaluation criteria |
Readable, writable, reliable, cost, portable, general, well-defined |
|
Language categories |
Imperative, functional, logic, markup |