Compiler Design


Q131.

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\# 011is ____ (Rounded off to three decimal places)
GateOverflow

Q132.

Which of the following statements is FALSE?
GateOverflow

Q133.

In a bottom-up evaluation of a syntax directed definition, inherited attributes can
GateOverflow

Q134.

Consider the following grammar (that admits a series of declarations, followed by expressions) and the associated syntax directed translation (SDT) actions, given as pseudo-code\begin{array}{lll} P & \rightarrow & D^* E^* \\ D & \rightarrow & \textsf{int ID} \{ \text{record that } \textsf{ID.} \text{lexeme is of type} \textsf{ int\}} \\ D & \rightarrow & \textsf{bool ID} \{ \text{record that } \textsf{ID.} \text{lexeme is of type} \textsf{ bool\}} \\ E& \rightarrow & E_1 +E_2 \{ \text{check that } E_1. \text{type}=E_2. \text{type} = \textsf{int}; \text{set } E.\text{type }:= \textsf{int} \} \\ E & \rightarrow & !E_1 \{ \text{check that } E_1. \text{type} = \textsf{bool}; \text{ set } E.\text{type} := \textsf{bool} \} \\ E & \rightarrow & \textsf{ID} \{ \text{set } E. \text{type } := \textsf{int} \} \end{array} With respect to the above grammar, which one of the following choices is correct?
GateOverflow

Q135.

Which one of the following statements is FALSE?
GateOverflow

Q136.

Consider the program given below, in a block-structured pseudo-language with lexical scoping and nesting of procedures permitted. Consider the calling chain: Main \rightarrow A1 \rightarrow A2 \rightarrow A21 \rightarrow A1 The correct set of activation records along with their access links is given by
GateOverflow

Q137.

A shift reduce parser carries out the actions specified within braces immediately after reducing with the corresponding rule of grammar S \rightarrow xxW \;\text{{print "1"}} S \rightarrow y \;\text{{print "2"}} W \rightarrow Sz\; \text{{print "3"}} What is the translation of xxxxyzz using the syntax directed translation scheme described by the above rules?
GateOverflow

Q138.

Which one of the following is NOT performed during compilation?
GateOverflow

Q139.

Type checking is normally done during
GateOverflow