5 Written questions
5 Matching questions
- recursive descent
- base address
- Kleene closure
- a the address of the beginning of a data area. This address is added to a relative address or offset to compute an absolute address.
- b a data value upon which an operation is performed.
- c Signaling Not a Number, a special value defined by IEEE floating point. An attempt to do arithmetic on a SNaN will cause a processor fault and halt execution; if an array is initialized to SNaN values, this can detect errors of uninitialized data at no runtime cost.
- d zero or more occurrences of a grammar item; indicated by a superscript *.
- e a method of writing a parser in which a grammar rule is written as a procedure that recognizes that phrase, calling subroutines as needed for sub-phrases and producing a parse tree or other data structure as output.
5 Multiple choice questions
- an occurrence of a word, name, or sequence of characters having a meaning as a unit in a language.
- a sequence of symbols at the end of a string.
- a grammar production, as in a Yacc grammar, that is executed if no other (legal) production matches the input.
- a data structure that associates a name (symbol) with information about the named object.
- a formalism for describing parsers, especially for natural language. Similar to a finite automaton, but augmented in that arbitrary tests may be attached to transition arcs, subgrammars may be called recursively, and structure-building actions may be executed as an arc is traversed.
5 True/False questions
nondeterministic finite automaton → a finite automaton that has multiple state transitions from a single state for a given input symbol, or that has a null transition, not requiring an input symbol. Abbreviated NFA.
language denoted by a grammar → a grammar that allows some sentence or string to be generated or parsed in more than one way ( i.e., with distinct parse trees).
lexical scoping → a convention in a block-structured programming language that a variable can only be referenced within the block in which it is defined; thus, the scope of a variable is determined at compile time. Also called static scoping. cf. dynamic scoping.
lexer → lexical analyzer.
insertion → placement of a new data item in its proper position in an ordered sequence, such as a list, array, or symbol table.