I'm doing this because:
- I want to learn about language design and implementation
- I don't want to just read the book or copy and paste the code from it and I want to do something else than C or Java
- Python is my main language these days and I want to use something I'm most comfortable with
- Maybe after Python version I decide to reimplement it (or make my own toy language) in Go. Or force myself to learn Rust which seems like a good idea.
This is work in progress.
Python 3.6 for no particular reasons except f-strings are used in few places. Other than that, it could easily be ported to even Python 2.7 (but I don't plan to).
pip install pylox
Make sure you run it with Python3, I suggest you install it inside virtualenv.
python3 -m pylox [script]
or if installed via pip: