{ "info": { "author": "Andrey Vlasovskikh", "author_email": "andrey.vlasovskikh@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Natural Language :: Russian", "Operating System :: OS Independent", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Compilers", "Topic :: Software Development :: Interpreters", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing" ], "description": "Description\r\n-----------\r\n\r\n*Parser combinators* are just higher-order functions that take parsers as their\r\narguments and return them as result values. Parser combinators are:\r\n\r\n* First-class values\r\n* Extremely composable\r\n* Tend to make the code quite compact\r\n* Resemble the readable notation of xBNF grammars\r\n\r\nParsers made with ``funcparserlib`` are pure-Python LL(*) parsers. It means\r\nthat it's very easy to write them without thinking about look-aheads and all\r\nthat hardcore parsing stuff. But the recursive descent parsing is a rather slow\r\nmethod compared to LL(k) or LR(k) algorithms.\r\n\r\nSo the primary domain for ``funcparserlib`` is **parsing little languages** or\r\n**external DSLs** (domain specific languages).\r\n\r\nThe library itself is very small. Its source code is only 0.5 KLOC, with lots\r\nof comments included. It features the longest parsed prefix error reporting, as well\r\nas a tiny lexer generator for token position tracking.\r\n\r\nDocumentation\r\n-------------\r\n\r\nSee the `Documentation`__ section on GitHub.\r\n\r\n__ https://github.com/vlasovskikh/funcparserlib\r\n\r\n\r\nWhat's New in 0.3.6\r\n-------------------\r\n\r\nA maintenance release.\r\n\r\n* Python 3 compatibility\r\n* #31 Fixed ``many()`` that consumed too many tokens in some cases\r\n* #14 More info available in exception objects", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vlasovskikh/funcparserlib", "keywords": "parsing parser lexer library functional combinator fp functor monad", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "funcparserlib", "package_url": "https://pypi.org/project/funcparserlib/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/funcparserlib/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/vlasovskikh/funcparserlib" }, "release_url": "https://pypi.org/project/funcparserlib/0.3.6/", "requires_dist": null, "requires_python": null, "summary": "Recursive descent parsing library based on functional combinators", "version": "0.3.6" }, "last_serial": 1749742, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "7198d2f900bd43f3d0639e78bd44c55d", "sha256": "48d9700a5b8585fa94f67b696dd20889215bcdf492ee8b9b4bba3f0aa3d4b6ec" }, "downloads": -1, "filename": "funcparserlib-0.3.tar.gz", "has_sig": false, "md5_digest": "7198d2f900bd43f3d0639e78bd44c55d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 98579, "upload_time": "2009-07-23T02:59:50", "url": "https://files.pythonhosted.org/packages/57/30/0961170652c22d3072c2d1284e60788e88ed911b68a5548564faee60d0b3/funcparserlib-0.3.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "208dcdeefcc44a3ed814da0d1260e591", "sha256": "9c83b75d8afa1f068b44fbacb6e661ccd16c3143ce23539956d638a8d6e427e3" }, "downloads": -1, "filename": "funcparserlib-0.3.2.tar.gz", "has_sig": false, "md5_digest": "208dcdeefcc44a3ed814da0d1260e591", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 98923, "upload_time": "2009-07-27T01:00:15", "url": "https://files.pythonhosted.org/packages/d8/75/d1f2178395de4cd5a3f4a0351857f7ceead4125923e5d8b400a1c9c15bef/funcparserlib-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "e15c33ec18d683682e04fb86520a62a6", "sha256": "fa08be77e63a6f2ad54f89d3036abdb13799c5774aff9f673fd2326fb2f55ded" }, "downloads": -1, "filename": "funcparserlib-0.3.3.tar.gz", "has_sig": false, "md5_digest": "e15c33ec18d683682e04fb86520a62a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32883, "upload_time": "2009-08-03T21:36:24", "url": "https://files.pythonhosted.org/packages/27/06/de055f180d749a76744f46c95e213678b13f0d739d976b2338f0c6f53daf/funcparserlib-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "f2c715eeb17c48b5aa9e6a9ec92befc1", "sha256": "0461f56294b35d5a2b4d1937489dac402aa4cae9100b9fc8f43bf02616927bd7" }, "downloads": -1, "filename": "funcparserlib-0.3.4.tar.gz", "has_sig": false, "md5_digest": "f2c715eeb17c48b5aa9e6a9ec92befc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32784, "upload_time": "2009-10-06T22:09:33", "url": "https://files.pythonhosted.org/packages/92/88/1ee914de1b86304c1aaeb1443377e31e8f791af1386defcc8490c6a17795/funcparserlib-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "52dfec49f2d2c4d816fe8d8c90f7dcf1", "sha256": "26df79cc5f119ffc467798df5abe20518c0b9c1bba558f8ee518f08bece37cb5" }, "downloads": -1, "filename": "funcparserlib-0.3.5.tar.gz", "has_sig": false, "md5_digest": "52dfec49f2d2c4d816fe8d8c90f7dcf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33117, "upload_time": "2011-01-13T12:02:22", "url": "https://files.pythonhosted.org/packages/50/29/fa57b16b4dd5c1aa1be37bbcc4e03ae8cb315351af9447e9f4792d3e4cc2/funcparserlib-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "3aba546bdad5d0826596910551ce37c0", "sha256": "b7992eac1a3eb97b3d91faa342bfda0729e990bd8a43774c1592c091e563c91d" }, "downloads": -1, "filename": "funcparserlib-0.3.6.tar.gz", "has_sig": false, "md5_digest": "3aba546bdad5d0826596910551ce37c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30401, "upload_time": "2013-05-02T15:34:09", "url": "https://files.pythonhosted.org/packages/cb/f7/b4a59c3ccf67c0082546eaeb454da1a6610e924d2e7a2a21f337ecae7b40/funcparserlib-0.3.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3aba546bdad5d0826596910551ce37c0", "sha256": "b7992eac1a3eb97b3d91faa342bfda0729e990bd8a43774c1592c091e563c91d" }, "downloads": -1, "filename": "funcparserlib-0.3.6.tar.gz", "has_sig": false, "md5_digest": "3aba546bdad5d0826596910551ce37c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30401, "upload_time": "2013-05-02T15:34:09", "url": "https://files.pythonhosted.org/packages/cb/f7/b4a59c3ccf67c0082546eaeb454da1a6610e924d2e7a2a21f337ecae7b40/funcparserlib-0.3.6.tar.gz" } ] }