ghoLang: A Custom Bytecode Virtual Machine & Interpreter
ghoLang is a programming language runtime I built in C from the ground up. Source code goes through a hand-written single-pass Pratt parser that compiles it directly into dense bytecode chunks, handling operator precedence without any parser generator. That bytecode runs on a stack-based VM with call-frame tracking, dynamic constant pools, and O(1) string comparisons via interning and bitwise-AND hash probing. Memory is managed by a tri-color mark-and-sweep garbage collector with self-adjusting heap growth thresholds, and the language supports first-class Lua-style closures with heap-migrating upvalues alongside a class system with single inheritance and constant-time method dispatch. I've since expanded the runtime with string interpolation, iterable hash maps, and module resolution.
A language runtime built one virtual machine instruction at a time.