Re: LL(1) BNF validator wanted

anton@mips.complang.tuwien.ac.at (Anton Ertl)
Wed, 2 Feb 1994 09:48:42 GMT

          From comp.compilers

Related articles
LL(1) BNF validator wanted emp@xgml.com (1994-01-31)
Re: LL(1) BNF validator wanted mw@ipx2.rz.uni-mannheim.de (1994-01-31)
Re: LL(1) BNF validator wanted Michael.Bergman@eua.ericsson.se (1994-02-01)
Re: LL(1) BNF validator wanted parag@netcom.com (1994-02-01)
Re: LL(1) BNF validator wanted anton@mips.complang.tuwien.ac.at (1994-02-02)
Re: LL(1) BNF validator wanted gary@intrepid.com (1994-02-02)
Re: LL(1) BNF validator wanted dave@cs.arizona.edu (1994-02-02)
Re: LL(1) BNF validator wanted parrt@s1.arc.umn.edu (Terence Parr) (1994-02-04)
Re: LL(1) BNF validator wanted adrian@dcs.rhbnc.ac.uk (1994-02-06)
| List of all articles for this month |

Newsgroups: comp.compilers
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Keywords: LL(1), tools
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
References: 94-01-135 94-02-008
Date: Wed, 2 Feb 1994 09:48:42 GMT

Michael.Bergman@eua.ericsson.se (Michael Bergman) writes:
|> There was a lot of discussions about LL, LALR and language theory in this
|> group about a year ago. I followed everything closely and the conclusion
|> was that it is not possible to *decide* whether an unambiguous CFG is
|> LL(k).


You may be confusing languages and grammars. It is certainly possible to
decide whether a grammar is LL(k), and every decent LL(k) parser generator
will check it and warn the user if the grammar is not LL(k).


As far as I remember, there was a discussion about the problem of
transforming an arbitrary CFG into an LL(k) grammar. For this it would be
necessary to decide whether the *language* described by the CFG was LL(k)
(in other words, whether there was an LL(k)-grammar for the language at
all). This problem may be undecidable, but I don't remember the discussion
that well.


- anton
--
M. Anton Ertl anton@mips.complang.tuwien.ac.at
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.