• 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
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/20

Click to flip

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