update readme

This commit is contained in:
Neemek 2024-10-09 14:25:43 +02:00
parent e1f2c81ab0
commit c103307469
Signed by: neemek
GPG key ID: 28360A8951CD0E9B

View file

@ -2,46 +2,16 @@
The purpose of this project is to learn how to
make a virtual machine for interpreting generated
bytecode for improved performance. Hopefully, this
will apply to making virtual machines/emulators
for real processors
bytecode for improved performance.
## Programming language
## Getting
The programming language should be compiled, so
the performance is not massively impacted.
There is currently no installer, only a simple
executable that can be downloaded from the releases
page on github.
For example:
- Go
- Rust
- C++ (already used)
- js + bun
- zig
## Examples
I would like to use a language i know, and
preferably strongly typed. Rust has a great
compiler with warnings, but at the same time, it
would be nice to try out go for once.
## Components
The application would need a lexer, to process the
grammar into tokens.
Afterwards, the tokens need to be parsed. The type
of parser doesn't matter, but it may be nice to
try out an LR parser. The parser needs to generate
bytecode for the vm.
The vm, as my first, will be stack-based. It
should go through the generated bytecode and
execute it step by step. There should be support
for functions using "jump" instructions.
## Grammar
The programming language should have a specified
grammar. The grammar will be found as examples in
Examples of how to use the language are found in
./examples/.