{ "info": { "author": "John Deighan", "author_email": "john.deighan@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# PLLParser\n\nParse a Python-like language\n\nThis package includes the following modules:\n\n## TreeNode.py\n\nSYNOPSIS\n\n\tnode = TreeNode('menubar')\n\n\t# --- A node can be used like a dictionary\n\t# It will, by default, have a key 'label' set\n\t# to the string provided\n\n\tprint(node['label'])\n\n\t# menubar\n\n\tnode['mykey'] = 'myvalue'\n\tprint(f\"node has {len(node)} keys\")\n\n\t# node has 2 keys\n\n\tfirstChild = TreeNode('firstchild')\n\tnode.appendChildNode(firstChild)\n\n\tsecondChild = TreeNode('secondchild')\n\tnode.appendChildNode(secondChild)\n\n\tthirdChild = TreeNode('thirdchild')\n\tnode.appendChildNode(secondChild)\n\n\tprint(f\"node has {node.numChildren()} children\")\n\n\t# node has 3 children\n\n\tprint(f\"node has {node.numSiblings()} siblings\")\n\tprint(f\"firstChild has {firstChild.numSiblings()} siblings\")\n\n\t# node has 0 siblings\n\t# firstChild has 2 siblings\n\n## RETokenizer.py\n\nSYNOPSIS\n\n\ttokzr = RETokenizer()\n\ttokzr.add('INTEGER', r'\\d+')\n\ttokzr.add('STRING', r'\"([^\"]*)\"', 1)\n\ttokzr.add('STRING', r\"'([^']*)'\", 1)\n\n\tlTokens = list(tokzr.tokens('\"mystring\"'\n ' + '\n \"'other'\"))\n\tassert lTokens == [\n\t\t('STRING', 'mystring'),\n\t\t('OTHER', '+'),\n\t\t('STRING', 'other'),\n\t\t]\n\n## PLLParser.py\n\nSYNOPSIS\n\n\ts = '''\n\t\t* menubar\n\t\t\tfile\n\t\t\t\tnew\n\t\t\t\topen\n\t\t\tedit\n\t\t\t\tundo\n\t\t* layout\n\t\t\trow\n\t\t\t\tEditField\n\t\t\t\tSelectField\n\t'''\n\t(tree, hSubTrees) = parsePLL(s)\n\n\tassert len(hSubTrees) == 2\n\n## parserUtils.py\n\nSYNOPSIS\n\n\tSee the file\n\n## Unit Tests\n\n\tAll unit tests appear at the end of the source file itself\n\tThey can be run using pytest\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/johndeighan/PLLParser", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "PLLParser", "package_url": "https://pypi.org/project/PLLParser/", "platform": "", "project_url": "https://pypi.org/project/PLLParser/", "project_urls": { "Homepage": "https://github.com/johndeighan/PLLParser" }, "release_url": "https://pypi.org/project/PLLParser/0.3.3/", "requires_dist": null, "requires_python": ">=3.6", "summary": "Parse a Python-like language", "version": "0.3.3", "yanked": false, "yanked_reason": null }, "last_serial": 6016314, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "69f970cded1a2a14480254addd95d81e", "sha256": "57f4ea09a3180fa3d0981c3052da75d23cc01994d2a9e334052dcb6518692384" }, "downloads": -1, "filename": "PLLParser-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "69f970cded1a2a14480254addd95d81e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9684, "upload_time": "2019-10-06T07:04:47", "upload_time_iso_8601": "2019-10-06T07:04:47.092444Z", "url": "https://files.pythonhosted.org/packages/3f/4b/3bd0926bf1dc474cd89c8d7a71ed408280f310e8eb979434dcb29b52d9e0/PLLParser-0.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "94f7c87bb33f626ee9a4507706f9aa6f", "sha256": "51145771ab79cc24dfe65f8def053ed825a28e422468384485a986f68b144073" }, "downloads": -1, "filename": "PLLParser-0.1.0.tar.gz", "has_sig": false, "md5_digest": "94f7c87bb33f626ee9a4507706f9aa6f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7927, "upload_time": "2019-10-06T07:04:50", "upload_time_iso_8601": "2019-10-06T07:04:50.883463Z", "url": "https://files.pythonhosted.org/packages/0e/c5/ee4ef51c3f5700b2b5da45f16790d97a69ec45308946302368a02fd603ca/PLLParser-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "2dca1877b85f597586141f70311c61d7", "sha256": "96c1c496f5a3b428d557aba944119aa349a561b590b6cb8511ba1f8bd1724f10" }, "downloads": -1, "filename": "PLLParser-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2dca1877b85f597586141f70311c61d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 13087, "upload_time": "2019-10-06T07:04:49", "upload_time_iso_8601": "2019-10-06T07:04:49.334786Z", "url": "https://files.pythonhosted.org/packages/ab/a0/ca41e24b46e2a05d665f873f48783441bd2d8ac93556a53bd3eb53f2f872/PLLParser-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "367c75e148aa155f3aa15e587b348f27", "sha256": "57cc0a4e3100aa3946dca2040bd8ad618fd20b7ebd6941549add8191af4f0abc" }, "downloads": -1, "filename": "PLLParser-0.1.1.tar.gz", "has_sig": false, "md5_digest": "367c75e148aa155f3aa15e587b348f27", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 10704, "upload_time": "2019-10-06T07:04:52", "upload_time_iso_8601": "2019-10-06T07:04:52.526776Z", "url": "https://files.pythonhosted.org/packages/39/7f/efce85008ff9a73af38e91d905065cdf23d780dc67c6943c0ea494f02902/PLLParser-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "669c22ecd64fa02a6fe9d1510140fc82", "sha256": "c74d489a6868bfd0728a59fde6978f7e761e01f2c16339151dde8c034cab62ab" }, "downloads": -1, "filename": "PLLParser-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "669c22ecd64fa02a6fe9d1510140fc82", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10461, "upload_time": "2019-10-16T05:53:28", "upload_time_iso_8601": "2019-10-16T05:53:28.951667Z", "url": "https://files.pythonhosted.org/packages/71/5f/68b82a152981651d10f18a5408346a97ea135b775ac51821aad233ea7362/PLLParser-0.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "de3409243a19be7a0e4ebe8a44a7919c", "sha256": "9e4eaf8d0fe8288c0bb44c3f6dcec3c505b614d3d57c815f0352c210bcda90a1" }, "downloads": -1, "filename": "PLLParser-0.2.0.tar.gz", "has_sig": false, "md5_digest": "de3409243a19be7a0e4ebe8a44a7919c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 8581, "upload_time": "2019-10-16T05:53:31", "upload_time_iso_8601": "2019-10-16T05:53:31.450781Z", "url": "https://files.pythonhosted.org/packages/4d/9b/96a3272be64f92760047155b2f75bf1f3ee31c7fd7922c7769d1de25a42f/PLLParser-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d24113d2c9567fb3b0402aaa652545f7", "sha256": "2db2aa83ad50dfb03969da42db3008dc4d1af262aeb42350e86de7f21aad68d6" }, "downloads": -1, "filename": "PLLParser-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d24113d2c9567fb3b0402aaa652545f7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 13768, "upload_time": "2019-10-16T05:59:41", "upload_time_iso_8601": "2019-10-16T05:59:41.966438Z", "url": "https://files.pythonhosted.org/packages/f7/c8/d127e1f907fa659727d81ad1133621318752b00c272132ce357b98c0d2be/PLLParser-0.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0d13e070dd0008d6beeaa82ea9a229d9", "sha256": "252c23eaa43325ffb6f1398dec3c0bc6bbc9794987db7d166cae9751976809c4" }, "downloads": -1, "filename": "PLLParser-0.2.1.tar.gz", "has_sig": false, "md5_digest": "0d13e070dd0008d6beeaa82ea9a229d9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11311, "upload_time": "2019-10-16T05:59:44", "upload_time_iso_8601": "2019-10-16T05:59:44.314817Z", "url": "https://files.pythonhosted.org/packages/1a/60/6d515529b18ff481ff513f6a9327e693c3a943d44819806033ca14b73321/PLLParser-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "33113da3b192998a8ab82680fc50a52c", "sha256": "ada2e86f79475c90c2fd935878660639e421476aa9031debd417e2b0761c4a68" }, "downloads": -1, "filename": "PLLParser-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "33113da3b192998a8ab82680fc50a52c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14920, "upload_time": "2019-10-17T00:12:53", "upload_time_iso_8601": "2019-10-17T00:12:53.143108Z", "url": "https://files.pythonhosted.org/packages/6a/d3/329612867c571e094486f6e87d3d84e506de1c2b196ba9a4b9e45544c5ad/PLLParser-0.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "48c2a145d701901c098d15c52fd5b10e", "sha256": "8b68753d65318554caa3509679895d201b339cdcda6a68c0c5738788353acc96" }, "downloads": -1, "filename": "PLLParser-0.3.0.tar.gz", "has_sig": false, "md5_digest": "48c2a145d701901c098d15c52fd5b10e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 12555, "upload_time": "2019-10-17T00:12:55", "upload_time_iso_8601": "2019-10-17T00:12:55.194862Z", "url": "https://files.pythonhosted.org/packages/ad/a8/c04dd6573481f539f8596115e0530c178a48f515fa18c553007d62849e72/PLLParser-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "1795441f31e5d3e4d6abfde17c9e4379", "sha256": "6cc1013b438ce9446a19b9e50838c4a777ed90fd33be2b03720286eb81414635" }, "downloads": -1, "filename": "PLLParser-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1795441f31e5d3e4d6abfde17c9e4379", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14992, "upload_time": "2019-10-17T01:22:25", "upload_time_iso_8601": "2019-10-17T01:22:25.780559Z", "url": "https://files.pythonhosted.org/packages/68/04/b0d87316cced5d7397af57bb021bac2864d744c79ff45119123a4fb70b19/PLLParser-0.3.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "488e96e5daddf2409d7dd454dc67a477", "sha256": "153f50479f9ee1efedcbe826dfeb57fa4ac61de972bbfad17cc5cac5469cabc7" }, "downloads": -1, "filename": "PLLParser-0.3.1.tar.gz", "has_sig": false, "md5_digest": "488e96e5daddf2409d7dd454dc67a477", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 12635, "upload_time": "2019-10-17T01:22:27", "upload_time_iso_8601": "2019-10-17T01:22:27.698173Z", "url": "https://files.pythonhosted.org/packages/45/03/2451c0e27e9b502f3bb00068acd00f6a27c952bcd97c9b1345786a5ed25e/PLLParser-0.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "2bec42a15dece943ad2af0eb35f5079f", "sha256": "abe60950a34203c9337e771109f16a1664fb703f380b7dad0403acebd41e338c" }, "downloads": -1, "filename": "PLLParser-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2bec42a15dece943ad2af0eb35f5079f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14872, "upload_time": "2019-10-17T01:45:53", "upload_time_iso_8601": "2019-10-17T01:45:53.984140Z", "url": "https://files.pythonhosted.org/packages/86/2a/f651f275787100a16281c89d97240338b93a35b500f83befb9eb9f3443e1/PLLParser-0.3.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6f370e70ad4bc4d6ba53d1ef81cdd454", "sha256": "d379875531ede62fe7e34b35765b345dc3e286e1cc054b2a8c44ff420d9b262f" }, "downloads": -1, "filename": "PLLParser-0.3.2.tar.gz", "has_sig": false, "md5_digest": "6f370e70ad4bc4d6ba53d1ef81cdd454", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 12551, "upload_time": "2019-10-17T01:45:56", "upload_time_iso_8601": "2019-10-17T01:45:56.071374Z", "url": "https://files.pythonhosted.org/packages/50/b6/6977d935457f3d1d79c366a7f52222e2b28fec65dba170034058eacb28f3/PLLParser-0.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "ecbc2aeb24789f08c72c46d3762862d3", "sha256": "52b1947dcae7c9eee6c1ab4158003969b6cab82bde7543f4b50aacaf6c7acf33" }, "downloads": -1, "filename": "PLLParser-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ecbc2aeb24789f08c72c46d3762862d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14868, "upload_time": "2019-10-23T03:10:11", "upload_time_iso_8601": "2019-10-23T03:10:11.428696Z", "url": "https://files.pythonhosted.org/packages/aa/53/fdb2ab31e6678b7a2c741e7caa32c600c860c51d8e1d784237e6fb0c86b0/PLLParser-0.3.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c6d32a25f08435552bb2c32e3455a5eb", "sha256": "820af83ab4ff611381ca9a0dafe79d093b0af6cefe9a81b09705371bc74b4e2b" }, "downloads": -1, "filename": "PLLParser-0.3.3.tar.gz", "has_sig": false, "md5_digest": "c6d32a25f08435552bb2c32e3455a5eb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 12543, "upload_time": "2019-10-23T03:10:13", "upload_time_iso_8601": "2019-10-23T03:10:13.226210Z", "url": "https://files.pythonhosted.org/packages/77/13/91dc6414dc1776bf2f7789006e7fb8a83dbdd5df3cafc7d8ab970615d476/PLLParser-0.3.3.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ecbc2aeb24789f08c72c46d3762862d3", "sha256": "52b1947dcae7c9eee6c1ab4158003969b6cab82bde7543f4b50aacaf6c7acf33" }, "downloads": -1, "filename": "PLLParser-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ecbc2aeb24789f08c72c46d3762862d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14868, "upload_time": "2019-10-23T03:10:11", "upload_time_iso_8601": "2019-10-23T03:10:11.428696Z", "url": "https://files.pythonhosted.org/packages/aa/53/fdb2ab31e6678b7a2c741e7caa32c600c860c51d8e1d784237e6fb0c86b0/PLLParser-0.3.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c6d32a25f08435552bb2c32e3455a5eb", "sha256": "820af83ab4ff611381ca9a0dafe79d093b0af6cefe9a81b09705371bc74b4e2b" }, "downloads": -1, "filename": "PLLParser-0.3.3.tar.gz", "has_sig": false, "md5_digest": "c6d32a25f08435552bb2c32e3455a5eb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 12543, "upload_time": "2019-10-23T03:10:13", "upload_time_iso_8601": "2019-10-23T03:10:13.226210Z", "url": "https://files.pythonhosted.org/packages/77/13/91dc6414dc1776bf2f7789006e7fb8a83dbdd5df3cafc7d8ab970615d476/PLLParser-0.3.3.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }