using Python to create ad hoc and universal compilers