Giter Club home page Giter Club logo

pyparsing's Introduction

====================================
PyParsing -- A Python Parsing Module
====================================

Introduction
============

The pyparsing module is an alternative approach to creating and executing 
simple grammars, vs. the traditional lex/yacc approach, or the use of 
regular expressions.  The pyparsing module provides a library of classes 
that client code uses to construct the grammar directly in Python code.

Here is a program to parse "Hello, World!" (or any greeting of the form 
"<salutation>, <addressee>!"):

    from pyparsing import Word, alphas
    greet = Word( alphas ) + "," + Word( alphas ) + "!"
    hello = "Hello, World!"
    print hello, "->", greet.parseString( hello )

The program outputs the following:

    Hello, World! -> ['Hello', ',', 'World', '!']

The Python representation of the grammar is quite readable, owing to the 
self-explanatory class names, and the use of '+', '|' and '^' operator 
definitions.

The parsed results returned from parseString() can be accessed as a 
nested list, a dictionary, or an object with named attributes.

The pyparsing module handles some of the problems that are typically 
vexing when writing text parsers:
- extra or missing whitespace (the above program will also handle 
  "Hello,World!", "Hello  ,  World  !", etc.)
- quoted strings
- embedded comments

The .zip file includes examples of a simple SQL parser, simple CORBA IDL 
parser, a config file parser, a chemical formula parser, and a four-
function algebraic notation parser.  It also includes a simple how-to 
document, and a UML class diagram of the library's classes.



Installation
============

Do the usual:

    python setup.py install
    
(pyparsing requires Python 2.6 or later.)

Or corresponding commands using pip, easy_install, or wheel:

    pip install pyparsing
    
    easy_install pyparsing
    
    wheel install pyparsing


Documentation
=============

See:

    HowToUsePyparsing.html


License
=======

    MIT License. See header of pyparsing.py

History
=======

    See CHANGES file.

pyparsing's People

Contributors

ptmcg avatar cngkaygusuz avatar

Watchers

Hello Chen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.