|Obsession with lexical and syntactic issues email@example.com (1989-11-15)|
|Re: Obsession with lexical and syntactic issues !firstname.lastname@example.org (1989-11-18)|
|Posted-Date:||18 Nov 89 19:41:50 GMT|
|From:||!email@example.com (John Gateley)|
|Date:||18 Nov 89 19:41:50 GMT|
|Organization:||TI Computer Science Center, Dallas|
In article <1989Nov15.firstname.lastname@example.org> email@example.com (Dale Worley) writes:
> [These are syntactic issues which arise in the real world.]
>- Constant revisions/changes to the grammar
>- Verifying that the new language features don't introduce ambiguities
>into the language
>- Automatically producing good error recovery from syntax errors
>- Language designers steadfastly refuse to make LALR(1) languages
>- Building a lex/parse system that will Do What I Mean
Lisp is a counter-example to most of the above points: Its grammar
is very simple (and modifications are made through the read-table
abstraction, instead of the parser). New language features don't
change the grammar, they are added as special forms or macros.
It is at least LALR(1), and parse systems are very simple. Lexers
are a bit harder, depending on how many special characters you use,
and whether you implement the Common Lisp read-table, but are not
more complex than conventional language lexers.
Good error recovery is still hard though, even with Lisp's simple syntax.
Return to the
Search the comp.compilers archives again.