-
Notifications
You must be signed in to change notification settings - Fork 786
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Announcement] Esprima port to Python #1842
Comments
That's an incredible piece of work @Kronuz! Are you interested in donating back your Python port to the JS Foundation? If yes, then we should definitely upstream the Python implementation to converge with and live in this official repository! Thoughts? Comments? |
Absolutely! It'd be great indeed. Let me know how I could be of help. During the translation I spotted a few issues in the original sources. Later I'll try to add a few pull requests for those too. Some aren't harmful at all for JavaScript but just make sense, some are features and a couple should be dangerous. I'm also experimenting on adding some ESnext support; I started experimenting a bit with static class properties, but it still needs more work. It'd be great to have stage-3 to stage-0 support too (as an option). It'd be awesome to bring those to the original codebase as well. I'm using esprima-python as a base for a full rewrite of ECMAScript support for the next version of CodeIntel which will be used in SublimeCodeIntel (https://pypi.python.org/pypi/CodeIntel http://sublimecodeintel.github.io/SublimeCodeIntel/) as the JavaScript and Node.js support is currently very weak, slow and just plain lacking, so I'd want it to support all ES stages plus perhaps TypeScript as well. |
Hey, @ariya, any chance to chat? I want to ask you a few questions regarding the vision you have of esprima, I'd love to make a few tweaks here and there alongside the Python version like some source code cleanups and improvements for maintainability and performance. I'd love to keep the two versions in sync. |
These days, we tend to release Esprima major stable version every year, following the annual release of ECMAScript standard. There is a task to consider publishing a development version (#1749) that can contain Stage<4 features, but it requires some thought. It might be easier in the Python/PyPI, feel free to comment in that issue. @Kronuz If you would like to discuss some plans, feel free to use the mailing list or email me directly (you can easily Google for my email address)! |
I ported Esprima to Python, it's available here: https://github.com/Kronuz/esprima-python and it has been manually translated, the source code is an almost line by line translation from esprima v4.0.0-dev. It's fast and passes all tests.
pip install esprima
Feel free to open any issues regarding licensing, synergies with Esprima, improvements, possible usages.
The text was updated successfully, but these errors were encountered: