No description
Find a file
2021-05-26 10:49:06 -06:00
doc Added a rudimentare manpage 2018-10-15 12:58:00 +02:00
examples more Py3 fixes 2014-05-07 05:47:38 +02:00
test Initial version in git 2009-09-09 13:52:11 -07:00
yapps fix: uncorrect reference to Sequence 2020-06-12 15:19:54 +02:00
.gitignore Add a test script and a YML file for travis-CI 2014-05-07 05:51:04 +02:00
.travis.yml travis python versions update 2018-10-15 12:56:59 +02:00
ChangeLog Initial version in git 2009-09-09 13:52:11 -07:00
LICENSE Initial version in git 2009-09-09 13:52:11 -07:00
NOTES Initial version in git 2009-09-09 13:52:11 -07:00
README.md README: minor correction 2013-01-19 10:44:25 +06:00
setup.py Change version to 2.2.0 (semantic versioning) 2014-05-16 10:11:23 +02:00
test.sh Add a test script and a YML file for travis-CI 2014-05-07 05:51:04 +02:00
yapps2 Mostly packaging changes 2013-01-19 09:49:40 +06:00

YAPPS: Yet Another Python Parser System

For the most complete and excellent documentation (e.g. manual with examples) and info, please see original project website: http://theory.stanford.edu/~amitp/yapps/

YAPPS is an easy to use parser generator that is written in Python and generates Python code. There are several parser generator systems already available for Python, but this parser has different goals: Yapps is simple, very easy to use, and produces human-readable parsers.

It is not the fastest or most powerful parser. Yapps is designed to be used when regular expressions are not enough and other parser systems are too much: situations where you might otherwise write your own recursive descent parser.

This fork contains several upward-compatible enhancements to the original YAPPS source, originally included in debian package:

  • Handle stacked input ("include files").
  • Augmented ignore-able patterns (can parse multi-line C comments correctly).
  • Better error reporting.
  • Read input incrementally.

Installation

It's a regular package for Python 2.7 (not 3.X, but there are links to 3.X patches listed on the original author website), but not in pypi, so can be installed from a checkout with something like that:

% python setup.py install

Better way would be to use pip to install all the necessary dependencies as well:

% pip install 'git+https://github.com/mk-fg/yapps.git#egg=yapps'

Note that to install stuff in system-wide PATH and site-packages, elevated privileges are often required. Use "install --user", ~/.pydistutils.cfg or virtualenv to do unprivileged installs into custom paths.

Alternatively, ./yapps2 can be run right from the checkout tree, without any installation.

No extra package dependencies.