Question: 3. Given the simple expression grammar: exp id=exp|aexp aexpaexp + factor factor factor (exp) numid Write p-codes for the expression =3) + (x=y+4) according to


3. Given the simple expression grammar: exp id=exp|aexp aexpaexp + factor factor factor (exp) numid Write p-codes for the expression "=3) + (x=y+4)" according to the following attribute grammar: Grammar Rule Semantic Rules expl id=exp2 expl.pcode="Ida"|| id.strval++exp2.pcode++"stm" exp - aexp exp.pcode=aexp.pcode aexplaexp2 + factor aexpl.pcode=aexp2.pcode++factor.pcode++"adi aexp factor aexp.pcode-factor.pcode factor (exp) factor.pcode-exp.pcode factor num factor.pcode="lde"||num.strval factor id factor.pcode="lodalid.strval b) Write three-address codes for the expression (3) + (r=y+4)" according to the following attribute grammar: Grammar Rule Semantic Rules expl id=exp2 expl.name=exp2.name expl.tacode=exp2.tacode++ id.strval="exp2.name exp - aexp exp.name=aexp.name, exp.tacode-aexp.tacode aexpl aexp2 + factor aexpl.name=new-tempo aexpl.tacode aexp2.tacode++factor.tacode++ aexpl.name="aexp2.name||""||factor.name aexp factor aexp.name-factor.name; aexp.tacode=factor.tacode factor (exp) factor.name=exp.name; factor.tacode=exp.tacode factor num factor.name=num. strval; factor.tacode=" factorid factor.name=id.strval; factor.tacode
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
