Re: A minimal LL(1) parser generator ?

carlglassberg@gmail.com
Sun, 29 Dec 2019 14:47:11 -0800 (PST)

          From comp.compilers

Related articles
A minimal LL(1) parser generator ? borucki.andrzej@gmail.com (Andy) (2019-12-21)
Re: A minimal LL(1) parser generator ? arnold@skeeve.com (2019-12-22)
Re: A minimal LL(1) parser generator ? anton@mips.complang.tuwien.ac.at (2019-12-26)
Re: A minimal LL(1) parser generator ? carlglassberg@gmail.com (2019-12-29)
Re: A minimal LL(1) parser generator ? gaztoast@gmail.com (2019-12-31)
Re: A minimal LL(1) parser generator ? anton@mips.complang.tuwien.ac.at (2019-12-31)
Re: A minimal LL(1) parser generator ? carlglassberg@gmail.com (2020-01-01)
Re: A minimal LL(1) parser generator ? gaztoast@gmail.com (honey crisis) (2020-01-02)
Re: A minimal LL(1) parser generator ? anton@mips.complang.tuwien.ac.at (2020-01-02)
Re: A minimal LL(1) parser generator ? gneuner2@comcast.net (George Neuner) (2020-01-02)
[10 later articles]
| List of all articles for this month |
From: carlglassberg@gmail.com
Newsgroups: comp.compilers
Date: Sun, 29 Dec 2019 14:47:11 -0800 (PST)
Organization: Compilers Central
References: 19-12-016 19-12-030
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="7435"; mail-complaints-to="abuse@iecc.com"
Keywords: LL(1), parse
Posted-Date: 30 Dec 2019 11:29:38 EST
In-Reply-To: 19-12-030

Lightweight and interesting, this Gray parser-generator.


Example:


Gray's meta notation uses a postix operator "&&" for "separator list".


"&&" seems particularly elegant and interesting:


If Gray: "a b &&" ---> EBNF: "a { b a }"


then I assume:


"a b && c &&" ---> "a { b a } { c a }"


and so on ...


Further "a b && b && ..." ===> "a b &&"


??? Is my understanding correct?


Carl
----


On Thursday, December 26, 2019 at 9:12:41 AM UTC-8, Anton Ertl wrote:
> Andy <borucki.andrzej@gmail.com> writes:
> >ANTLR has even LL(*) but is too complicated. I am searching maximal
> >simple and elegant generator which generates function call like
> >written by hand.
>
> Sounds like you want a generator that generates a recursive-descent
> parser. A while ago I compared a number of parser generators
> [ertl99ef], and among those that generate recursive-descent parsers
> the shortest one by far was Gray
> <http://www.complang.tuwien.ac.at/forth/Gray5.zip>. Whether you
> consider it simple and elegant is for you to decide.
>
> @InProceedings{ertl99ef,
> author = {M. Anton Ertl},
> title = {Is {Forth} Code Compact? {A} Case Study},
> booktitle = {EuroForth'99 Conference Proceedings},
> year = {1999},
> address = {St. Petersburg, Russia},
> url = {http://www.complang.tuwien.ac.at/papers/ertl99ef.ps.gz},


Post a followup to this message

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