diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-11 04:31:00 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 04:31:00 +0000 |
commit | 4e983311e49ac0a3a88287c18b9d5fc6277b9035 (patch) | |
tree | 6fd0f2b22475c5efc791012556def9ad91007eff | |
parent | e66ccbf02f6139bb9ae3d0993e24c8abf006a5aa (diff) |
automatic import of python-lepl
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-lepl.spec | 147 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 149 insertions, 0 deletions
@@ -0,0 +1 @@ +/LEPL-5.1.3.tar.gz diff --git a/python-lepl.spec b/python-lepl.spec new file mode 100644 index 0000000..18dd190 --- /dev/null +++ b/python-lepl.spec @@ -0,0 +1,147 @@ +%global _empty_manifest_terminate_build 0 +Name: python-LEPL +Version: 5.1.3 +Release: 1 +Summary: A Parser Library for Python 2.6+/3+: Recursive Descent; Full Backtracking +License: UNKNOWN +URL: http://www.acooke.org/lepl/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/bb/89/5acd0982ca17258d13df855114364140712ac59ccdb835093c385ddc8dca/LEPL-5.1.3.tar.gz +BuildArch: noarch + + +%description +* **Parsers are Python code**, defined in Python itself. No separate + grammar is necessary. +* **Friendly syntax** using Python's operators allows grammars + to be defined in a declarative style close to BNF. +* Integrated, optional **lexer** simplifies handling whitespace. +* Built-in **AST support** with support for iteration, traversal and + re--writing. +* Generic, pure-Python approach supports parsing a wide variety of data + including **bytes** (Python 3+ only). +* **Well documented** and easy to extend. +* **Unlimited recursion depth**. The underlying algorithm is + recursive descent, which can exhaust the stack for complex grammars + and large data sets. LEPL avoids this problem by using Python + generators as coroutines (aka "trampolining"). +* **Parser rewriting**. The parser can itself be manipulated by + Python code. This gives unlimited opportunities for future + expansion and optimisation. +* Support for ambiguous grammars (**complete backtracking**). A + parser can return more than one result (aka **"parse forests"**). +* Parsers can be made more **efficient** with automatic memoisation ("packrat + parsing"). +* Memoisation can detect and control **left-recursive grammars**. Together + with LEPL's support for ambiguity this means that "any" grammar can be + supported. +* Trace and resource management, including **"deepest match" diagnostics** + and the ability to limit backtracking. + +%package -n python3-LEPL +Summary: A Parser Library for Python 2.6+/3+: Recursive Descent; Full Backtracking +Provides: python-LEPL +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-LEPL +* **Parsers are Python code**, defined in Python itself. No separate + grammar is necessary. +* **Friendly syntax** using Python's operators allows grammars + to be defined in a declarative style close to BNF. +* Integrated, optional **lexer** simplifies handling whitespace. +* Built-in **AST support** with support for iteration, traversal and + re--writing. +* Generic, pure-Python approach supports parsing a wide variety of data + including **bytes** (Python 3+ only). +* **Well documented** and easy to extend. +* **Unlimited recursion depth**. The underlying algorithm is + recursive descent, which can exhaust the stack for complex grammars + and large data sets. LEPL avoids this problem by using Python + generators as coroutines (aka "trampolining"). +* **Parser rewriting**. The parser can itself be manipulated by + Python code. This gives unlimited opportunities for future + expansion and optimisation. +* Support for ambiguous grammars (**complete backtracking**). A + parser can return more than one result (aka **"parse forests"**). +* Parsers can be made more **efficient** with automatic memoisation ("packrat + parsing"). +* Memoisation can detect and control **left-recursive grammars**. Together + with LEPL's support for ambiguity this means that "any" grammar can be + supported. +* Trace and resource management, including **"deepest match" diagnostics** + and the ability to limit backtracking. + +%package help +Summary: Development documents and examples for LEPL +Provides: python3-LEPL-doc +%description help +* **Parsers are Python code**, defined in Python itself. No separate + grammar is necessary. +* **Friendly syntax** using Python's operators allows grammars + to be defined in a declarative style close to BNF. +* Integrated, optional **lexer** simplifies handling whitespace. +* Built-in **AST support** with support for iteration, traversal and + re--writing. +* Generic, pure-Python approach supports parsing a wide variety of data + including **bytes** (Python 3+ only). +* **Well documented** and easy to extend. +* **Unlimited recursion depth**. The underlying algorithm is + recursive descent, which can exhaust the stack for complex grammars + and large data sets. LEPL avoids this problem by using Python + generators as coroutines (aka "trampolining"). +* **Parser rewriting**. The parser can itself be manipulated by + Python code. This gives unlimited opportunities for future + expansion and optimisation. +* Support for ambiguous grammars (**complete backtracking**). A + parser can return more than one result (aka **"parse forests"**). +* Parsers can be made more **efficient** with automatic memoisation ("packrat + parsing"). +* Memoisation can detect and control **left-recursive grammars**. Together + with LEPL's support for ambiguity this means that "any" grammar can be + supported. +* Trace and resource management, including **"deepest match" diagnostics** + and the ability to limit backtracking. + +%prep +%autosetup -n LEPL-5.1.3 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-LEPL -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 5.1.3-1 +- Package Spec generated @@ -0,0 +1 @@ +5f653984c57ad8efad828c5153660743 LEPL-5.1.3.tar.gz |