[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#201568: ITP: yapps2 -- A Recursive Descent Parser Generator for Python



Package: wnpp
Version: unavailable; reported 2003-07-16
Severity: wishlist

* Package name    : yapps2
  Version         : 2.0.3
  Upstream Author : Amit Patel <amitp@theory.stanford.edu>
* URL             : http://theory.stanford.edu/~amitp/Yapps/
* License         : BSD
  Description     : A Recursive Descent Parser Generator for Python

[ Note: I intend to edit this description prior to uploading the
package.  The text below comes largely from the Yapps website.  Please refrain
from flamage at this stage. ]

Yapps (Yet Another Python Parser System) is an easy to use parser generator
that is written in Python and generates Python code.  Although there are
several parser generators already available for Python (most of them
lex/yacc clones), the Yapps project has different goals.  Yapps is designed
to be used when regular expressions are not enough and other parser systems
are too much: situations where you may write your own recursive descent
parser.
.
Some unusual features of Yapps that may be of interest are: 
.
1. Yapps produces human-readable recursive descent parsers. There are several
heuristics used to keep the generated code simple.
.
2. Yapps produces context-sensitive scanners that pick tokens based on the type
of tokens accepted by the parser. In some situations, token matching is
ambiguous unless the context is taken into account. 
.
3. Yapps rules can pass arguments down to subrules, so subrules can use
information (such as declarations) that was parsed at higher levels in the
parsing process. These are sometimes called attribute grammars. 
.
This package is named yapps2 because it is incompatible with Yapps 1.  Yapps
2.0 introduced new-style Python regular expressions, much tighter embedded
code and iterative parsing, optional matching, etc.

-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux wile 2.4.20 #2 Mon Jun 9 14:29:13 CDT 2003 i686
Locale: LANG=C, LC_CTYPE=en_US




Reply to: