simple compiler for a simple language which generates intermediate code