Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!nerds-end From: Paul B Mann Newsgroups: comp.compilers Subject: LRSTAR 3.0: LALR(k) parser generator & lexer generator for C++ Date: Tue, 7 Feb 2012 14:47:17 -0800 (PST) Organization: Compilers Central Lines: 35 Sender: johnl@iecc.com Approved: comp.compilers@iecc.com Message-ID: <12-02-004@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: leila.iecc.com 1328671431 18610 64.57.183.58 (8 Feb 2012 03:23:51 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Wed, 8 Feb 2012 03:23:51 +0000 (UTC) Keywords: parse, LALR, C++, tools Posted-Date: 07 Feb 2012 22:23:51 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: x330-a1.tempe.blueboxinc.net comp.compilers:444 LRSTAR is a fast LALR(k) parser generator for C/C++ programmers, that builds very fast compilers and language processors by using compressed-matrix parser tables. Creates compiler front-ends that read source code at 1,000,000 lines per second. LRSTAR reads the powerful TBNF grammar notation which facilitates building an AST automatically and other advanced functionality. Solves the "typedef" problem in C grammars. The compiler front-end source code is in C++, however, a user may re- write the skeleton file in another language, such as C, C#, Java, and then generate code in that language. Contains Microsoft Visual Studio C/C++ work spaces. DFASTAR and DFAC lexer generators are included in the downloads. These generate very fast DFA lexical analyzers which read 30,000,000 tokens per second -- twice the speed of Flex. LRSTAR is "open source" now, BSD license. A windows version is available at: http://compilerware.com (the website) and https://sourceforge.net/projects/lrstar/ No one has ported it to Unix or Linux yet. It may be 99% portable. It was written with Microsoft Visual Studio 2008 C++, however, I try to make my code portable. To accomplish LALR(k) it uses nondeterminism only for those states that are not LALR(1), so it's mostly LALR(1) and the parsers are small and fast. Comments are welcome and appreciated. Paul B Mann