Front | Back |
Compiling a program
|
A separate machine executable file is create which is what is run to run the program
|
Interpreting a program
|
The program is run line by line and translated that way as it is run
|
Interactively running a program
|
Executing code when you type into, for example. the terminal one instruction at a time and see the results immediately
|
Type checking
|
Testing for type errors in a program by the compiler or during program execution
|
Address
|
The memory location which is also called l-value because it is found on the left of the assignment statement
|
Values
|
Values called r-values because they are constants found on the right of the assignment statement
|
Static scope
|
Subprograms nested within other subprograms can see the variables from outer subprograms. its set up by compiler before program is run
|
Dynamic scope
|
One method can see own variables and variables from the method that calls it. set up at runtime
|
Enumerated type
|
Provides a list of all possible values, which are named constants/ enumerated constants, in a definition
|
Ambiguous grammar
|
When grammar can generate two or more distinct parse trees
|
Recursive descent parser
|
Collection of subprograms, mostly recursive ones, that produce a parse tree in top-down order
|
Strong typing
|
The language is very particular and names are case sensitive, and datatypes cannot be changed once set
|
Top down parser
|
Replace left hand side with a choice of something on right hand side and work our way down. (replace labels with definitions)
|
Bottom up parser
|
Look at sequence of tokens, choose a RHS definition which matches initial portion replace with corresponding LHS
|
Associative array
|
Unordered collection of data elements that are indexed by equal number of values called keys
|