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.

Source Distribution

parcon-0.1.8.tar.gz (28.9 kB view details)

Uploaded Source

File details

Details for the file parcon-0.1.8.tar.gz.

File metadata

  • Download URL: parcon-0.1.8.tar.gz
  • Upload date:
  • Size: 28.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for parcon-0.1.8.tar.gz
Algorithm Hash digest
SHA256 53f9e5b013bfca8d4991c663fdaee11562ed8aec83ca67852969673cf96e3ee1
MD5 0738f6b795df0b11e5a6a820bbc951db
BLAKE2b-256 891a287f998572d908b13811c9d7537cd58f6846c0bfa9a8492b751febbb284b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page