Revised compiler.py