62 lines
1.3 KiB
Markdown
62 lines
1.3 KiB
Markdown
## Bytecode
|
|
|
|
- [x] Byte array
|
|
- Auto-expand
|
|
- Add/retrive byte/int/float/string
|
|
- Should not be larger than the byte array itself
|
|
- [x] Bytecode
|
|
- Add/retrive all types of data
|
|
- Keeps no memory except for caching
|
|
- [x] Refactor bytecode code
|
|
|
|
Improvements:
|
|
- [x] Fixed int type (based on opcode)
|
|
- [x] Constant type (only floats and strings for now)
|
|
|
|
After some additional development:
|
|
- [ ] Bytecode debugging info
|
|
|
|
|
|
## VM
|
|
|
|
- [x] VM
|
|
- [x] Code
|
|
- [x] Simple bytecode loader
|
|
- [x] Output bytecode format
|
|
- [x] Value object
|
|
- [x] Stack object
|
|
- [x] External interface
|
|
- [x] Code execution (except functions)
|
|
- [x] Functions
|
|
- [x] Print stack
|
|
- [x] Assembler
|
|
- [ ] VM execution
|
|
- [ ] Stack operations (nil, integer, float, string, function)
|
|
- [ ] Integer
|
|
- [ ] Float
|
|
- [ ] String
|
|
- [ ] Expressions
|
|
- [ ] Local/global variables
|
|
- [ ] Functions
|
|
- [ ] Constants
|
|
- [ ] Other operations
|
|
- [ ] Arrays
|
|
- [ ] Iteration
|
|
- [ ] Expressions
|
|
- [ ] Tables
|
|
- [ ] Iteration
|
|
- [ ] Metatables
|
|
- [ ] Expressions
|
|
- [ ] Control flow
|
|
- [ ] Compilation
|
|
- [ ] Error handling
|
|
- [ ] C++ API
|
|
- [ ] Run native code on VM
|
|
- [ ] Run tyche code from C++
|
|
- [ ] C API
|
|
|
|
After some additional development:
|
|
- [ ] Bytecode loader
|
|
- Combine multiple chunks
|
|
- Resolve function ids, constant ids, etc
|
|
- [ ] Upvalues |