Give examples, in Java, of:
A lexical error, detected by the scanner. (Hint: is there a symbol on the keyboard that has no meaning in Java?)
A syntax error, detected by the parser.
A static semantic error, detected by semantic analysis.
A dynamic semantic error, detected by code generated by the compiler.
Do exercise 2.1f (only part f!) on p. 103. To avoid confusion with the Kleene *, use # as the anti-fraud character. To ensure that your grammar is regular, do not use any recursive productions.
Where does your pet language fit into the classification scheme in Figure 1.1? If it is "multiparadigm", does it lean toward one category more strongly than others?
Is your pet language usually compiled, interpreted, or some combination thereof? (Java is compiled into Java bytecode, which is then interpreted by the Java Virtual Machine. Some JVMs include just-in-time compilers which compile to machine language just before the program is run.)
Implement and run the GCD algorithm (p. 13) in your pet language. Show your code. (You should write this one yourself, not find a solution on the web.)
All of the above, in a single Google word processing document a3.