Compiler and interpreter