written 7.7 years ago by | • modified 7.7 years ago |
Mumbai University > Computer > Sem 6 > System Programming and Compiler Construction
Marks: 5
Year:May 16
written 7.7 years ago by | • modified 7.7 years ago |
Mumbai University > Computer > Sem 6 > System Programming and Compiler Construction
Marks: 5
Year:May 16
written 7.7 years ago by |
Syntax directed definition specifies the values of attributes by associating semantic rules with the grammar productions.
t is a context free grammar with attributes and rules together which are associated with grammar symbols and productions respectively.
The process of syntax directed translation is two-fold:
• Construction of syntax tree and
• Computing values of attributes at each node by visiting the nodes of syntax tree.
Semantic actions
Semantic actions are fragments of code which are embedded within production bodies by syntax directed translation. They are usually enclosed within curly braces ({ }).
It can occur anywhere in a production but usually at the end of production.
(eg.) E---> E1 + T {print ‘+’}
Types of translation
• L-attributed translation
o It performs translation during parsing itself.
o No need of explicit tree construction.
o L represents 'left to right'.
• S-attributed translation
o It is performed in connection with bottom up parsing.
o 'S' represents synthesized.
Types of attributes
• Inherited attributes
o It is defined by the semantic rule associated with the production at the parent of node.
o Attributes values are confined to the parent of node, its siblings and by itself.
o The non-terminal concerned must be in the body of the production.
• Synthesized attributes
o It is defined by the semantic rule associated with the production at the node.
o Attributes values are confined to the children of node and by itself.
o The non terminal concerned must be in the head of production.
o Terminals have synthesized attributes which are the lexical values (denoted by lexval) generated by the lexical analyzer.