Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified)) by mollari.NetBSD.org (Postfix) with ESMTPS id EFE4D1A9217 for ; Tue, 19 Jan 2021 21:05:24 +0000 (UTC) Received: by mail.netbsd.org (Postfix, from userid 605) id 4861A84D43; Tue, 19 Jan 2021 21:05:24 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 1B48184D26 for ; Tue, 19 Jan 2021 21:05:23 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.netbsd.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id GeI_sZtHYddV for ; Tue, 19 Jan 2021 21:05:22 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.netbsd.org [199.233.217.197]) by mail.netbsd.org (Postfix) with ESMTP id 3C8E284C71 for ; Tue, 19 Jan 2021 21:05:22 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id 35CB5FA9D; Tue, 19 Jan 2021 21:05:22 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_16110903222800" MIME-Version: 1.0 Date: Tue, 19 Jan 2021 21:05:22 +0000 From: "Adam Ciarcinski" Subject: CVS commit: pkgsrc/devel/py-ply To: pkgsrc-changes@NetBSD.org Reply-To: adam@netbsd.org X-Mailer: log_accum Message-Id: <20210119210522.35CB5FA9D@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_16110903222800 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: adam Date: Tue Jan 19 21:05:22 UTC 2021 Modified Files: pkgsrc/devel/py-ply: DESCR Makefile distinfo Log Message: py-ply: updated to 3.11 Version 3.11 ------------ Fixed some minor bugs related to re flags and token order. Added a set_lexpos() method to grammar symbols. Mostly minor bug fixes and small code cleanups. Version 3.10 ------------ Changed grammar signature computation to not involve hashing functions. Parts are just combined into a big string. Fixed Issue 101: Incorrect shift-reduce conflict resolution with precedence specifier. PLY was incorrectly resolving shift-reduce conflicts in certain cases. For example, in the example/calc/calc.py example, you could trigger it doing this: calc > -3 - 4 1 (correct answer should be -7) calc > Issue and suggested patch contributed by https://github.com/RomaVis Version 3.9 ----------- Exposed the parser state number as the parser.state attribute in productions and error functions. For example: def p_somerule(p): ''' rule : A B C ''' print('State:', p.parser.state) May address issue 65 (publish current state in error callback). Fixed Issue 88. Python3 compatibility with ply/cpp. Fixed Issue 93. Ply can crash if SyntaxError is raised inside a production. Not actually sure if the original implementation worked as documented at all. Yacc has been modified to follow the spec as outlined in the CHANGES noted for 11/27/07 below. Fixed Issue 97. Failure with code validation when the original source files aren't present. Validation step now ignores the missing file. Minor fixes to version numbers. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 pkgsrc/devel/py-ply/DESCR \ pkgsrc/devel/py-ply/Makefile pkgsrc/devel/py-ply/distinfo Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_16110903222800 Content-Disposition: inline Content-Length: 4810 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/devel/py-ply/DESCR diff -u pkgsrc/devel/py-ply/DESCR:1.1 pkgsrc/devel/py-ply/DESCR:1.2 --- pkgsrc/devel/py-ply/DESCR:1.1 Wed Dec 2 18:22:10 2015 +++ pkgsrc/devel/py-ply/DESCR Tue Jan 19 21:05:22 2021 @@ -1,30 +1,10 @@ -PLY is a 100% Python implementation of the common parsing tools lex and yacc. -Here are a few highlights: +PLY is yet another implementation of lex and yacc for Python. Some notable +features include the fact that its implemented entirely in Python and it uses +LALR(1) parsing which is 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 very closely modeled after traditional lex/yacc. If you know how to - use these tools in C, you will find PLY to be similar. - - - PLY provides *very* extensive error reporting and diagnostic information to - assist in parser construction. The original implementation was developed - for instructional purposes. As a result, the system tries to identify the - most common types of errors made by novice users. - - - PLY provides full support for empty productions, error recovery, precedence - specifiers, and moderately ambiguous grammars. - - - Parsing is based on LR-parsing which is fast, memory efficient, better - suited to large grammars, and which has a number of nice properties when - dealing with syntax errors and other parsing problems. Currently, PLY builds - its parsing tables using the LALR(1) algorithm used in yacc. - - - PLY uses Python introspection features to build lexers and parsers. This - greatly simplifies the task of parser construction since it reduces the - number of files and eliminates the need to run a separate lex/yacc tool - before running your program. - - - PLY can be used to build parsers for "real" programming languages. Although - it is not ultra-fast due to its Python implementation, PLY can be used to - parse grammars consisting of several hundred rules (as might be found for a - language like C). The lexer and LR parser are also reasonably efficient - when parsing typically sized programs. People have used PLY to build - parsers for C, C++, ADA, and other real programming languages. +PLY is extremely easy to use and provides very extensive error checking. It is +compatible with both Python 2 and Python 3. Index: pkgsrc/devel/py-ply/Makefile diff -u pkgsrc/devel/py-ply/Makefile:1.1 pkgsrc/devel/py-ply/Makefile:1.2 --- pkgsrc/devel/py-ply/Makefile:1.1 Wed Dec 2 18:22:10 2015 +++ pkgsrc/devel/py-ply/Makefile Tue Jan 19 21:05:22 2021 @@ -1,21 +1,21 @@ -# $NetBSD: Makefile,v 1.1 2015/12/02 18:22:10 drochner Exp $ -# +# $NetBSD: Makefile,v 1.2 2021/01/19 21:05:22 adam Exp $ -PYMODULENAME= ply -PYMODULEVER= 3.8 -DISTNAME= ${PYMODULENAME}-${PYMODULEVER} -PKGNAME= ${PYPKGPREFIX}-${DISTNAME} -CATEGORIES= devel -MASTER_SITES= http://www.dabeaz.com/ply/ +DISTNAME= ply-3.11 +PKGNAME= ${PYPKGPREFIX}-${DISTNAME} +CATEGORIES= devel python +MASTER_SITES= ${MASTER_SITE_PYPI:=p/ply/} -MAINTAINER= ura@jp.NetBSD.org -HOMEPAGE= http://www.dabeaz.com/ply/ -COMMENT= Lex an yacc parsing tools for Python -LICENSE= gnu-lgpl-v2.1 +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://www.dabeaz.com/ply/ +COMMENT= Lex an yacc parsing tools for Python +LICENSE= modified-bsd + +USE_LANGUAGES= # none do-test: - cd ${WRKSRC}/test; \ - ${SETENV} PYTHONPATH=${WRKSRC} ${PYTHONBIN} testlex.py; \ + cd ${WRKSRC}/test && \ + ${SETENV} PYTHONPATH=${WRKSRC} ${PYTHONBIN} testlex.py + cd ${WRKSRC}/test && \ ${SETENV} PYTHONPATH=${WRKSRC} ${PYTHONBIN} testyacc.py .include "../../lang/python/egg.mk" Index: pkgsrc/devel/py-ply/distinfo diff -u pkgsrc/devel/py-ply/distinfo:1.1 pkgsrc/devel/py-ply/distinfo:1.2 --- pkgsrc/devel/py-ply/distinfo:1.1 Wed Dec 2 18:22:10 2015 +++ pkgsrc/devel/py-ply/distinfo Tue Jan 19 21:05:22 2021 @@ -1,6 +1,6 @@ -$NetBSD: distinfo,v 1.1 2015/12/02 18:22:10 drochner Exp $ +$NetBSD: distinfo,v 1.2 2021/01/19 21:05:22 adam Exp $ -SHA1 (ply-3.8.tar.gz) = 7f3f8504fd394e4f210857a59644d21b3b90f830 -RMD160 (ply-3.8.tar.gz) = 028af8e860568c10f55321c830cbe8343aaa7012 -SHA512 (ply-3.8.tar.gz) = 2c8cf0ee49ca6dec9ec8d5146e98885e871c26125fb5764988fbefae984ee94b4240f265762aaab26d6ec24989b35a4fd6905c3c0d14aac8a085e89b7d6159ef -Size (ply-3.8.tar.gz) = 157286 bytes +SHA1 (ply-3.11.tar.gz) = 10a555a32095991fbc7f7ed10c677a14e21fad1d +RMD160 (ply-3.11.tar.gz) = d0039bbbf095aeb7ed82fc2fab4b4699e8406d50 +SHA512 (ply-3.11.tar.gz) = 37e39a4f930874933223be58a3da7f259e155b75135f1edd47069b3b40e5e96af883ebf1c8a1bbd32f914a9e92cfc12e29fec05cf61b518f46c1d37421b20008 +Size (ply-3.11.tar.gz) = 159130 bytes --_----------=_16110903222800--