BSD Ports

devel/py-parsley 1.3_1 DragonFly

Parsing and pattern matching made easy

System
DragonFly
Repository
DPorts
Maintainer
[email protected] (as in FreeBSD)
License
MIT
Categories
devel, python
Package size
189.0 KiB, 2158.7 KiB installed

Description

Parsley is a parsing library for people who find parsers scary or annoying. I wrote it because I wanted to parse a programming language, and tools like PLY or ANTLR or Bison were very hard to understand and integrate into my Python code. Most parser generators are based on LL or LR parsing algorithms that compile to big state machine tables. It was like I had to wake up a different section of my brain to understand or work on grammar rules.

Parsley, like pyparsing and ZestyParser, uses the PEG algorithm, so each expression in the grammar rules works like a Python expression. In particular, alternatives are evaluated in order, unlike table-driven parsers such as yacc, bison or PLY.

Parsley is an implementation of OMeta, an object-oriented pattern-matching language developed by Alessandro Warth.

In the other systems

The newest version among them is 1.3, as upstream numbers it.

SystemPortVersionVulnerabilitiesStatusMaintainerLast update
DragonFlydevel/py-parsley1.3_1 newestnone known-[email protected]-
FreeBSDdevel/py-parsley1.3_1 newestnone known-[email protected]-
HardenedBSDdevel/py-parsley1.3_1 newestno data-[email protected]-
GhostBSDdevel/py-parsley1.3_1 newestno data-[email protected]-

Install

Binary package:

pkg install py311-parsley

From DPorts:

cd /usr/dports/devel/py-parsley && make install clean

Dependency graph

Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.

Dependencies

Run dependencies 1
Required by 1