Overview
HawkVM is a lower-level programming project focused on understanding how languages work beneath the surface. Instead of using a framework to hide complexity, this project explores the actual pieces involved in reading and executing code.
What I Built
The project includes language features such as print statements, arithmetic expressions, variables, conditional execution, and basic runtime error handling. The goal is not to create a production programming language, but to build a clear educational model of how a small language can be interpreted.
Technical Decisions
I structured the project around separate responsibilities: scanning source text, recognizing tokens, parsing statements and expressions, and evaluating the resulting logic. This helped me practice breaking a complex system into smaller parts that can be understood and tested.
What I Learned
HawkVM helped me better understand parsing, expression evaluation, control flow, error handling, and the challenges of designing even a small language. It also gave me more confidence working in C and thinking carefully about program structure.