Sharktheone/yeeeeem

A toy JVM

Zig

1

27 commits

updated Sep 10, 2024

See the code
java
jvm
jvm-bytecode
vm
zig
ziglang

See what people are saying (1)

SourceMessageScoreDate

What Zig felt like, coming from Rust

> The first thing that caught me off guard — and honestly, who would’ve expected this to be the memorable part — was IDE support, or the near-total lack of it. Yeah this was also surprising to me the first time I tried Zig. ZLS exists, but back when I last used it it was unstable and crashed…

0

Sep 20, 2026

README

yeeeeem

A very simple JVM written in zig, supporting a subset of it's instructions and capabilities.

Getting started

First you need to install zig. If you have it installed, you can run the following command to build yeeeeem:

zig build

then you need to have some sort of java class. For a simple hello world, create a file main.java

class Main {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

then compile it to a class file via

javac main.java

you can then run it in yeeeeem

./zig-out/bin/yeeeeem Main.class

Demo

Why the name?

Well, since we want to make fun of java, we call it yava.

So it is a YVM or Yava Virtual Machine, this looks bad, so why not YM.

And since we have fun it's yeeeeem!

Pronounced more like yeeee-em

Contributors

Sharktheone

27 commits

Sharktheone/yeeeeem

A toy JVM

Zig

1

27 commits

updated Sep 10, 2024

See the code
java
jvm
jvm-bytecode
vm
zig
ziglang

See what people are saying (1)

SourceMessageScoreDate

What Zig felt like, coming from Rust

> The first thing that caught me off guard — and honestly, who would’ve expected this to be the memorable part — was IDE support, or the near-total lack of it. Yeah this was also surprising to me the first time I tried Zig. ZLS exists, but back when I last used it it was unstable and crashed…

0

Sep 20, 2026

README

yeeeeem

A very simple JVM written in zig, supporting a subset of it's instructions and capabilities.

Getting started

First you need to install zig. If you have it installed, you can run the following command to build yeeeeem:

zig build

then you need to have some sort of java class. For a simple hello world, create a file main.java

class Main {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

then compile it to a class file via

javac main.java

you can then run it in yeeeeem

./zig-out/bin/yeeeeem Main.class

Demo

Why the name?

Well, since we want to make fun of java, we call it yava.

So it is a YVM or Yava Virtual Machine, this looks bad, so why not YM.

And since we have fun it's yeeeeem!

Pronounced more like yeeee-em

Contributors

Sharktheone

27 commits

Languages

Zig

100.0%