ICD1 - Compiler Overview, Scanner Flashcards
When viewing programming languages as natural languages, the word ANSWER is used instead of `words’.
tokens
The routine in a compiler that takes as input a sequence of characters outputs these characters grouped into meaningful units is called ANSWER.
a lexical analyzer
The specifications for how to group characters into meaningful units are traditionally written as ANSWER.
regular expressions
The specifications of how to group characters into meaningful basic units of a programming language are generally implemented in code that has the abstract form of ANSWER.
a finite state machine
When viewed abstractly, a language is defined as a set of ANSWER.
strings
The Greek letter epsilon, when talking about languages, is used to represent ANSWER.
the empty string
In automatically generating the code that reads characters and outputs the part of a programming language that is analogous to its words, we start with a specification and then traditionally convert it into code in two stages. In the first stage, we produce ANSWER.
a nondeterministic finite state machine
In automatically generating the code that reads characters and outputs the part of a programming language that is analogous to its words, we start with a specification and then traditionally convert it into code in two stages. The main problem that can arise in moving from the first stage to the second stage is ANSWER.
an exponential explosion in the number of states needed