A language interpreter written in Java, which simulates how a programming language would function. The interpreter implements several data types, instructions and expression types from popular programming languages, built‑in test programs, as well as multi‑threading.
It features a graphical user interface made using the JavaFX framework. The interface allows the user to inspect the state of a program or of its threads, by displaying elements such as: declared variables, opened files, heap table, thread locks etc.
I have tried to write a parser in Antlr, but gave up on doing so, as this interpreted language is slow and not that special. It was a project that I had to do for university, but it was interesting as a proof of concept. It helped me understand better how programming languages work, as well as a bit of multi-threading.