the front-end of a small compiler and an interpreter for the intermediate code generated by the compiler