Skip to main content

A lightweight parsing library.

Project description

parspy

A tool to parse text into a list where it can be interpreted and executed.

Install

Install using pip install parspy.

Usage

First, import and initiate the class:

import re
import parspy
parsertool = parspy.Parser()

Then, add elements to the alphabet:

parsertool.addelems("ad", "bc", " ")

If you have things more complicated than static elements, use the setregelems method by feeding it compiled regex objects:

parsertool.setregelems(number = re.compile("Number: \d+"), string = re.compile("String: '.*'"))

But what use is this without using it to parse something? None. Here is how you parse a string with this:

parsertool.parse("adbcbcbcad  Number: 123      String: 'banana!'")

The output should be:

['ad', 'bc', 'bc', 'bc', 'ad', ' ', ' ', {'number':'Number: 123'}, ' ', ' ', ' ', ' ', ' ', ' ', {'string':"String: 'banana!'"}]

Now you can pass this into a program where it can be processed more easily.

If something goes wrong during parsing, a ParseError will be thrown.

Notes

It seems to have an issue when executing in a REPL environment (name 're' is not defined).

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

parspy-0.0.1.1.tar.gz (3.3 kB view hashes)

Uploaded Source

Built Distribution

parspy-0.0.1.1-py3-none-any.whl (3.5 kB view hashes)

Uploaded Python 3

Supported by

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