{ "info": { "author": "Joshua Charles Campbell, Eddie Antonio Santos", "author_email": "joshua2@ualberta.ca, easantos@ualberta.ca", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython" ], "description": "javac parser\n============\n\n\n![PyPI](https://img.shields.io/pypi/v/javac-parser.svg) ![PyPI - License](https://img.shields.io/pypi/l/javac-parser.svg) [![Build Status](https://travis-ci.org/naturalness/javac-parser.svg?branch=master)](https://travis-ci.org/naturalness/javac-parser)\n\nUse OpenJDK's Java parser (\"javac\") in Python!\n\nInstall\n-------\n\n pip install javac-parser\n\nUsage\n-----\n\nFirst, instantiate the server:\n\n```python\nimport javac_parser\njava = javac_parser.Java()\n```\n\nCount the number of syntax errors:\n\n```python\n>>> java.get_num_parse_errors('class Hello {')\n1\n>>> java.get_num_parse_errors('class Hello { }')\n0\n```\n\nGet a list of diagnostics for each syntax error:\n\n```python\n>>> java.check_syntax('class Hello {')\n[('ERROR', 'compiler.err.premature.eof', 'reached end of file while parsing', 1, 14, 13, 13)]'\n>>> java.check_syntax('class Hello { }')\n[]\n```\n\nLex (tokenize) Java source code, even if it does not compile:\n\n```python\n>>> java.lex('class Hello {')\n[('CLASS', 'class', (1, 0), (1, 5), 'class'), ('IDENTIFIER', 'Hello', (1, 6), (1, 11), 'Hello'), ('LBRACE', '{', (1, 12), (1, 13), '{'), ('EOF', '', (1, 13), (1, 13), 'token.end-of-input')]\n```\n\nSee the docstrings in ``javac_parser.py`` or type `pydoc javac_parser` for more details!\n\n\nCopying\n-------\n\nCopyright (C) 2017, 2018 Joshua Charles Campbell and Eddie Antonio Santos\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program. If not, see .\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/naturalness/javac-parser", "keywords": "java javac parser scanner lexer tokenizer", "license": "AGPL3+", "maintainer": "", "maintainer_email": "", "name": "javac-parser", "package_url": "https://pypi.org/project/javac-parser/", "platform": "", "project_url": "https://pypi.org/project/javac-parser/", "project_urls": { "Homepage": "https://github.com/naturalness/javac-parser" }, "release_url": "https://pypi.org/project/javac-parser/1.0.0/", "requires_dist": [ "py4j (==0.10.6)", "msgpack-python (>=0.4.8)" ], "requires_python": "", "summary": "Exposes the OpenJDK Java parser and scanner to Python", "version": "1.0.0" }, "last_serial": 3873414, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "a5b3ea649199b8438790418ed4b5eb68", "sha256": "acd5f53fd466f4cecf102430b0e884f21cf909c11b560b02e664275194d0854f" }, "downloads": -1, "filename": "javac-parser-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a5b3ea649199b8438790418ed4b5eb68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5770, "upload_time": "2017-08-08T16:12:54", "url": "https://files.pythonhosted.org/packages/02/84/6fd262a4315392c85b673edcd1f851eb7ba323a4fefa05b5f907e81ddbe9/javac-parser-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8e27b9ec092e046262824c52fe8dd865", "sha256": "c4a620ec0d335e2a32f291413109ff0347e66e04e6bacce1ed0d1b4b1f47e797" }, "downloads": -1, "filename": "javac-parser-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8e27b9ec092e046262824c52fe8dd865", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2090926, "upload_time": "2017-08-08T16:49:17", "url": "https://files.pythonhosted.org/packages/40/a0/3d7be0485a97c312eed728d8781d7bba3fde57bdf046064200910232eec6/javac-parser-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "18bf9194ac45a3db5b5462501e5f2df7", "sha256": "63fd105ea18a2335c739d6743714be19a6a8dff71e5e3c79b47efb8688d774aa" }, "downloads": -1, "filename": "javac-parser-0.1.10.tar.gz", "has_sig": false, "md5_digest": "18bf9194ac45a3db5b5462501e5f2df7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3592576, "upload_time": "2017-09-11T21:56:28", "url": "https://files.pythonhosted.org/packages/80/26/49aea53603b93884da2169e62862883e699f05287683bfb2e4ee473be9b9/javac-parser-0.1.10.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "ab71bbe4c834b82f041415a6a4584888", "sha256": "49bf475622fd960671497e3d5ece0d63d052e833ef7f48657caad64e925d791c" }, "downloads": -1, "filename": "javac-parser-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ab71bbe4c834b82f041415a6a4584888", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2090968, "upload_time": "2017-08-08T17:12:28", "url": "https://files.pythonhosted.org/packages/6a/ca/61baa30cfd034eedf3cab8df5b9ba6a7780fd836c15913e388b51af434f0/javac-parser-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "f9a9e0b18d1b48f2b6d32abd82f15230", "sha256": "c00015e0a5d1709ff22a2230e5fe0eceee73d73f50d5eed685c6bf735c6aa5eb" }, "downloads": -1, "filename": "javac-parser-0.1.3.tar.gz", "has_sig": false, "md5_digest": "f9a9e0b18d1b48f2b6d32abd82f15230", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2091000, "upload_time": "2017-08-08T18:41:40", "url": "https://files.pythonhosted.org/packages/07/df/36c154ec9bc1e626baf332c4a79d38204a10c389d6ce46a0ad7a4ac94504/javac-parser-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "ce0e87694b754b672c3dc03d8ea6435b", "sha256": "df85ca538b7828a15233218dfef0e9ad33bb0f8a6b81ed0906bfbe64df02c77e" }, "downloads": -1, "filename": "javac-parser-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ce0e87694b754b672c3dc03d8ea6435b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2093179, "upload_time": "2017-08-09T21:35:09", "url": "https://files.pythonhosted.org/packages/6b/ba/2d50631a42ab43e937796cace3d147e80f24e36b308466eb1bd74e9af985/javac-parser-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "9602f0205743f843afb7b4030366d42f", "sha256": "0b2e03a850b9d7c5bea02c05fb5f66352bc8e8b3cd554977c19d7f0952f33e45" }, "downloads": -1, "filename": "javac-parser-0.1.5.tar.gz", "has_sig": false, "md5_digest": "9602f0205743f843afb7b4030366d42f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2094004, "upload_time": "2017-09-05T20:45:20", "url": "https://files.pythonhosted.org/packages/c8/0c/7290cddad50b447c582b5209d8855f7f1c4ac195c108d3e700918ad872a8/javac-parser-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "78768c39b76a3212f5317577ca3fb10c", "sha256": "02122074a81eee4eff1a106b1684bb8ccd3a8f1ae76038bccb57b524dcc22414" }, "downloads": -1, "filename": "javac-parser-0.1.6.tar.gz", "has_sig": false, "md5_digest": "78768c39b76a3212f5317577ca3fb10c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2094131, "upload_time": "2017-09-05T21:40:55", "url": "https://files.pythonhosted.org/packages/24/e8/4f1be625f9ab9018aef427bc4eca3ea7817c94097a3d162c9af62bb2b243/javac-parser-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "a75b4d6e7e67c574829774c1ae27e4ee", "sha256": "88a14f2874e6af5b606e685449114532e5a43a35b96674360b43db5946e082ae" }, "downloads": -1, "filename": "javac-parser-0.1.7.tar.gz", "has_sig": false, "md5_digest": "a75b4d6e7e67c574829774c1ae27e4ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8041, "upload_time": "2017-09-06T15:58:46", "url": "https://files.pythonhosted.org/packages/92/d7/a550f6a6213d03015a199f40c12db926598b9f1e85cde90a6684033ac4a9/javac-parser-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "4de4a0644b81edee8747494f07c5a39c", "sha256": "6046ddc0409ecbda5a5773754c27a0720e69d3a62146ed2039d1a834ab3a00af" }, "downloads": -1, "filename": "javac-parser-0.1.8.tar.gz", "has_sig": false, "md5_digest": "4de4a0644b81edee8747494f07c5a39c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2094270, "upload_time": "2017-09-06T16:10:25", "url": "https://files.pythonhosted.org/packages/42/fa/b17a6e7510780a227ea7e0f12cbc675d54a74285798b7bf781a8e6fd6958/javac-parser-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "9c1f4f0753bbd7e9971d14a15a5268ae", "sha256": "1108f7aa8d99fafba493fcdfaf1521cd0ee8618eb50fdef3c6dca2e0eb298ad9" }, "downloads": -1, "filename": "javac-parser-0.1.9.tar.gz", "has_sig": false, "md5_digest": "9c1f4f0753bbd7e9971d14a15a5268ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2094366, "upload_time": "2017-09-06T21:08:59", "url": "https://files.pythonhosted.org/packages/68/9c/5860c960e2b1146d55d08c2b049d2cdd0979a7f8b31f977f65e9ceedd08c/javac-parser-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "7531f0f46fd51098f9cd07fad7eb64a1", "sha256": "715529faadd6ab486472fb52079aac72b426b9ecbde12500f8719c4e489023b1" }, "downloads": -1, "filename": "javac-parser-0.2.0.tar.gz", "has_sig": false, "md5_digest": "7531f0f46fd51098f9cd07fad7eb64a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3592435, "upload_time": "2017-09-13T20:31:05", "url": "https://files.pythonhosted.org/packages/35/fb/03d7367bf9f28572658a4b657efb0b7cb533e9bf2ff554e8321885f44914/javac-parser-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "2959151d75a5297df87b36a0ebc4bb41", "sha256": "097065a4b42936ca25e72db1c103e7b8754925209b22ef7fe0bee0239e5c6bc9" }, "downloads": -1, "filename": "javac-parser-0.2.1.tar.gz", "has_sig": false, "md5_digest": "2959151d75a5297df87b36a0ebc4bb41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3593032, "upload_time": "2017-09-15T20:40:01", "url": "https://files.pythonhosted.org/packages/be/3b/bef036169075143dd83b365f5e3700fdae6a24a8aa7b53d9a8d4a07e25ed/javac-parser-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "97e211479e63bcc6c9323b38c3bc4d48", "sha256": "90f6fa2539e1dc9554f8b5286ea470285f7e889ad93393a7c9ddce005c913610" }, "downloads": -1, "filename": "javac-parser-0.2.2.tar.gz", "has_sig": false, "md5_digest": "97e211479e63bcc6c9323b38c3bc4d48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3593052, "upload_time": "2017-10-24T20:26:59", "url": "https://files.pythonhosted.org/packages/f9/d1/f094872925d13d5000c7d066c9c98e1443089e63a1b8f6972cea583d0108/javac-parser-0.2.2.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "07795ccd7fd94988239100d784a08133", "sha256": "915ea6fd8552fa89adb387bf0112ee9ec72648f6e104d5ad2bd0b9c54d75f1f6" }, "downloads": -1, "filename": "javac_parser-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "07795ccd7fd94988239100d784a08133", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3584649, "upload_time": "2018-05-17T17:45:08", "url": "https://files.pythonhosted.org/packages/1b/d5/5f2dd57c4663eca4e1a7b5df1c2051d6ea61c606f9fcf1f49fff2c08bada/javac_parser-0.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46dab744b743082d68530cc6c1483e6e", "sha256": "68b927b5316b0bffce0b6ef3988b4c61676b4b392fbb0d58f39e1b08d44c3d50" }, "downloads": -1, "filename": "javac_parser-0.2.4.tar.gz", "has_sig": false, "md5_digest": "46dab744b743082d68530cc6c1483e6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7171614, "upload_time": "2018-05-17T17:45:11", "url": "https://files.pythonhosted.org/packages/dd/e8/e9e5328fea101aab0e8199a12bc6f3b57fd97977634e6f77084cf23cd5cc/javac_parser-0.2.4.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "39bd7ec5dae532b353a15e98e2291b9f", "sha256": "30d827cb71310fc39ea85feb758db253e8877e84524b7914f014370918c286da" }, "downloads": -1, "filename": "javac_parser-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "39bd7ec5dae532b353a15e98e2291b9f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3585584, "upload_time": "2018-05-17T18:33:38", "url": "https://files.pythonhosted.org/packages/3a/5b/78223c9e7465a0f83ee1d5aee7065775f75897350ee9a5f115a8e2d1dfed/javac_parser-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "652a0a5b83989064c0baec011fcd2ac4", "sha256": "5563da1c1c3237af82020735a1b3e3aacf62f04008e5629f98e330e7d6c4b0c7" }, "downloads": -1, "filename": "javac_parser-1.0.0.tar.gz", "has_sig": false, "md5_digest": "652a0a5b83989064c0baec011fcd2ac4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3587777, "upload_time": "2018-05-17T18:33:41", "url": "https://files.pythonhosted.org/packages/79/b1/a9dad136b86d91fc0b9d4c55a8f5c1cc6c95cf974a111acbc325a83d20fd/javac_parser-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "39bd7ec5dae532b353a15e98e2291b9f", "sha256": "30d827cb71310fc39ea85feb758db253e8877e84524b7914f014370918c286da" }, "downloads": -1, "filename": "javac_parser-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "39bd7ec5dae532b353a15e98e2291b9f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3585584, "upload_time": "2018-05-17T18:33:38", "url": "https://files.pythonhosted.org/packages/3a/5b/78223c9e7465a0f83ee1d5aee7065775f75897350ee9a5f115a8e2d1dfed/javac_parser-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "652a0a5b83989064c0baec011fcd2ac4", "sha256": "5563da1c1c3237af82020735a1b3e3aacf62f04008e5629f98e330e7d6c4b0c7" }, "downloads": -1, "filename": "javac_parser-1.0.0.tar.gz", "has_sig": false, "md5_digest": "652a0a5b83989064c0baec011fcd2ac4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3587777, "upload_time": "2018-05-17T18:33:41", "url": "https://files.pythonhosted.org/packages/79/b1/a9dad136b86d91fc0b9d4c55a8f5c1cc6c95cf974a111acbc325a83d20fd/javac_parser-1.0.0.tar.gz" } ] }