YALWEE - yet another lightweight execution environment.
The project is divided into multiple parts:
- interpreter parts (written in x86_64 assembly)
- interpreter builder scripts
- embedding API
- useful utilities and scripts (tooling)
The user writes an specification which selects parts to be included into execution environment (interpreter). Specification can be used to build interpreter and associated bindings/extensions for programming languages.
For example, one can create some interpreter and embed it into Ruby programming language. Once embedded, generated API can be used to emit wordcode (2-byte wide bytecode) at run time. Emitted code can be evaluated by embedded interpreter.