|[12 earlier articles]|
|Re: simple vs. complex parsers cfc@shell01.TheWorld.com (Chris F Clark) (2003-05-18)|
|Re: simple vs. complex parsers email@example.com (Sylvain Schmitz) (2003-05-18)|
|Re: simple vs. complex parsers firstname.lastname@example.org (Lieven Marchand) (2003-05-18)|
|Re: simple vs. complex parsers email@example.com (2003-05-18)|
|Re: simple vs. complex parsers firstname.lastname@example.org (2003-05-23)|
|Re: simple vs. complex parsers email@example.com (2003-05-23)|
|Re: simple vs. complex parsers firstname.lastname@example.org (Antti-Juhani Kaijanaho) (2003-05-24)|
|From:||Antti-Juhani Kaijanaho <email@example.com>|
|Date:||24 May 2003 16:58:30 -0400|
|Organization:||University of Jyvaskyla, Finland|
|References:||03-02-125 03-02-147 03-03-043 03-03-061 03-03-103 03-04-006 03-04-028 03-04-046 03-04-066 03-04-116 03-05-103|
|Posted-Date:||24 May 2003 16:58:30 EDT|
Robert A Duff wrote:
> TeX is one of the worst programming languages I have ever seen.
> I'm amazed that someone as brilliant as Knuth can be so bad at
> language design.
ISTR reading a Knuth interview (probably in an early-90's Tugboat) where
he said that he was trying to resist making TeX a programming language
and for that reason made the choices he made. Then, after user
reguests, he added a feature, and then another, and another, and so on,
until it was a programming language - a horrible one at that.
> Lisp suffers from the many-dialect problem. But that's a somewhat
> different issue, I think. Each of those dialects has a *very* simple
> syntax, compared to most languages.
That's because Lisp uses a minimal concrete syntax to express its
abstract syntax. Many languages have abstract syntaxes (at least as
represented in AST's of some compilers), but they tend to use a more
elaborate concrete syntax, one intended to look more or less familiar.
> To me, recursive descent is intuitively obvious. [...]
> LR parsing, however, is something of a mystery to me. I *sort of*
> understand how it works, but slogging through those tables is a
In my experience, recursive descent parsers are easier to understand
than LARL parsers, but LARL grammars are easier to work with than
grammars intended for predictive (recursive descent) parsing. So I
tend to use generated LARL parsers whenever the grammar consists of
more than a handful of productions.
Antti-Juhani Kaijanaho, FM (MSc), http://www.mit.jyu.fi/antkaij/
ohjelmistotekniikan assistentti * assistant in software engineering
Jyväskylän yliopisto * University of Jyväskylä
Tietotekniikan laitos * Dept. of Mathematical Inf. Tech.
Return to the
Search the comp.compilers archives again.