Reading: PLP, Sections 2.1 "Specifying Syntax" and 2.2 "Scanning".
Solutions to the following exercises should be typed or printed neatly
and turned in at the beginning of Friday's class.
Do we need to have separate scanning and parsing phases
in compilation? Which one could technically be eliminated? Why would
this be a bad idea?
Why do automatic scanner generators generally start with NFAs?
Why do automatic scanner generators generally create DFAs?
Can a scanner specification from regular expressions
be ambiguous in the way that grammars can be? Explain why not,
or give an example of an ambiguous scanner specification.