Learning how to build an interpreter with Pypy's RPython.
Goal: a JIT-compiled interpreter for a simple Io-inspired OOPL, only a bit more pythonic in style and favored idioms.
See goals.org file for design goals, ideas and progress.
See the tutorial file for an outline of what it should look like.
To check the parser and the compiler working:
pip install -r requirements pip install http://www.pygame.org/ftp/pygame-1.9.1release.tar.gz python -m rio.parser "a b c(d); 50" --draw python -m rio.bytecode "a b c"
- Getting Started with Pypy development
- Coding Guide
- Kermit example interpreter:
- Pypy Tutorial - BF
- EBNF
- Other interpreters:
- lang-io: https://bitbucket.org/pypy/lang-io/
- CyCy: https://media.readthedocs.org/pdf/building-an-interpreter-with-rpython/latest/building-an-interpreter-with-rpython.pdf
- Pypy.js: http://pypyjs.org/
- Prolog on Pypy: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.103.1886&rep=rep1&type=pdf
- Smalltalk: Implementing a SM VM in Pypy in 1w / RSqueak
- Pixie (lisp): https://github.com/pixie-lang/pixie
- On bytecode generation: