A small compiler for a custom language. This compiler generates byte code that can be run by the JVM. The custom language enables to perform simples operations like conditional or loop instructions. You can also declare functions, manipulate primitive types and use the standard API classes.