1/28
Looks like no tags are added yet.
Name  | Mastery  | Learn  | Test  | Matching  | Spaced  | 
|---|
No study sessions yet.
Bindings
Can be both implicit and explicit
Static, Dynamic and automatic
Examples of storage class
Colorless green ideas sleep furiously
A sentence composed by Noam Chomsky in 1957 as an example of a sentence whose grammar is correct but whose meaning is nonsensical.
Bottom-up parser
Constructs derivations and parse trees from the leaves to the roots
Parsing phase
The phase in which a compiler processes the tokens, determining the program's syntactic structure.
Symbol table operations
Must support insertion, lookup, deletion, and all of the above
Allocations on the heap
Dynamic
Start symbol
Represents the entire top-level phase being defined in a grammar
Literal
Representation of characters or digits
Metasymbols
Symbols used to describe the grammar rules
Data type definition concepts
Valid value and valid operations
Function name overloading
Name resolution can be determined based upon the only type of parameters
Fixed format
A language in which tokens must occur in prespecified locations on the line or page
Parse tree
The graphical description of the replacement process in a derivation of a grammar
Static constant
Can have its values corrupted at local times
Compiler
Translates an entire program into executable code and does not execute it
Importance of distinct data types
Operation might not get executed
Ways to specify semantics
All of the above: formal definition, language reference manual
Predefined types
Those types supplied with a language, from which all other types are constructed
Semantics
What the language constructs actually do
Recursive type
A type that uses itself in its declaration
Token delimiter
Formatting that affects the way tokens are recognized
Type checking
The process a translator goes through to determine whether type information in a program is consistent
Ambiguous grammar
When grammar allows two distinct parse or syntax trees
Static binding
Occurs before execution
Symbol table
Binds names to values
Allocation locations
The stack and the heaps are not the only places an allocation location for a variable may exist
Immutable objects
Never change state
Dynamic binding
Happens before execution