Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #2424
| From | George Neuner <gneuner2@comcast.net> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: A minimal LL(1) parser generator ? |
| Date | 2020-01-02 13:16 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <20-01-004@comp.compilers> (permalink) |
| References | <19-12-016@comp.compilers> |
A little late to the discussion, but ... On Sat, 21 Dec 2019 19:07:55 -0800 (PST), Andy <borucki.andrzej@gmail.com> wrote: >ANTLR has even LL(*) but is too complicated. I am searching maximal >simple and elegant generator which generates function call like >written by hand. There are a number of decent tools that will generate recursive descent code, but you won't find any that will produce code as tight as custom hand written. You neglected to mention what programming language you want to target. However: PCCTS is the ancestor of ANTLR. It is LL(k) for configurable k. It produces C or C++ code for the parser. You need to supply a lexer separately. Coco/R is LL(k). There are versions available for several languages, including C, C++, Java, Delphi, VB, etc. Like ANTLR, Coco/R also can generate a lexer. In my experience, PCCTS produces tighter code than ANTLR. As long as you don't need the flexibility of LL(*) - or need a lexer generated, or to target a language other than C or C++ - then PCCTS may be the better choice. If you need one stop shopping for RD coded parsers and lexers, then you do need something like ANTLR or Coco/R which can do both. >Temporary goal: must be very simple, because this will not parse >program/document, just only strings with my definitions of (augmented) >regular expressions. I can write it by hand, but generator minimizes >possibility making mistake and systemztize work. If you are working with individual strings rather than a multi-string "document", then perhaps you really only want a lexer generator. Perhaps something like RE2C which takes regex patterns and generates code (in C) to recognize them. The recognizers are FA, but the code is generated inline in the function that needs it. Or boost::spirit, perhaps in combination with boost::regex (or std::regex in C++11 or later). Spirit has a fairly steep learning curve also, but it has the advantage that it requires only the C++ compiler and does not need a separate tool. Hope this helps, George
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar
A minimal LL(1) parser generator ? Andy <borucki.andrzej@gmail.com> - 2019-12-21 19:07 -0800
Re: A minimal LL(1) parser generator ? arnold@skeeve.com (Aharon Robbins) - 2019-12-22 19:29 +0000
Re: A minimal LL(1) parser generator ? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2019-12-26 16:21 +0000
Re: A minimal LL(1) parser generator ? carlglassberg@gmail.com - 2019-12-29 14:47 -0800
Re: A minimal LL(1) parser generator ? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2019-12-31 16:30 +0000
Re: A minimal LL(1) parser generator ? carlglassberg@gmail.com - 2020-01-01 01:02 -0800
Re: A minimal LL(1) parser generator ? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2020-01-02 17:25 +0000
Re: A minimal LL(1) parser generator ? carlglassberg@gmail.com - 2020-01-05 11:59 -0800
Re: A minimal LL(1) parser generator ? carlglassberg@gmail.com - 2020-01-05 13:59 -0800
Re: A minimal LL(1) parser generator ? carlglassberg@gmail.com - 2020-01-05 14:44 -0800
Re: A minimal LL(1) parser generator ? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2020-01-22 17:12 +0000
Re: A minimal LL(1) parser generator ? carlglassberg@gmail.com - 2020-01-23 02:41 -0800
Re: A minimal LL(1) parser generator ? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2020-01-25 18:25 +0000
Re: A minimal LL(1) parser generator ? gaztoast@gmail.com - 2019-12-31 07:10 -0800
Re: A minimal LL(1) parser generator ? honey crisis <gaztoast@gmail.com> - 2020-01-02 08:50 -0800
Re: A minimal LL(1) parser generator ? George Neuner <gneuner2@comcast.net> - 2020-01-02 13:16 -0500
Re: A minimal LL(1) parser generator ? rockbrentwood@gmail.com - 2020-01-04 10:37 -0800
Re: A minimal LL(1) parser generator ? honey crisis <gaztoast@gmail.com> - 2020-01-05 05:05 -0800
Branched gotos was: Re: A minimal LL(1) parser generator ? Christopher F Clark <christopher.f.clark@compiler-resources.com> - 2020-01-06 08:47 +0200
Re: Branched gotos was: Re: A minimal LL(1) parser generator ? Ben Hanson <jamin.hanson@googlemail.com> - 2020-01-07 11:32 -0800
Re: A minimal LL(1) parser generator ? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2020-01-22 17:08 +0000
Re: A minimal LL(1) parser generator ? "Fred J. Scipione" <FredJScipione@alum.RPI.edu> - 2020-01-25 15:27 -0500
csiph-web