Dear Michael Sperber,

I saw your posting on comp.compilers:

> Many thanks for all the replies.  All have mentioned parser generators
> that do the attribute evaluation on the generated parse tree or via lazy
> evaluation.  Is there a variant that does the attribute evaluation during
> parsing, e.g. to resolve ambiguities?

> (Yes, I know this is not generally possible, or at least highly
> non-trivial.  But it can be done for most practical purposes.)

During the last year I have worked on the implementation of EAG
(Extended Affix Grammars), which are a variant of attribute grammars.
My parser generator generates either recursive backup topdown or
recursive backup leftcorner parsers, which evaluate affixes
during the parse by means of a data driven affix propagation
mechanism. Affixes are propagated as soon as their value is known,
thereby (possibly) influencing the parse. In this way affix
directed parsing is obtained, so that context sensitive restrictions
may be checked during the parse. Affix directed parsing can therefore
also be used to resolve ambiguities.

The parser generator and the documentation can be obtained by ftping
it from hades.cs.kun.nl (131.174.32.33) from the directory /pub/eag.

					Best regards,

					Marc Seutter
					(marcs@cs.kun.nl)
Newsgroups: comp.compilers
Path: sci.kun.nl!sun4nl!mcsun!uunet!olivea!hal.com!decwrl!world!iecc!compilers-sender
From: sperber@midi.informatik.uni-tuebingen.de (Michael Sperber)
Subject: Re: Inherited attributes in available LALR parser generators?
Message-ID: <93-10-047@comp.compilers>
Keywords: attribute, LALR
Sender: compilers-sender@chico.iecc.com
Organization: Lehrstuhl fuer Technische Inforrmatik, Uni Tuebingen
References: <93-10-035@comp.compilers>
Date: Sat, 9 Oct 1993 13:09:24 GMT
Approved: compilers@chico.iecc.com
Lines: 12

Many thanks for all the replies.  All have mentioned parser generators
that do the attribute evaluation on the generated parse tree or via lazy
evaluation.  Is there a variant that does the attribute evaluation during
parsing, e.g. to resolve ambiguities?

(Yes, I know this is not generally possible, or at least highly
non-trivial.  But it can be done for most practical purposes.)

Cheers =8-} Chipsy
-- 
Send compilers articles to compilers@iecc.com or
{ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.

