DSL (Domain Specific Language) with bytecode interpreter and compiler for it.
- DSL syntax description. Allows to generate a parser.
- Scanner and parser are used to convert source code to AST. Could be compiled for Wasm to be used in front-end syntax highlighting.
- Byte-code emitter takes AST as input and generate complete program in byte-code.
- Interpreter (Virtual Machine) executes a byte-code. State of VM can be saved as image and loaded later.