| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 | Metadata-Version: 2.1Name: pyparsingVersion: 3.1.1Summary: pyparsing module - Classes and methods to define and execute parsing grammarsAuthor-email: Paul McGuire <ptmcg.gm+pyparsing@gmail.com>Requires-Python: >=3.6.8Description-Content-Type: text/x-rstClassifier: Development Status :: 5 - Production/StableClassifier: Intended Audience :: DevelopersClassifier: Intended Audience :: Information TechnologyClassifier: License :: OSI Approved :: MIT LicenseClassifier: Operating System :: OS IndependentClassifier: Programming Language :: PythonClassifier: Programming Language :: Python :: 3Classifier: Programming Language :: Python :: 3.6Classifier: Programming Language :: Python :: 3.7Classifier: Programming Language :: Python :: 3.8Classifier: Programming Language :: Python :: 3.9Classifier: Programming Language :: Python :: 3.10Classifier: Programming Language :: Python :: 3.11Classifier: Programming Language :: Python :: 3.12Classifier: Programming Language :: Python :: 3 :: OnlyClassifier: Programming Language :: Python :: Implementation :: CPythonClassifier: Programming Language :: Python :: Implementation :: PyPyClassifier: Topic :: Software Development :: CompilersClassifier: Topic :: Text ProcessingClassifier: Typing :: TypedRequires-Dist: railroad-diagrams ; extra == "diagrams"Requires-Dist: jinja2 ; extra == "diagrams"Project-URL: Homepage, https://github.com/pyparsing/pyparsing/Provides-Extra: diagramsPyParsing -- A Python Parsing Module====================================|Version| |Build Status| |Coverage| |License| |Python Versions| |Snyk Score|Introduction============The pyparsing module is an alternative approach to creating andexecuting simple grammars, vs. the traditional lex/yacc approach, or theuse of regular expressions. The pyparsing module provides a library ofclasses that client code uses to construct the grammar directly inPython code.*[Since first writing this description of pyparsing in late 2003, thistechnique for developing parsers has become more widespread, under thename Parsing Expression Grammars - PEGs. See more information on PEGs*`here <https://en.wikipedia.org/wiki/Parsing_expression_grammar>`__*.]*Here is a program to parse ``"Hello, World!"`` (or any greeting of the form``"salutation, addressee!"``):.. code:: python    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 theself-explanatory class names, and the use of '+', '|' and '^' operatordefinitions.The parsed results returned from ``parseString()`` is a collection of type``ParseResults``, which can be accessed as anested list, a dictionary, or an object with named attributes.The pyparsing module handles some of the problems that are typicallyvexing when writing text parsers:- extra or missing whitespace (the above program will also handle ``"Hello,World!"``, ``"Hello , World !"``, etc.)- quoted strings- embedded commentsThe examples directory includes a simple SQL parser, simple CORBA IDLparser, a config file parser, a chemical formula parser, and a four-function algebraic notation parser, among many others.Documentation=============There are many examples in the online docstrings of the classesand methods in pyparsing. You can find them compiled into `online docs <https://pyparsing-docs.readthedocs.io/en/latest/>`__. Additionaldocumentation resources and project info are listed in the online`GitHub wiki <https://github.com/pyparsing/pyparsing/wiki>`__. Anentire directory of examples can be found `here <https://github.com/pyparsing/pyparsing/tree/master/examples>`__.License=======MIT License. See header of the `pyparsing __init__.py <https://github.com/pyparsing/pyparsing/blob/master/pyparsing/__init__.py#L1-L23>`__ file.History=======See `CHANGES <https://github.com/pyparsing/pyparsing/blob/master/CHANGES>`__ file... |Build Status| image:: https://github.com/pyparsing/pyparsing/actions/workflows/ci.yml/badge.svg   :target: https://github.com/pyparsing/pyparsing/actions/workflows/ci.yml.. |Coverage| image:: https://codecov.io/gh/pyparsing/pyparsing/branch/master/graph/badge.svg  :target: https://codecov.io/gh/pyparsing/pyparsing.. |Version| image:: https://img.shields.io/pypi/v/pyparsing?style=flat-square    :target: https://pypi.org/project/pyparsing/    :alt: Version.. |License| image:: https://img.shields.io/pypi/l/pyparsing.svg?style=flat-square    :target: https://pypi.org/project/pyparsing/    :alt: License.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/pyparsing.svg?style=flat-square    :target: https://pypi.org/project/python-liquid/    :alt: Python versions.. |Snyk Score| image:: https://snyk.io//advisor/python/pyparsing/badge.svg   :target: https://snyk.io//advisor/python/pyparsing   :alt: pyparsing
 |