HaloO,
I figured from the list that the writing of the perl6 compiler
or at least the underlying rule engine has started. And I remember
a discussion a while ago about the performance of recursive descent
parsing. In these respects I would like to hint the gurus to the
following website: <http://www.pdos.lcs.mit.edu/~baford/packrat/>
Here a short cite from Bryan Ford's Master's Thesis:
Packrat parsing is an adaptation of a 30-year-old tabular parsing algorithm
that was never put into practice until now. A packrat parser can recognize
any string defined by a TDPL grammar in linear time, providing the power and
flexibility of a backtracking recursive descent parser without the attendant
risk of exponential parse time. A packrat parser can recognize any LL(k) or
LR(k) language, as well as many languages requiring unlimited lookahead that
cannot be parsed by shift/reduce parsers. Packrat parsing also provides
better composition properties than LL/LR parsing, making it more suitable
for dynamic or extensible languages. The primary disadvantage of packrat
parsing is its storage cost, which is a constant multiple of the total input
size rather than being proportional to the nesting depth of the syntactic
constructs appearing in the input.
If this is all common knowledge just ignore me, which might be the case
anyway since I'm posting from Google.
MfG, TSa.