This is a CS4215 Project that demonstrates a compiler and a concurrent virtual machine. It consists of a Goose (our sublanguage of Golang) compiler, a Gosling (our VM's instruction language) interpreter, as well as a frontend to demonstrates its use. You can also find our presentation here (and slides.md). Our project report can be found here
Authors:
- Bharath Chandra Sudheer
- Hoang Trong Tan
You can find a deployed version of the frontend with the "go-slang" dependency in goose-liard.vercel.app. It provides a code editor which shows the compiled instruction output, filtered log visualiser and a VM visualiser to inspect threads, operand stacks, and runtime stack at breakpoints.
Follow the instructions found in ./go-slang and ./frontend.