+4 votes
380 views

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
edited | 380 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.
@Arjun

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 ===>

http://www.csd.uwo.ca/~moreno//CS447/Lectures/Translation.html/node1.html

http://dragonbook.stanford.edu/lecture-notes/Columbia-COMS-W4115/08-03-24.html

www.cse.iitm.ac.in/~krishna/cs3300/lecture4.pdf

answered by Veteran (47.4k 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

@srestha

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.5k points)

+1 vote
2 answers
1
+1 vote
1 answer
2
0 votes
2 answers
3