Re: (E)BNF Grammar to XML for LALR(1) parse table?

"Paul B Mann" <paul@paulbmann.com>
Fri, 15 Feb 2008 21:05:41 -0500 (EST)

          From comp.compilers

Related articles
(E)BNF Grammar to XML for LALR(1) parse table? Cox.Jason@gmail.com (2008-01-14)
Re: (E)BNF Grammar to XML for LALR(1) parse table? Cox.Jason@gmail.com (2008-01-15)
Re: (E)BNF Grammar to XML for LALR(1) parse table? englere_geo@yahoo.com (Eric) (2008-01-15)
Re: (E)BNF Grammar to XML for LALR(1) parse table? paul@paulbmann.com (Paul B Mann) (2008-02-15)
Re: (E)BNF Grammar to XML for LALR(1) parse table? scooter.phd@gmail.com (scooter.phd@gmail.com) (2008-02-17)
| List of all articles for this month |

From: "Paul B Mann" <paul@paulbmann.com>
Newsgroups: comp.compilers
Date: Fri, 15 Feb 2008 21:05:41 -0500 (EST)
Organization: Compilers Central
References: 08-01-042
Keywords: parse, tools
Posted-Date: 15 Feb 2008 21:05:41 EST

> I have created a grammar for a little calculator language my company
> created. We work exclusively in C# and I am having a difficult
> time finding tools to generate a business-class, maintainable lexer
> and parser.
>
> * Efficiency is paramount as this will be iterated over many times.
> * The code must be readable/maintainable.
>
> In this light, are there any tools which will examine a
> grammar and spit out the parse table in XML so I can generate code
> based on that?


Why do you want the parser tables in XML? Parser tables don't usually
get generated in XML.


Why do you want to hand code the parser tables, when they are usually
generated automatically?


I know of one tool that can generate very fast parsers and lexers in
C++ from a BNF grammar and it's possible to re-write the parser
skeleton and have the parser tables generated in C#.


It's called LRGen 8.3 at http://lrgen.com


Wikipedia has a long list of parser generators here:
http://en.wikipedia.org/wiki/List_of_parser_generators




Paul B Mann


Post a followup to this message

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