ICE (Intermediate Code Engine) and ICE/T (ICE/Translator) are compiler back ends that execute on a Java Virtual Machine (JVM). They allow the student to complete a working compiler quickly and can execute on any platform that supplies a JVM. ICE is a quadruple interpreter that executes ICE code directly, and includes an assembler, which a builder can use to side-step most symbol management issues. ICE/T is a translator that accepts ICE assembly code as input, and generates an equivalent Java class file as output. This paper advocates the use of these tools in compiler implementation courses.
/lp/association-for-computing-machinery/ice-and-ice-t-tools-to-assist-in-compiler-design-and-implementation-MQLqL0jDEw