Re: synthized attributes in eli

"Tony Sloane" <>
1 Dec 2002 22:41:53 -0500

          From comp.compilers

Related articles
synthized attributes in eli (Oguz Akyuz) (2002-11-26)
Re: synthized attributes in eli (Tony Sloane) (2002-12-01)
| List of all articles for this month |

From: "Tony Sloane" <>
Newsgroups: comp.compilers
Date: 1 Dec 2002 22:41:53 -0500
Organization: Dept of Computing, Macquarie University
References: 02-11-171
Keywords: attribute, tools
Posted-Date: 01 Dec 2002 22:41:53 EST

On Wed, 2002-11-27 at 14:14, Oguz Akyuz wrote:
> assume I have a small grammar like:
> A: B / C .
> When I try:
> A.Type = B.Type;
> END;
> (Assume that both A and B have Type attributes and B.Type is something
> defined)
> I get an error like "miscomputation of A.Type" from eli system.
> Why does eli demand me to also add the rule(since adding this solves
> the problem):
> A.Type = C.Type;
> END;
> I couldn't understand the point. I would be pleased if someone explains.
> Thanks

The reason Eli (actually LIGA, the attribute grammar tool used in Eli)
complains is because for an attribute grammar to be well-defined you
need to specify how to compute the attributes for all possible ASTs that
conform to the underlying context-free grammar.

In your case you have two grammar rules that define A. If you specify
that A has a synthesized Type attribute then you must say how to compute
it in both rules that define A (because either of these might be used in
a tree). Hence Eli insists that you add some computation for A.Type in
the A : C rule.

Feel free to contact me off the compilers list if you want more

Tony Sloane <>
Dept of Computing, Macquarie University

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.