helabenkhalfallah/zoodle
Zoodle is a compiler for a minimalist Toy Language written in Zig. It compiles source code into WebAssembly (WASM), with a focus on understanding low-...
Zoodle is a compiler for a minimalist Toy Language written in Zig. It compiles source code into WebAssembly (WASM), with a focus on understanding low-level systems programming, memory management, concurrency, and compiler internals.
This project is educational and hands-on — not just a compiler, but a complete deep dive into modern systems programming with Zig.
.wasm
binaries that run in browsers and WASM runtimesThe Toy Language is intentionally small but expressive. It supports:
int
, boolean
, and string
typeslet
if
, while
, return
fn main() -> int
Example program:
fn add(a: int, b: int) -> int {
return a + b;
}
fn main() -> int {
let result: int = add(3, 4);
return result;
}
Zoodle's compilation steps:
.wasm
binaryThis is a learning-focused project. Contributions, bug reports, and questions are welcome! Just open an issue or a pull request.
MIT License. See LICENSE
file for details.