Related articles |
---|
source conversion Waverly@DigitSW.com (Waverly Edwards) (1997-09-12) |
Re: source conversion sreeni@csc.albany.edu (1997-09-15) |
Re: source conversion letribble@msmail4.HAC.COM (Louis Tribble) (1997-09-15) |
source conversion derek@knosof.co.uk (1997-09-15) |
Re: source conversion parrt@magelang.com (Terence Parr) (1997-09-23) |
Re: source conversion gduzan@gte.com (Gary Duzan) (1997-09-24) |
From: | Gary Duzan <gduzan@gte.com> |
Newsgroups: | comp.compilers,comp.compilers.tools.pccts |
Date: | 24 Sep 1997 22:24:11 -0400 |
Organization: | GTE Laboratories |
References: | 97-09-034 97-09-063 97-09-088 |
Keywords: | tools, translator |
Terence Parr wrote:
> Anyway, most tools do not provide support for the traversal or
> transformation of trees (unless you generate LISP ;)). If you're
> lucky, your tree generator will build objects of different types
> (heterogeneous tree nodes). That way you can build action() methods
> or whatever for each node that knows what to do for each node and how
> to traverse its children.
If you decide you want something like this, you might want to take a
look at Demeter out of Northeastern University. The older Demeter/C++
is limited to LL(1) parsing, but the newer Demeter/Java includes an
LR(1) parser, though with a restricted lexer. In both cases Demeter
builds classes for you and provides fairly advanced traversal
capabilities.
The traversals are emphasized more than the parsing, so it may not be
the right choice for general purpose parsing, but if you are
specifying your own mini-language, it is worth a look.
http://www.ccs.neu.edu/research/demeter/
Gary D. Duzan
GTE Laboratories
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.