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
|
||||
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/.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue