Compile sources with javac Triangle/Compiler.java javac TAM/Interpreter.java javac TAM/Disassembler.java javac TAM/Assembler.java Use compiler as follows: java Triangle.Compiler Examples/count.tri (this generates a TAM object file named Examples/count.tam) Run the executable as follows: java TAM.Interpreter , this will execute the file obj.tam, or java TAM.Interpreter Examples/count.tam to execute an arbitrary file. The TAM.Disassembler is used analogously. This is an expanded version of the both the compiler and the abstract machine. The compiler has been expanded with file I/O, see the documentation in the ExtraDocs directory. Some of the initial memory limits were also increased: Programs may now have up to 32729 instructions and address 32768 words of memory (shared between heap and stack).