serialization/deserialization of datum in VM
All checks were successful
per-push tests / build (push) Successful in 1m34s
per-push tests / test-frontend (push) Successful in 41s
per-push tests / test-utility (push) Successful in 45s
per-push tests / test-backend (push) Successful in 44s
per-push tests / timed-decomposer-parse (push) Successful in 50s
All checks were successful
per-push tests / build (push) Successful in 1m34s
per-push tests / test-frontend (push) Successful in 41s
per-push tests / test-utility (push) Successful in 45s
per-push tests / test-backend (push) Successful in 44s
per-push tests / timed-decomposer-parse (push) Successful in 50s
This commit adds logic to serialize and deserialize datum, as well as the start of some total binary format. It implements serialize and deserialize routines per datum type. Tests are included for comples cases. Similar code existed in the organelle package which was then centralized here. Additionally: this commit makes release target binaries smaller and faster Signed-off-by: Ava Affine <ava@sunnypup.io>
This commit is contained in:
parent
0f85292e6f
commit
389bf6e9a0
6 changed files with 471 additions and 84 deletions
25
readme.md
25
readme.md
|
|
@ -8,9 +8,28 @@ project: a POSIX shell interpreter as well as a compiled to bytecode language fo
|
|||
running on ESP32 devices.
|
||||
|
||||
## Current Status
|
||||
Currently the lexer and parser are implemented. On an X86 machine equipped with 64GB
|
||||
RAM and an AMD Ryzen 7900 CPU this lexer and parser are capable of creating a fully
|
||||
The lexer and parser are implemented. On an X86 machine equipped with 64GB RAM
|
||||
and an AMD Ryzen 7900 CPU this lexer and parser are capable of creating a fully
|
||||
validated abstract syntax tree from approximately 11200 lines of handwritten scheme
|
||||
in about 55 milliseconds on average.
|
||||
|
||||
Currently the bytecode VM and its instruction set are next to implement.
|
||||
|
||||
HyphaeVM is mostly implemented. The instruction set is defined and implemented,
|
||||
including extensibility interfaces and the VM layout. Additionally, instruction
|
||||
encoding and decoding are implemented. Garbage collection is implemented (via
|
||||
reference counting). Currently being implemented are datum encoding/decoding and
|
||||
full program encoding/decoding. Yet to be approached are debugging routines, CLI
|
||||
utilities, and concurrency features. However, Documentation has been written on
|
||||
programming with HyphaeVM.
|
||||
|
||||
|
||||
The R7RS-Small Scheme to HyphaeVM compiler is not implemented.
|
||||
|
||||
|
||||
R7RS-Large is not implemented.
|
||||
|
||||
|
||||
The Linux/Mac/Windows runtime and extended compiler is not implemented.
|
||||
|
||||
|
||||
Documentation is not implemented.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue