Computer Sciences > GATE 2021 SET-1 > Syntax Directed Translation
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 -> DE
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?
P -> DE
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?
Explanation
Correct : b
Similar Questions
What is the worst-case time complexity of insertion in an AVL tree?
Which operations on a binary search tree have O(h) complexity?
Compare search complexities of sorted array vs balanced BST.