Skip to main content

A parser combinator library (and soon-to-be formatter combinator library as well) that's easy to use and that provides informative error messages.

Project description

Parcon is a parser combinator library. It can be used for parsing both normal text and binary data. It’s designed to be easy to use and to provide informative error messages.

All of the classes, and most of the functions, in Parcon are comprehensively documented. The best place to look for help is in Parcon’s module documentation.

Here’s an example of a simple expression evaluator written using Parcon:

from parcon import * from decimal import Decimal import operator expr = Forward() number = (+Digit() + -(SignificantLiteral(“.”) + +Digit()))[flatten][“”.join][Decimal] term = number | “(” + expr + “)” term = InfixExpr(term, [(“*”, operator.mul), (“/”, operator.truediv)]) term = InfixExpr(term, [(“+”, operator.add), (“-“, operator.sub)]) expr << term

This expression evaluator can be used thus:

print expr.parseString(“1+2”) # prints 3 print expr.parseString(“1+2+3”) # prints 6 print expr.parseString(“1+2+3+4”) # prints 10 print expr.parseString(“3*4”) # prints 12 print expr.parseString(“5+3*4”) # prints 17 print expr.parseString(“(5+3)*4”) # prints 32 print expr.parseString(“10/4”) # prints 2.5

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for parcon, version 0.1.8
Filename, size File type Python version Upload date Hashes
Filename, size parcon-0.1.8.tar.gz (28.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page