Dynamic Attribute Grammars (was: Object-oriented compiler construction: ideas?)

Martin.Jourdan@inria.fr (Martin Jourdan)
1 Jul 1996 10:21:00 -0400

          From comp.compilers

Related articles
Re: Object-oriented compiler construction: ideas? poe@theory.lcs.mit.edu (1996-06-13)
Re: Object-oriented compiler construction: ideas? euahjn@eua.ericsson.se (1996-06-14)
Re: Object-oriented compiler construction: ideas? bobduff@world.std.com (1996-06-26)
Re: Object-oriented compiler construction: ideas? jgm@CS.Cornell.EDU (Greg Morrisett) (1996-06-27)
Re: Object-oriented compiler construction: ideas? compres@world.std.com (1996-06-30)
Dynamic Attribute Grammars (was: Object-oriented compiler construction Martin.Jourdan@inria.fr (1996-07-01)
| List of all articles for this month |

From: Martin.Jourdan@inria.fr (Martin Jourdan)
Newsgroups: comp.compilers
Date: 1 Jul 1996 10:21:00 -0400
Organization: Avant-projet OSCAR, INRIA, Rocquencourt, France
References: 96-06-047 96-06-064 96-06-117 96-06-134 96-06-140
Keywords: attribute, parse

**Netiquette warning**: this is a shameless plug for our current work in
Projet OSCAR at INRIA, Rocquencourt, France.




In response Greg Morrisett added:
> Another problem with the OO-approach is fixing the order of traversal
> in the Visitor pattern. In-order? Post-order? Pre-order? Visit
> right children first or left children? Depends a lot on the optimization
> or transformation you're performing. Perhaps this is the reason why
> attribute grammars and other forms of declarative tree/graph-rewriting
> seem attractive to compiler writers.


compres@world.std.com (Chris Clark at Compiler Resources) wrote
|> Yes, attribute grammars solve the ordering problem as long as there
|> are no circularities. Are there any systems which will allow
|> attributes that are transitive closures (i.e. what you would solve as
|> a dataflow analysis problem)?


Dynamic Attribute Grammars will allow you to do that, among many other
useful applications out of the reach of traditional AGs. In fact, one of
the items at the very top of our agenda is to use Dynamic AGs (which allow
you to describe iterative computations on a single structure, like in DFA)
and Generic AGs (which allow to instantiate an algorithm decribed by an AG
onto various grammars) to build a generic DFA toolkit, like what Kildall
had in mind back in 1973.


Dynamic AGs are the topic of a forthcoming PLILP'96 paper and of several
research reports available through our Web page at
<http://www-rocq.inria.fr/oscar/FNC-2>.


                                                                          Martin Jourdan


Avant-projet OSCAR, INRIA, Rocquencourt, France
Phone +33-1-36-93-54-35, fax +33-1-39-63-56-98, Martin.Jourdan@inria.fr
Home page and PGP key: http://www-rocq.inria.fr/who/Martin.Jourdan/
--


Post a followup to this message

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