An IJVM interpreter, written in go.
This repository has been archived on 2026-01-13. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
Find a file
2021-04-09 12:07:47 +02:00
.github/workflows Initial commit 2021-04-08 18:39:01 +02:00
.gitignore Initial commit 2021-04-08 18:39:01 +02:00
.goreleaser.yml Initial commit 2021-04-08 18:39:01 +02:00
.travis.yml Initial commit 2021-04-08 18:39:01 +02:00
go.mod Initial commit 2021-04-08 18:39:01 +02:00
go.sum Initial commit 2021-04-08 18:39:01 +02:00
LICENSE Initial commit 2021-04-08 18:39:01 +02:00
main.go DEBUG now also prints instruction counter 2021-04-09 12:07:47 +02:00
README.md DEBUG now also prints instruction counter 2021-04-09 12:07:47 +02:00

goIJVM

Go Report Card Build Status

An IJVM interpreter, written in go.

Implements most of the instructions, excepts INVOKEVIRTUAL, IRETURN, LDC_W and the one for manipulating arrays. WIDE is also not implemented, as the stack is 16bit wide by default

Also added an instruction called DEBUG for printing out status of the stack and the variables.

Usage

Grab a release from the releases tab for your computer, and drag a file containing the instruction for the program you want to run on the executable.

Or you can always start the program and give the path of the program to run as the first argument.

Example: goIJVM.exe ./myProgram.ijvm