Lambda the Ultimate

inactiveTopic (Elegant) Recursive Ascent Parsing
started 3/27/2001; 10:17:41 AM - last post 6/9/2003; 7:17:27 PM
andrew cooke - (Elegant) Recursive Ascent Parsing  blueArrow
3/27/2001; 10:17:41 AM (reads: 752, responses: 1)
(Elegant) Recursive Ascent Parsing
Recursive descent is what you get (usually) when you write a (top-down) parser by hand. Using a tool like yacc, however, generates a bottom-up parser that accepts a different kind of grammar (typically LALR, not LL, IIRC). This link describes an approach that (I gather!) combines the best of both worlds...

There's some horrible technical detail (and bibliography) here and a couple of papers on a Java parser generator and associated Java parser/compiler.

Oh, and here is the language (called Elegant) mentioned in the main link (looks like quite a neat general language).

PS Is there a better category than general for this? Should there be?
Posted to general by andrew cooke on 3/27/01; 10:22:11 AM

Isaac Gouy - Re: (Elegant) Recursive Ascent Parsing  blueArrow
6/9/2003; 7:17:27 PM (reads: 244, responses: 0)
Elegant compiler generator & programming language available under GPL
Abstract: From 1987 till 1996, the Elegant compiler generator system has been developed at Philips Research. This generator has been used within Philips for the construction of several dozens of compilers, including the system itself. Elegant started off as a simple formalism based on attribute grammars. During the years it has developed into a powerful compiler generator system and a complete programming language which smoothly combines features from functional languages (polymorphism, higher orderness, laziness, comprehensions) with imperative features (state, destructive update). The result is a powerful, yet very efficient, programming language which allows programming and compiler construction at a high level of abstraction. In 1996, the developed of Elegant was stopped.