
I built a small programming language called UL, entirely in Python.
It’s not using any parsing libraries or frameworks — everything is handwritten:
- tokenizer
- recursive descent parser
- AST
- bytecode compiler
- stack-based virtual machine
The idea was to understand the full pipeline and build a deterministic runtime where:
- execution is predictable
- each stage is visible and inspectable
It supports:
- variables, functions, loops
- conditionals
- basic data structures
It’s also part of a larger system I’m working on that needs controlled execution rather than dynamic scripting.
Repo if anyone wants to check it out:
https://github.com/warheart1984-ctrl/ul-language-vm