A project that teaches you how to write your own JSON parser.
A Python module for building parsing expression grammars. Build recognizers combinatively, i.e., by plugging together discrete examples of things to look for. Very useful for command parsers.
A Python module for writing context-free grammar parsers. Implements Earley shared packed parse forests and look-ahead LR parsing. Has multiple lexers. Builds parse trees automatically. Pure Python. Can generate stand-alone parsers as well. Acts more like a traditional parser than a new-school parser.
Outputs Tree() objects, Token(<type>, 'text') objects.
Lingua Franca is our multilingual Natural Language Processing library. It allows Mycroft to both understand and respond with naturally expressed entities such as numbers, dates and times. Stand-alone Python module. Ready-to-use and currently has support for Danish, Dutch, English, French, German, Hungarian, Italian, Portuguese, Spanish, and Swedish. Heuristic parsing routines to extract numbers, dates, times, or durations from a spoken language transcription. Natural language formatters for numbers, dates, times and durations as well as utilities for working with lists in multiple languages. Can reformat figures so they can be better pronounced by a synthesizer. Extract information from text to use in figuring out what the user wants and grab the stuff needed to do it.
Construct is a powerful declarative and symmetrical parser and builder for binary data.
Instead of writing imperative code to parse a piece of data, you declaratively define a data structure that describes your data. As this data structure is not code, you can use it in one direction to parse data into Pythonic objects, and in the other direction, to build objects into binary data.
The library provides both simple, atomic constructs (such as integers of various sizes), as well as composite ones which allow you form hierarchical and sequential structures of increasing complexity. Construct features bit and byte granularity, easy debugging and testing, an easy-to-extend subclass system, and lots of primitive constructs to make your work easier.
A Python library for parsing HTML and XML easily.
A Python module which makes it easy to write software which creates and parses TCP/IP traffic.
jq is a command line JSON parser that implements JSONpath syntax for slicing, dicing, and querying arbitrary JSON documents. Perfect for when your favorite online JSONpath expression tester can't handle that two gigabyte JSON dump somebody just gave you to parse...
A framework written in python for writing a MUD or interactivefiction. Can run as a console app or with a simple GUI that uses tkInter. Even has a webapp. Has a re-implementation of LPC-MUD's soul.c parser. Seems to be very complete insofar as IF is concerned, maybe the soul module will give me some hints for writing a parser.
Github repo: https://github.com/irmen/Tale
A chapter-by-chapter tutorial on how to use the PyParsing parser modle for Python.
A brief tutorial page about the jq tool. reference development exocortex JSON parser utility howto
The default parser and lexer that comes with python. Useful for writing minilanguages and DSLs. Maybe useful if I can figure out how to use it.
A python module for parsing mathematical expressions. Figures out the equation you specify (which can be in a spoken language) and solves them.