Some code to implement the compiler theory