CakeLang is an assembly-like programming language that I have written as an educational experience and interesting side project for me.
The language is assembled into bytecode that can be executed by the CakeLang Virtual Machine, which is the runtime for executing CakeLang bytecode.
The CLVM is designed to be a stack based machine. At the moment it support only integers, and for now will only deal with 8 bit numbers.
INSTRUCTIONS.md contains details about the CakeLang executable and contains a table of opcodes.
Build the assembler by running make build_assembler_production
and the runtime by running make build_runtime_production
.
Test out the language yourself by assembling the test.cks file.
bake_cake test.cks
This will produce a CakeLang executable called "output.cke". Execute this file by running
cake output.cke
- Create a basic lexer
- Write the token parser
- Compile parsed tokens to CakeLang bytecode
- Implement basic control flow instructions
- Implement execution of basic integer arithmetic instructions.
- Implement basic control flow instructions