Midterm Vocab Flashcards
absolute address
the numeric address of a location in memory.
cf. relative address.
abstract syntax tree (AST)
a tree representation of a program
that is abstracted from the details of a particular programming
language and its surface syntax.
accepting state
a state of a finite automaton in which the input string is accepted
as being a member of the language recognized by the automaton.
address alignment
see storage alignment.
alphabet
a set of symbols used in the definition of a language.
ambiguity
a case where more than one interpretation is possible.
ambiguous 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).
arity
the number of arguments of a function.
associativity
a specification of the order in which operations should be performed
when two operators of the same precedence are adjacent. Most operators
are left-associative, e.g. the expression A - B - C
should be interpreted as ((A - B) - C).
abstract syntax tree
AST
augmented transition network (ATN)
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.
base address
the address of the beginning of a data area. This address is added to
a relative address or offset to compute an absolute address.
basic type
a data type that is implemented in computer hardware
instructions, such as integer or real.
BNF
Backus-Naur Form, a syntax for writing context-free grammars
that describe computer languages.
bottom-up parsing
a parsing method in which input words are matched against the right-hand
sides of grammar productions in an attempt to build a parse tree from the
bottom towards the top.
cascading errors
a situation, e.g. in compiling a program, where one error causes many
reported errors. For example, failure to declare a variable may cause
an error every time that variable is referenced.
cast
to coerce a given value to be of a specified type.
Chomsky hierarchy
the hierarchy of formal language types: regular, context free, context
sensitive, and recursively enumerable languages, each of which is a proper
subset of the following class.
code generation
the phase of a compiler in which executable output code is generated
from intermediate code.
collision
in a hash table, a case in which a symbol has the same
hash function value as another symbol.
compiler
a program that translates a source language into an
object language that is executable on a computer.
compiler-compiler
a program that produces a compiler for a language from a specification
of the syntax and semantics of the language, e.g. yacc.
concatenation
making a sequence that consists of the elements of a first sequence
followed by those of a second sequence.
context-free grammar
a grammar in which the left-hand side of each production consists of a
single nonterminal symbol.