creating a compiler