{ "info": { "author": "Patrik Valkovic", "author_email": "patrik.valkovic@hotmail.cz", "bugtrack_url": null, "classifiers": [], "description": "# grammpy\n\nCurrent version: 2.0.0\n\n[![Build Status](https://travis-ci.org/PatrikValkovic/grammpy.svg?branch=master)](https://travis-ci.org/PatrikValkovic/grammpy)\n[![Coverage Status](https://coveralls.io/repos/github/PatrikValkovic/grammpy/badge.svg?branch=master)](https://coveralls.io/github/PatrikValkovic/grammpy?branch=master)\n\nPackage for representing formal grammars.\nContains algorithms to work with a grammars and parse them.\n\n## Installation\n\nIf you are using `pip`, simple run following command.\n```\npip install grammpy\n```\n\nYou can install the package from the repository as well.\n```\ngit clone https://github.com/PatrikValkovic/grammpy.git\ncd grammpy\npython setup.py install\n```\n\n## Usage\n\nDefining a grammar doesn't require special tools anymore.\nAll what you need is just a IDE and you have the full support.\n\nLet's define grammar using standard Python objects instead.\n\n```python\nfrom grammpy import *\nfrom grammpy.transforms import ContextFree, InverseContextFree\nfrom grammpy.parsers import cyk\n\n\nclass Number:\n def __init__(self, value):\n self.value = value\n def __hash__(self):\n return hash(Number)\n\n\nclass PlusNonterminal(Nonterminal):\n @property\n def value(self):\n return self.to_rule.get_value()\n\n\nclass PlusRule(Rule):\n rule = ([PlusNonterminal], [PlusNonterminal, '+', PlusNonterminal])\n def get_value(self):\n child1 = self.to_symbols[0]\n child2 = self.to_symbols[2]\n return child1.value + child2.value\n\n\nclass RewriteRule(Rule):\n fromSymbol = PlusNonterminal\n toSymbol = Number\n def get_value(self):\n return self.to_symbols[0].s.value\n\n\ng = Grammar(terminals=[Number, '+'],\n nonterminals=[PlusNonterminal],\n rules=[PlusRule, RewriteRule],\n start_symbol=PlusNonterminal)\nContextFree.prepare_for_cyk(g, inplace=True)\nroot = cyk(g, [Number(5), '+', Number(3), '+' , Number(8)])\nroot = InverseContextFree.reverse_cyk_transforms(root)\nassert root.value == 16\n```\n\n## Documentation\n\nYou can read more about the library in the [doc](doc) directory.\n\n## Examples\n\nYou can view some examples in the [examples](examples) directory.\n\n-----\n\nVersion: 2.0.0\n\nAuthor: Patrik Valkovi\u010d\n\nLicence: MIT", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/PatrikValkovic/grammpy/archive/v2.0.0.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/PatrikValkovic/grammpy", "keywords": "", "license": "The MIT License", "maintainer": "", "maintainer_email": "", "name": "grammpy", "package_url": "https://pypi.org/project/grammpy/", "platform": "", "project_url": "https://pypi.org/project/grammpy/", "project_urls": { "Download": "https://github.com/PatrikValkovic/grammpy/archive/v2.0.0.tar.gz", "Homepage": "https://github.com/PatrikValkovic/grammpy" }, "release_url": "https://pypi.org/project/grammpy/2.0.0/", "requires_dist": null, "requires_python": "", "summary": "CYK library with all required tools to parse context-free grammars.", "version": "2.0.0" }, "last_serial": 4959661, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "83dd3795abbfad55a759ceb6847fc8ea", "sha256": "33ed099ef4276c0fc49c84d2cdbed40ef24c74373f0f48556c7f932300603239" }, "downloads": -1, "filename": "grammpy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "83dd3795abbfad55a759ceb6847fc8ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4723, "upload_time": "2017-08-04T17:26:57", "url": "https://files.pythonhosted.org/packages/27/9a/9dc41cb1842877211b5cf08bb8efc12c64c72bfab00b27ec50d2237145c0/grammpy-0.1.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "1e0283ab2f55cfda1e05c211368e5c33", "sha256": "e9a6e2cf6df4dc99e34b1447200e44a197ff6f67cbd24d7a845210078db94155" }, "downloads": -1, "filename": "grammpy-1.0.0.tar.gz", "has_sig": false, "md5_digest": "1e0283ab2f55cfda1e05c211368e5c33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4727, "upload_time": "2017-08-04T17:29:43", "url": "https://files.pythonhosted.org/packages/d8/3a/5688a60ccc63a2a6fd1223cc87dd71fb0d69d2062fb974043bb1de04e422/grammpy-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "1dcf0ab5c789dadae5290464856eaad4", "sha256": "08f1ff2afdad751f093f7e40692777611a012cea04f623947eb6794c7dd554fa" }, "downloads": -1, "filename": "grammpy-1.0.1.tar.gz", "has_sig": false, "md5_digest": "1dcf0ab5c789dadae5290464856eaad4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4624, "upload_time": "2017-08-11T10:32:19", "url": "https://files.pythonhosted.org/packages/00/71/83c2b3ec96d8d98c9c7e0741a70dbdd3358ea40c2425c6dda98b2df6f9a9/grammpy-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "0fc669b743a22dfd2a7a5ab048965b65", "sha256": "1bb332f8ba5a31e23b3a512e015d213f1a5c20fcb12b2ad9b048b62b01afca12" }, "downloads": -1, "filename": "grammpy-1.1.0.tar.gz", "has_sig": false, "md5_digest": "0fc669b743a22dfd2a7a5ab048965b65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4881, "upload_time": "2017-08-11T12:17:43", "url": "https://files.pythonhosted.org/packages/b9/d1/9ab81dc32e0d9a0b29c560132195c8d30d1e0c591963fa566f0555c8cadd/grammpy-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "61260e0a24d613f1c264fae53c64f0f2", "sha256": "175c9b6955bf21d389c323a309dc356f83b7392007e33e7da180400fa597d101" }, "downloads": -1, "filename": "grammpy-1.1.1-py3.5.egg", "has_sig": false, "md5_digest": "61260e0a24d613f1c264fae53c64f0f2", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 43805, "upload_time": "2017-08-28T18:21:57", "url": "https://files.pythonhosted.org/packages/07/1e/e754b45fded897f08a33acdea098f9df002f84b82dca85c7c545d00e90db/grammpy-1.1.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "17c13f8696c0ae22ff85a22118119c8f", "sha256": "56751b1c66008395ae0926f904d1e1c6315a72aced02b2b0fd1d8824c7edf2ed" }, "downloads": -1, "filename": "grammpy-1.1.1.tar.gz", "has_sig": false, "md5_digest": "17c13f8696c0ae22ff85a22118119c8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5357, "upload_time": "2017-08-15T19:59:59", "url": "https://files.pythonhosted.org/packages/de/f5/997b07cca1f6e56a75d60f11c90df2820604600cf53c98b17da581e8567a/grammpy-1.1.1.tar.gz" } ], "1.1.10": [ { "comment_text": "", "digests": { "md5": "eb10a1f3b07c12e99b4c70cdce3a2167", "sha256": "b629d37743c1670d57dc1dc5c154463a5743b505a955f3d69e7f407a24c87f11" }, "downloads": -1, "filename": "grammpy-1.1.10.tar.gz", "has_sig": false, "md5_digest": "eb10a1f3b07c12e99b4c70cdce3a2167", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6174, "upload_time": "2017-08-19T15:28:43", "url": "https://files.pythonhosted.org/packages/c9/89/694c20b348ea746f0b3cb2798a143021dcf828b235696b811775901d8bf4/grammpy-1.1.10.tar.gz" } ], "1.1.11": [ { "comment_text": "", "digests": { "md5": "7611b621a68672023b8195d1a979f0f4", "sha256": "159f174087c9f5fb1916f9cc202273a86124eef405513f79f03f010b8c4e6337" }, "downloads": -1, "filename": "grammpy-1.1.11.tar.gz", "has_sig": false, "md5_digest": "7611b621a68672023b8195d1a979f0f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7505, "upload_time": "2017-08-28T18:28:29", "url": "https://files.pythonhosted.org/packages/6b/a3/29ea6f8c4596bd1e9594dbc861b80f3f7556657ed9c147cffb1e0748a9aa/grammpy-1.1.11.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "120436649043b672f68a6b20ef729298", "sha256": "cba627f3f6efc6fd2d3ea2f5a694a476be27db3a33db670c7da58dbb5d5e02b3" }, "downloads": -1, "filename": "grammpy-1.1.2.tar.gz", "has_sig": false, "md5_digest": "120436649043b672f68a6b20ef729298", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4510, "upload_time": "2017-08-16T17:47:15", "url": "https://files.pythonhosted.org/packages/e6/ad/725fab04d12b7215ea7b305f7551975d2149164b8e9b18535f93c4cf507f/grammpy-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "b9b964bca60b3ab84e6137f58ed16aa2", "sha256": "c12b2a007f25e0dc66dae8a3a5787378b77a4d5f08bbcfe76e9c3627649ef48e" }, "downloads": -1, "filename": "grammpy-1.1.3.tar.gz", "has_sig": false, "md5_digest": "b9b964bca60b3ab84e6137f58ed16aa2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5616, "upload_time": "2017-08-16T17:58:42", "url": "https://files.pythonhosted.org/packages/95/19/14ea153c5b65cbde9274d647496eea3017897352e0cfc0fabf9a96fefac2/grammpy-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "5513fc392962a32c42df34b849498c33", "sha256": "9d6ec030ec8e1d3a5e0c83a33a4573c96b6e11ee1b37978e59f9e230663cbe4c" }, "downloads": -1, "filename": "grammpy-1.1.4.tar.gz", "has_sig": false, "md5_digest": "5513fc392962a32c42df34b849498c33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5637, "upload_time": "2017-08-16T18:01:36", "url": "https://files.pythonhosted.org/packages/05/74/599bfa0f14f910b0c79310698603ae5cba685cbaa18f962be62686f98b13/grammpy-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "c54665dcbd9c7218513cd946d3bf42c5", "sha256": "6eb970b4d42077232329bda8bc129ab0049190de68f63b1905efb02d2220f372" }, "downloads": -1, "filename": "grammpy-1.1.5.tar.gz", "has_sig": false, "md5_digest": "c54665dcbd9c7218513cd946d3bf42c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5795, "upload_time": "2017-08-17T15:27:37", "url": "https://files.pythonhosted.org/packages/03/48/c5e6fb25bf5a9c77af211a87ecacc08d20e4381089ac1a062eafdd9176ed/grammpy-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "da9dd74b28c89b43c24c4a4e8aff9361", "sha256": "38257f013fc889bf66d398fb7bd09c1b4a60b3fc53bae120082bf8ee9245bc15" }, "downloads": -1, "filename": "grammpy-1.1.6.tar.gz", "has_sig": false, "md5_digest": "da9dd74b28c89b43c24c4a4e8aff9361", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5810, "upload_time": "2017-08-17T20:04:49", "url": "https://files.pythonhosted.org/packages/74/20/ec5292dbce69d9cbce95c89d2e9084bb4e54254ebec173b7e94e9ef82f24/grammpy-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "45ca7b51270b1ba8d723fe86d7108d7e", "sha256": "e4dd1f4e909348030a3379b19e1c6db1b252f4709fe1314e7878fc502742004f" }, "downloads": -1, "filename": "grammpy-1.1.7.tar.gz", "has_sig": false, "md5_digest": "45ca7b51270b1ba8d723fe86d7108d7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6071, "upload_time": "2017-08-17T21:31:36", "url": "https://files.pythonhosted.org/packages/fb/8a/a54c32e60678d8f736bf90a7ae30d77c9401bc9c8f295f88aef2ab3c4023/grammpy-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "4652ac0a86d701e8230fc0f8bcecab27", "sha256": "725827d9bc9d59f67dcf6f352fdb43fb29906bd44c43c6ff9f71980ae8bdbabc" }, "downloads": -1, "filename": "grammpy-1.1.8.tar.gz", "has_sig": false, "md5_digest": "4652ac0a86d701e8230fc0f8bcecab27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6152, "upload_time": "2017-08-17T21:55:56", "url": "https://files.pythonhosted.org/packages/ca/30/f2b22998b71e57b0afe26ea32da6bbc11c493938f27511d4674a9a5f4487/grammpy-1.1.8.tar.gz" } ], "1.1.9": [ { "comment_text": "", "digests": { "md5": "73b20889918e398895b532457eb5a938", "sha256": "be62fb6b0fa2b38e8e2ec5e45e3a4eeaf34ccc70627cbdf7610e9d0146548113" }, "downloads": -1, "filename": "grammpy-1.1.9.tar.gz", "has_sig": false, "md5_digest": "73b20889918e398895b532457eb5a938", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6156, "upload_time": "2017-08-19T14:26:38", "url": "https://files.pythonhosted.org/packages/25/2e/4a0157f76393fded3177d2091c4da8f2f53b79c0b9e09e26626c363cde2c/grammpy-1.1.9.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "97bade993092a5f08cb4b49a592aa66d", "sha256": "014c536a42fe03f14da5f6146835e7c94db3827078a9c89957687b28941235d4" }, "downloads": -1, "filename": "grammpy-1.2.0.tar.gz", "has_sig": false, "md5_digest": "97bade993092a5f08cb4b49a592aa66d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8509, "upload_time": "2017-09-03T17:22:14", "url": "https://files.pythonhosted.org/packages/3d/15/3162ba23dc64f5f13a9b96013c71164aa0afd824ba80c4ff08e3c617e0f2/grammpy-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "1e6c2bc6879ba337bd1e1b6e152f3194", "sha256": "388614c3de89998b9f31445e673622fe41bd5ace68b4b218efb21069d17a9e3a" }, "downloads": -1, "filename": "grammpy-1.2.1.tar.gz", "has_sig": false, "md5_digest": "1e6c2bc6879ba337bd1e1b6e152f3194", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8582, "upload_time": "2018-03-31T10:37:37", "url": "https://files.pythonhosted.org/packages/96/28/babe8202be49cb3229e3502af2ac7429cec3c9a4b20d0fe29b78f51e00cb/grammpy-1.2.1.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "79cddf67949e100f8a4c83750ae3ed0d", "sha256": "663fb2cbfd0ba6eeed42f9c465f720dec376712c165ae3ad0f060aa1aa9068e7" }, "downloads": -1, "filename": "grammpy-2.0.0.tar.gz", "has_sig": false, "md5_digest": "79cddf67949e100f8a4c83750ae3ed0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28729, "upload_time": "2019-03-19T16:45:14", "url": "https://files.pythonhosted.org/packages/89/7b/c2c79c3f200c3d226765e11350f1c9f3b02d0a9c7e025c8511e79c60ab49/grammpy-2.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "79cddf67949e100f8a4c83750ae3ed0d", "sha256": "663fb2cbfd0ba6eeed42f9c465f720dec376712c165ae3ad0f060aa1aa9068e7" }, "downloads": -1, "filename": "grammpy-2.0.0.tar.gz", "has_sig": false, "md5_digest": "79cddf67949e100f8a4c83750ae3ed0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28729, "upload_time": "2019-03-19T16:45:14", "url": "https://files.pythonhosted.org/packages/89/7b/c2c79c3f200c3d226765e11350f1c9f3b02d0a9c7e025c8511e79c60ab49/grammpy-2.0.0.tar.gz" } ] }