ALL RIGHTS RESERVED.
Compiler Construction - Exam 1 Questions
And Answers
Name all of the phases of a compiler - Answers✔1. lexical analysis
2. syntax analysis
3. semantic analysis
4. intermediate code generation
5. code optimization
6. code generation
Briefly describe lexical analysis - Answers✔Conversion of input from lexemes to a stream of
tokens
Briefly describe syntax analysis - Answers✔Makes sure the tokens occur in a meaningful order
(ensures syntactically correct program)
Briefly describe semantic analysis - Answers✔A check for meaning among the "sentences"
created by syntax analysis
1|Page
, ©SIRJOEL EXAM SOLUTIONS 2024/2025
ALL RIGHTS RESERVED.
Briefly describe intermediate code generation - Answers✔Creation of a machine-independent
representation of the source code
Briefly describe code optimization - Answers✔Removal of unnecessary instructions in an
attempt to increase speed or decrease program size
Briefly describe code generation - Answers✔Creation of a machine-dependent translation from
the intermediate code to the target language
Single Line vs Multiline Comment: Advantages and Disadvantages - Answers✔Single line: easy
for lex analyzer to process since its presence tells the analyzer to ignore the rest of the line, but
more difficult to implement since it can easily be mistaken for an operation instead of
something to ignore
Multiline: easier to use from a programmer's perspective, but more difficult for the scanner to
detect since there is a chance the closing delimiter may not be found
What does ambiguity mean and how is it solved in most grammars? - Answers✔Ambiguity is an
instance in which more than 1 parse tree can be created to represent the grammar. It is fixed
using left-factoring to create the desired parse tree.
What is LL(1) grammar? How do you determine if a CFG is in the class? - Answers✔A grammar
that is scanned from left to right using left-most derivation with a 1 token lookahead
2|Page