Term
Imperative Language(How to do) |
|
Definition
Von Neumann: Fortran, C Side Effects Object Oriented: Java, C++ Interaction between objects |
|
|
Term
Declarative Language(What to do) |
|
Definition
Functional: Lisp, Scheme Applications of functions from inputs to outputs Logic, constraint based: Prolog Propositional logic |
|
|
Term
|
Definition
What a program looks like |
|
|
Term
|
Definition
|
|
Term
|
Definition
|
|
Term
|
Definition
Sequence of bits directly control processor |
|
|
Term
|
Definition
Translated by an assembler, machine dependent |
|
|
Term
|
Definition
Machine Independent Translated by a compiler or interpreter |
|
|
Term
|
Definition
Translates into target language then goes away |
|
|
Term
|
Definition
Stays around at execution time |
|
|
Term
|
Definition
A finite set of replacement rules |
|
|
Term
|
Definition
|
|
Term
|
Definition
|
|
Term
|
Definition
|
|
Term
|
Definition
One string has multiple parse trees |
|
|
Term
|
Definition
A character, empty string, concatenation, alteration, repetition |
|
|
Term
|
Definition
Ignores white space, comments, recognises tokens |
|
|
Term
|
Definition
Calls the scanner to obtain tokens, builds parse tree, passes it to later phases |
|
|
Term
|
Definition
|
|
Term
|
Definition
|
|
Term
Scheme-Preventing evaluation |
|
Definition
|
|
Term
Scheme-Forcing evaluation |
|
Definition
|
|
Term
|
Definition
2 questions: null? and (cdr lst) |
|
|
Term
|
Definition
n=0 and else make sure (-n,1) |
|
|
Term
Scheme Internal Structure |
|
Definition
Each element is a cons cell. |
|
|
Term
|
Definition
Greater Efficiency, typically compiler |
|
|
Term
|
Definition
Associated with greater flexibility Interpreted languages typically |
|
|
Term
|
Definition
The time interval between creation and destruction |
|
|
Term
|
Definition
Object outlives its binding |
|
|
Term
|
Definition
A binding outlives its object |
|
|
Term
Static Storage Allocation |
|
Definition
Each object is given an address before execution begins and retains the address throughout |
|
|
Term
|
Definition
Objects are allocated on a stack and bindings are made when entering a subroutine |
|
|
Term
|
Definition
Allocated and de-allocated by explicit directives at arbitrary times |
|
|
Term
|
Definition
Allocation and de-allocation are implicit, requires garbage collection |
|
|
Term
Statically Scoped (Lexically) |
|
Definition
Bindings are determined by examination Can be determined at compile time |
|
|
Term
|
Definition
Binding depends on the flow of control run time Most recent active binding |
|
|
Term
|
Definition
Use the environment from the moment of function call |
|
|
Term
|
Definition
Use the environment from the moment when the function was passed/stored/returned |
|
|
Term
LeBlanc-Cook Symbol Table |
|
Definition
Uses a hash table for symbols and a smoke stack |
|
|
Term
Enumeration-controlled loops |
|
Definition
executed once for every value in a igiven set. |
|
|
Term
Logically-controlled loops |
|
Definition
executed until soom boolean condition changes. |
|
|
Term
Logically-controlled loops |
|
Definition
executed until soom boolean condition changes. |
|
|
Term
Logically-controlled loops |
|
Definition
executed until soom boolean condition changes. |
|
|
Term
|
Definition
|
|