type: CreationInfo
spec version: 3.0.1
created by: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/SPDXRef-gnrtd2
created using: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/additionalToolSPDXRef-gnrtd3
created: 2026-07-04T06:27:27Z

type: CreationInfo
spec version: 3.0.1
created by: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/SPDXRef-gnrtd0
created using: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/additionalToolSPDXRef-gnrtd1
created: 2026-07-04T06:27:27Z

spdx id: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/SPDXRef-gnrtd24250
type: Relationship
relationship type: hasDeclaredLicense
to: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/SPDXRef-gnrtd15
from: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/SPDXRef-gnrtd24247
creation info: _:creationInfo_0

spdx id: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/SPDXRef-gnrtd24248
type: Relationship
relationship type: hasConcludedLicense
to: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/SPDXRef-gnrtd15
from: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/SPDXRef-gnrtd24247
creation info: _:creationInfo_0

spdx id: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/SPDXRef-gnrtd15
type: simplelicensing_LicenseExpression
simplelicensing license expression: MIT
creation info: _:creationInfo_0

spdx id: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/SPDXRef-gnrtd24249
type: Organization
name: http://openeuler.org
creation info: _:creationInfo_0

spdx id: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/SPDXRef-gnrtd24247
type: software_Package
supplied by: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/SPDXRef-gnrtd24249
software download location: NOASSERTION
summary: Recursive descent parsing library based on functional combinators
software package version: 0:1.0.1-1.oe2403sp4
software home page: https://github.com/vlasovskikh/funcparserlib
description: *Parser combinators* are just higher-order functions that take parsers as their arguments and return them as result values. Parser combinators are: * First-class values * Extremely composable * Tend to make the code quite compact * Resemble the readable notation of xBNF grammars Parsers made with ``funcparserlib`` are pure-Python LL(*) parsers. It means that it's very easy to write them without thinking about look-aheads and all that hardcore parsing stuff. But the recursive descent parsing is a rather slow method compared to LL(k) or LR(k) algorithms. So the primary domain for ``funcparserlib`` is **parsing little languages** or **external DSLs** (domain specific languages). The library itself is very small. Its source code is only 0.5 KLOC, with lots of comments included. It features the longest parsed prefix error reporting, as well as a tiny lexer generator for token position tracking.
name: python3-funcparserlib
software source info: acquired package info from repodata DB: repodata/f0b2606f1dc0294014b17bb8ea9231f0129611b4c9610b9db40f82da2b1f63da-primary.sqlite.bz2
creation info: _:creationInfo_0

spdx id: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/additionalToolSPDXRef-gnrtd1
type: Tool
name: syft-[not provided]
creation info: _:creationInfo_0

spdx id: https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/aarch64-a81892d8-2d31-4c01-871d-ea68d5d8a00c-specv3/additionalToolSPDXRef-gnrtd3
type: Tool
name: syft-[not provided]
creation info: _:creationInfo_1