$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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