Compiler Design
Lexical Analysis
Marks 1Marks 2
Syntax Directed Translation
Marks 1Marks 2
Code Generation and Optimization
Marks 1Marks 2
1
GATE CSE 2023
Numerical
+2
-0

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.

$\begin{array}{llll}N & \rightarrow & I \# F & \text { N.val }=I . v a l+F . v a l \\ I & \rightarrow & I_1 B & I . v a l=\left(2 I_1 \cdot v a l\right)+\text { B.val } \\ I & \rightarrow & B & I . v a l=B . v a l \\ F & \rightarrow & B F_1 & F . v a l=\frac{1}{2}\left(B . v a l+F_1 \cdot v a l\right) \\ F & \rightarrow & B & F . v a l=\frac{1}{2} B . v a l \\ B & \rightarrow & 0 & \text { B.val }=\mathbf{0} . \mathrm{val} \\ B & \rightarrow & 1 & \text { B.val }=\mathbf{1} . \mathrm{val}\end{array}$

The value computed by the translation scheme for the input string

$$10 \# 011$$

is ____________. (Rounded off to three decimal places)

Your input ____
2
GATE CSE 2022
Numerical
+2
-0

Consider the following grammar along with translation rules.

S $$\to$$ S1 # T {S.val = S1.val * T.val}

S $$\to$$ T {S.val = T.val}

T $$\to$$ T1 %R {T.val = T1.val $$ \div $$ R.val}

T $$\to$$ R {T.val = R.val}

R $$\to$$ id {R.val = id.val}

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 ___________.

Your input ____
3
GATE CSE 2021 Set 1
MCQ (Single Correct Answer)
+2
-0.67

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:

P → D* E*

D → int ID {record that ID.lexeme is of type int}

D → bool ID { record that ID.lexeme is of type bool}

E → E1 + E2 {check that E1.type = E2.type = int; set E.type := int}

E → !E1 {check that E1.type = bool; set E.type := bool}

E → ID {set E.type := int}

With respect to the above grammar; which one of the following choices is correct?

A
The actions will lead to infinite loop.
B
The actions can be used to correctly type-check any syntactically correct program.
C
The actions can be used to type-check syntactically correct boolean variable declarations and boolean expressions.
D
The actions can be used to type-check syntactically correct integer variable declarations and integer expressions.
4
GATE CSE 2019
MCQ (Single Correct Answer)
+2
-0.67

Consider the following grammar and the semantic actions to support the inherited type declaration attributes. Let $X_1, X_2, X_3, X_4, X_5$, and $X_6$ be the placeholders for the nonterminals $\mathrm{D}, \mathrm{T}, \mathrm{L}$ or $\mathrm{L}_1$ in the following table :

Production rule Semantic action
D → T L X1.type = X2.type
T → int T.type = int
T → float T.type = float
L → L1, id X3.type = X4.type
addType(id.entry, X5.type)
L → id addType(id.entry, X6.type)

Which one of the following are the appropriate choices for $X_1, X_2, X_3$ and $X_4$ ?

A
$X_1=L, X_2=T, X_3=L_1, X_4=L$
B
$X_1=T, X_2=L, X_3=L_1, X_4=T$
C
$X_1=L, X_2=L, X_3=L_1, X_4=T$
D
$X_1=T, X_2=L, X_3=T, X_4=L_1$
GATE CSE Subjects
Theory of Computation
Operating Systems
Algorithms
Digital Logic
Database Management System
Data Structures
Computer Networks
Software Engineering
Compiler Design
Web Technologies
General Aptitude
Discrete Mathematics
Programming Languages
Computer Organization