Related articles |
---|
Full LR(1) parser generator Hyacc 0.9 release txchen@gmail.com (Tom) (2008-02-03) |
Re: Full LR(1) parser generator Hyacc 0.9 release haberg@math.su.se (Hans Aberg) (2008-02-05) |
Re: Full LR(1) parser generator Hyacc 0.9 release txchen@gmail.com (Thomas Chen) (2008-02-07) |
Re: Full LR(1) parser generator Hyacc 0.9 release DrDiettrich1@aol.com (Hans-Peter Diettrich) (2008-02-11) |
Re: Full LR(1) parser generator Hyacc 0.9 release haberg_20080207@math.su.se (Hans Aberg) (2008-02-11) |
Re: Full LR(1) parser generator Hyacc 0.9 release txchen@gmail.com (Thomas Chen) (2008-02-12) |
Re: Full LR(1) parser generator Hyacc 0.9 release haberg_20080207@math.su.se (Hans Aberg) (2008-02-13) |
[13 later articles] |
From: | Tom <txchen@gmail.com> |
Newsgroups: | comp.compilers |
Date: | Sun, 3 Feb 2008 20:40:08 -0800 (PST) |
Organization: | Compilers Central |
Keywords: | LR(1), available |
Posted-Date: | 04 Feb 2008 13:06:30 EST |
http://sourceforge.net/projects/hyacc/
http://hyacc.sourceforge.net/
This is the LR(1) counter-part of the LALR(1) parser generators like
Yacc and Bison.
Hyacc is an efficient and practical Yacc/Bison-compatible full LR(1)
parser generator in ANSI C based on the canonical LR(1) algorithm of
Knuth and the general practical method of Pager. Hyacc is GPL'd, but
the parser engine is based on BSD license. Generated parsers can be
used in open-source or commercial software.
Implementation of Pager's general practical method existed, like LR
(in Fortran 66, 1981), Menhir (in OCaml, 2004) and python parsing
module (in Python, 2007). But a popular open source implementation in
ANSI C seems not known.
Today LALR and LL parser generators exist widely and some of them are
quite popular. However since LR(1) is the most powerful parser
generation algorithm for context-free grammars, I hope this quite
efficient implimentation can be of use to people that wish to get the
most out of the LR(1) algorithm.
Future development on Hyacc will follow.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.