|
Boost : |
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk