# # spec file for package python-spark_parser # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %bcond_without test Name: python-spark_parser Version: 1.6.1 Release: 0 License: MIT Summary: An Earley-Algorithm Context-free grammar Parser Toolkit Url: https://github.com/rocky/python-spark/ Group: Development/Languages/Python Source: https://files.pythonhosted.org/packages/source/s/spark_parser/spark_parser-%{version}.tar.gz BuildRequires: fdupes BuildRequires: python-rpm-macros BuildRequires: %{python_module devel} BuildRequires: %{python_module setuptools} %if %{with test} BuildRequires: %{python_module click} BuildRequires: %{python_module nose >= 1.0} %endif Requires: python-click BuildArch: noarch %python_subpackages %description SPARK stands for Scanning, Parsing, and Rewriting Kit. It uses Jay Earley's algorithm for parsing context free grammars, and comes with some generic Abstract Syntax Tree routines. There is also a prototype scanner which does its job by combining Python regular expressions. The original version of this was written by John Aycock for his Ph.d thesis and was described in his 1998 paper: "Compiling Little Languages in Python" at the 7th International Python Conference. The current incarnation of this code is maintained (or not) by Rocky Bernstein. Please Note: Earley algorithm parsers are almost linear when given an LR grammar. These are grammars which are left-recursive. %prep %setup -q -n spark_parser-%{version} %build %python_build %install %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %if %{with test} %check %python_exec setup.py test %endif %files %{python_files} %defattr(-,root,root,-) %doc ChangeLog LICENSE README.rst %python3_only %{_bindir}/spark-parser-coverage %{python_sitelib}/* %changelog