42 lines
1.4 KiB
Nix
42 lines
1.4 KiB
Nix
|
{ lib
|
||
|
, buildPythonPackage
|
||
|
, fetchPypi
|
||
|
, python
|
||
|
}:
|
||
|
|
||
|
buildPythonPackage rec {
|
||
|
pname = "ply";
|
||
|
version = "3.8";
|
||
|
|
||
|
src = fetchPypi {
|
||
|
inherit pname version;
|
||
|
sha256 = "e7d1bdff026beb159c9942f7a17e102c375638d9478a7ecd4cc0c76afd8de0b8";
|
||
|
};
|
||
|
|
||
|
checkPhase = ''
|
||
|
${python.interpreter} test/testlex.py
|
||
|
${python.interpreter} test/testyacc.py
|
||
|
'';
|
||
|
|
||
|
# Test suite appears broken
|
||
|
doCheck = false;
|
||
|
|
||
|
meta = {
|
||
|
homepage = http://www.dabeaz.com/ply/;
|
||
|
description = "PLY (Python Lex-Yacc), an implementation of the lex and yacc parsing tools for Python";
|
||
|
longDescription = ''
|
||
|
PLY is an implementation of lex and yacc parsing tools for Python.
|
||
|
In a nutshell, PLY is nothing more than a straightforward lex/yacc
|
||
|
implementation. Here is a list of its essential features: It's
|
||
|
implemented entirely in Python; It uses LR-parsing which is
|
||
|
reasonably efficient and well suited for larger grammars; PLY
|
||
|
provides most of the standard lex/yacc features including support for
|
||
|
empty productions, precedence rules, error recovery, and support for
|
||
|
ambiguous grammars; PLY is straightforward to use and provides very
|
||
|
extensive error checking; PLY doesn't try to do anything more or less
|
||
|
than provide the basic lex/yacc functionality. In other words, it's
|
||
|
not a large parsing framework or a component of some larger system.
|
||
|
'';
|
||
|
license = lib.licenses.bsd3;
|
||
|
};
|
||
|
}
|