From: skaller <sk...@us...> - 2006-07-25 16:34:01
|
On Tue, 2006-07-25 at 10:14 -0400, Stefan Seefeld wrote: > Gilles J. Seguin wrote: > > On Mon, 2006-07-24 at 14:53 -0400, Stefan Seefeld wrote: > >> skaller wrote: > >>> On Mon, 2006-07-24 at 14:14 -0400, Stefan Seefeld wrote: > >>>> skaller wrote: > > [...] > >>> In other words it generates an actual parse tree, rather than > >>> an abstract syntax tree? > > > > the "rather" may mislead, the parse tree is an augmented AST. > > Well, considering how both representations are actually built, > I would phrase it differently. You don't generate a parse tree > from an AST by adding to it, but rather, you create an AST by > removing ('abstracting away') things from the parse tree. Of course I use the term AST loosely :) In theory it is a representation in abstract syntax which has specific mathematical properties which few production parser ASTs actually have. > Ideally, the tool can generate multiple representations, and let users > control the processing pipeline, and only build the representation required > for a particular task. Of course this is very easy to do in functional language using folds .. -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net |