update readme
This commit is contained in:
parent
e1f2c81ab0
commit
c103307469
1 changed files with 7 additions and 37 deletions
44
README.md
44
README.md
|
|
@ -2,46 +2,16 @@
|
||||||
|
|
||||||
The purpose of this project is to learn how to
|
The purpose of this project is to learn how to
|
||||||
make a virtual machine for interpreting generated
|
make a virtual machine for interpreting generated
|
||||||
bytecode for improved performance. Hopefully, this
|
bytecode for improved performance.
|
||||||
will apply to making virtual machines/emulators
|
|
||||||
for real processors
|
|
||||||
|
|
||||||
## Programming language
|
## Getting
|
||||||
|
|
||||||
The programming language should be compiled, so
|
There is currently no installer, only a simple
|
||||||
the performance is not massively impacted.
|
executable that can be downloaded from the releases
|
||||||
|
page on github.
|
||||||
|
|
||||||
For example:
|
## Examples
|
||||||
- Go
|
|
||||||
- Rust
|
|
||||||
- C++ (already used)
|
|
||||||
- js + bun
|
|
||||||
- zig
|
|
||||||
|
|
||||||
I would like to use a language i know, and
|
Examples of how to use the language are found in
|
||||||
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/.
|
./examples/.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue