# Compiler Design

 Question 1
Consider the syntax directed translation given by the following grammar and semantic rules. Here $N, I, F \; and \; B$ are non-terminals. $N$ is the starting non-terminal, and $\#,0 \; and \; 1$ are lexical tokens corresponding to input letters $"\#","0" \; and \; "1"$, respectively. $X.val$ denotes the synthesized attribute (a numeric value) associated with a non-terminal $X$. $I_1$ and $F_1$ denote occurrences of $I$ and $F$ on the right hand side of a production, respectively. For the tokens $0$ and $1$, $0.val=0$ and $1.val=1$.

The value computed by the translation scheme for the input string
\begin{aligned} N & \rightarrow I \# F & N.val=I.val+F.val \\ I &\rightarrow I_1B & I.val = (2 I1.val) + B.val\\ I &\rightarrow B&I.val = B.val\\ F &\rightarrow BF_1& F.val = \frac{1}{2}(B.val + F1.val)\\ F &\rightarrow B& F.val = \frac{1}{2} B.val\\ B&\rightarrow 0& B.val = 0.val\\ B &\rightarrow 1&B.val = 1.val \end{aligned}
$10\# 011$

is ____ (Rounded off to three decimal places)
 A 5.324 B 2.375 C 6.215 D 8.257
GATE CSE 2023      Syntax-directed Translation
Question 1 Explanation:
 Question 2
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?
 A B1: {}, B2: {a}, B3: {a}, B4: {a} B B1: {i, j}, B2: {a}, B3: {a}, B4: {i} C B1: {a, i, j}, B2: {a, i, j}, B3: {a, i}, B4: {a} D B1: {a, i, j}, B2: {a, j}, B3: {a, j}, B4: {a, i, j}
GATE CSE 2023      Runtime Environment
Question 2 Explanation:

 Question 3
Consider the following statements regarding the front-end and back-end of a compiler.

S1: The front-end includes phases that are independent of the target hardware.
S2: The back-end includes phases that are specific to the target hardware.
S3: The back-end includes phases that are specific to the programming language used in the source code.

Identify the CORRECT option.
 A Only S1 is TRUE. B Only S1 and S2 are TRUE. C S1, S2, and S3 are all TRUE. D Only S1 and S3 are TRUE.
GATE CSE 2023      Intermediate Code Generation
Question 3 Explanation:
 Question 4
Consider the following grammar along with translation rules.
\begin{aligned} &S \rightarrow S_1 \# T & & \{S._{val}=S_{1.val}*T._{val} \} \\ &S \rightarrow T & & \{S._{val}=T._{val} \} \\ &T \rightarrow T_1 \% R & & \{T._{val}=T_{1.val} \div R._{val} \} \\ &T \rightarrow R & & \{T._{val}=R._{val} \} \\ &R \rightarrow id & & \{R._{val}=id._{val} \} \\ \end{aligned}
Here $\#$ and $\%$ are operators and $id$ is a token that represents an integer and $id_{.val}$ represents the corresponding integer value. The set of non-terminals is $\{S,T,R,P \}$ and a subscripted non-terminal indicates an instance of the non-terminal.
Using this translation scheme, the computed value of $S_{.val}$ for root of the parse tree for the expression $20 \# 10 \% 5 \# 8 \% 2 \% 2$ is
 A 20 B 65 C 160 D 80
GATE CSE 2022      Parsing
Question 4 Explanation:
 Question 5
Consider the augmented grammar with $\{+, *, (, ), id \}$ as the set of terminals.
\begin{aligned}&S' \rightarrow S \\ &S \rightarrow S+R|R \\ &R \rightarrow R*P|P \\ &P \rightarrow (S)|id \end{aligned}
If $I_0$ is the set of two $LR(0)$ items $\{ [S' \rightarrow S.], [S \rightarrow S.+R] \}$, then $goto(closure(I_0 ),+)$ contains exactly ______ items.
 A 2 B 3 C 4 D 5
GATE CSE 2022      Parsing
Question 5 Explanation:

There are 5 questions to complete.