civic compiler in python from scratch (no toolchains)