at master 1.5 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchPypi, 5 python, 6}: 7 8buildPythonPackage rec { 9 pname = "ply"; 10 version = "3.11"; 11 format = "setuptools"; 12 13 src = fetchPypi { 14 inherit pname version; 15 sha256 = "00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"; 16 }; 17 18 checkPhase = '' 19 ${python.interpreter} test/testlex.py 20 ${python.interpreter} test/testyacc.py 21 ''; 22 23 # Test suite appears broken 24 doCheck = false; 25 26 meta = { 27 homepage = "http://www.dabeaz.com/ply/"; 28 description = "PLY (Python Lex-Yacc), an implementation of the lex and yacc parsing tools for Python"; 29 longDescription = '' 30 PLY is an implementation of lex and yacc parsing tools for Python. 31 In a nutshell, PLY is nothing more than a straightforward lex/yacc 32 implementation. Here is a list of its essential features: It's 33 implemented entirely in Python; It uses LR-parsing which is 34 reasonably efficient and well suited for larger grammars; PLY 35 provides most of the standard lex/yacc features including support for 36 empty productions, precedence rules, error recovery, and support for 37 ambiguous grammars; PLY is straightforward to use and provides very 38 extensive error checking; PLY doesn't try to do anything more or less 39 than provide the basic lex/yacc functionality. In other words, it's 40 not a large parsing framework or a component of some larger system. 41 ''; 42 license = lib.licenses.bsd3; 43 }; 44}