Which of the following statements is/are true?
Go through each claim about LL(1) parsing using the definition of predictive parsing.
Backtracking claim: LL(1) parsing works by looking at exactly 1 input symbol to pick the next production deterministically from a parsing table, there is never any need to backtrack, so this claim is wrong.
Left recursion claim: predictive top-down parsers cannot handle left recursion at all, since a rule like \(A \to A\alpha \mid \beta\) would make the parser expand \(A\) forever without reading any input. Left-recursive grammars are therefore excluded from LL(1), so saying LL(1) grammars must be left recursive is backwards and false.
Left factoring claim: if a non-terminal has two alternatives beginning with the same symbols, a single lookahead symbol cannot tell them apart, so the grammar fails the LL(1) condition unless it is left factored first. Left factoring is indeed required, making this claim true.
Power comparison claim: the LL(1) class of grammars sits inside the SLR(1) class, every LL(1) grammar is SLR(1) but many SLR(1) grammars (for example ones with left recursion) are not LL(1). So LL(1) is less powerful, not more, making this claim false.
Only the left-factoring statement holds, so the answer is option C.
Consider the control flow graph shown. Which one of the following choices correctly lists the set of live variables at the exit point of each basic block? 
Consider the following definition of a lexical token id for an identifier in a programming language, using extended regular expressions: \[ \text{letter} \;\;\rightarrow\;\; [A\!-\!Za\!-\!z] \] \[ \text{digit} \;\;\rightarrow\;\; [0\!-\!9] \] \[ \text{id} \;\;\rightarrow\;\; \text{letter (letter | digit)}^* \] Which one of the following Non-deterministic Finite-state Automata with $\epsilon$-transitions accepts the set of valid identifiers? (A double-circle denotes a final state). 