Skip to content

Latest commit

 

History

History
21 lines (16 loc) · 1000 Bytes

README.md

File metadata and controls

21 lines (16 loc) · 1000 Bytes

A compiler from a subset of Python 3.4 (starting with abstract syntax trees in Python's ast form) to CPython 3.4 bytecode. The compiler is coded in that same Python subset; it can compile itself.

It can optionally run on top of a port of byterun to Python 3.4. (The original Byterun runs in 2.7 or 3.3.)

I've greatly stripped down and modified the version of byterun in this repo, and extended the compiler a bit, to run both together, i.e. the compiler-compiled compiler and interpreter on the interpreter.

This is a continuation of https://github.com/darius/500lines/tree/master/bytecode-compiler

See article-code for the version published in Code Words. Also, for tweaks to run in Python 3.5 and 3.6.

If you run a later CPython version, don't expect this to work there. I haven't tried it.