mirror of https://github.com/t1meshift/js.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
3 years ago | |
---|---|---|
.github/workflows | 3 years ago | |
grammars | 3 years ago | |
jasminesnake | 3 years ago | |
tests | 3 years ago | |
.gitignore | 3 years ago | |
LICENSE | 3 years ago | |
README.md | 3 years ago | |
requirements-dev.txt | 3 years ago | |
requirements.txt | 3 years ago | |
setup.py | 3 years ago | |
tox.ini | 3 years ago |
README.md
Jasmine Snake
Another JavaScript interpreter written on Python 3.
Requirements
- ANTLR 4
- Colorama
To run tests:
- pytest
You can get ANTLR here, other dependencies could be installed with pip:
pip install -r requirements.txt # Use requirements-dev.txt if you want to run tests
Running
antlr4 -Xexact-output-dir -o jasminesnake/lex -package lex -Dlanguage=Python3 -listener grammars/*.g4
python -m jasminesnake
Testing
# Running with -s is optional
python -m pytest -s
Credits
ESTree specification: https://github.com/estree/estree/
JavaScript grammar source: https://github.com/antlr/grammars-v4/tree/master/javascript/javascript
The snake: https://textart.io/art/lnl9xe1OsKIow7xPGeWDrAeF/snake