First time here? Checkout the FAQ!
+4 votes

how many Synthesized attributes are present in the given Syntax directed Definition?


(Answer key says only 2 Synthesized attributes are present. How to find them? Any idea?)

asked in Compiler Design by Veteran (27.8k points)  
edited by | 393 views
@Kapil just make parse tree and check Suppose Take Ex:"(1+4)" .
@manojk sir, see the answer
then L and T will be synthesized , rt?

E also taking value from it's parent
Sorry I think each attribute is synthesized here .Since value are computed in children node.

Sir, plz check this .....

2 Answers

+3 votes
Best answer

It has 4 synthesized attribute which are 

E has the synthesized attributed  E.val and T the synthesized attribute  T.val

and F has the synthesized attribute F.val and digit has the synthesized attribute digit . lexval which is applied by the lexical analyzer .

Also , only semantic rule with side effect is  print(E.val) .

Refer ===>

    answered by Veteran (47.9k points)  
    selected by

    yes sir

    i reconsidered your option of F.val=digit.val

    @Kapil what about L?
    @ srestha

    it is just a side effect,

    semantic rules which do printing have no effect on attributes


    For input "3*5+4n"

    $6$ should be right??
    0 votes
    I think it is 7.

    As Synthesized attribute is used by parent node which takes value from its child. In given semantic rules if you see everytime when right hand side of production is reduced to  nonterminal there is some semantic action which has ti performed at everynode. Each parent is using value from its child.

    Plz Correct me if i am wrong.
    answered by Loyal (2.8k points)  

    Top Users Aug 2017
    1. Bikram

      4902 Points


      4704 Points

    3. akash.dinkar12

      3480 Points

    4. rahul sharma 5

      3158 Points

    5. manu00x

      3012 Points

    6. makhdoom ghaya

      2470 Points

    7. just_bhavana

      2388 Points

    8. stblue

      2138 Points

    9. Tesla!

      2060 Points

    10. joshi_nitish

      1758 Points

    25,014 questions
    32,139 answers
    30,185 users