Haskell interpreter of C-like imperative language.
Use make to compile.
Run
./intepreter program
where program is a source code will run the interpreter.
./good contains examples of valid programs while ./bad contains examples of invalid programs (or programs which fail during the execution)