From: joel de guzman (isis-tech_at_[hidden])
Date: 2001-06-08 05:50:19


----- Original Message -----
From: "David Abrahams":
>
> Since compilation times are typically bounded by lexical analysis, usually
> other factors such as expressive power tend to win out in comparisons of
> parsing technology. LR(1) and LALR(1) parsers tend to be more capable than
> LL(1) as far as I know, and people have been reluctant to compensate with
> backtracking.
>

Some questions:

1. Why is compilation times bounded by lexical analysis?
2. What are the performance bottle-necks typically encountered?
3. What can be done about it?

I am asking this because in principle (I haven't done this yet)
Spirit can be a lexer and a parser. All cooperating objects are
parameterized by the character type which of course need not
be chars; need not be integers, in fact, for I envision a first
pass lexer that stores tokens and stuff in a stream or list,
then the parser proper (also built using the framework),
can do the other passes to create ASTs, manage symbol tables
etc.

Thanks,
Joel de Guzman