I looked at EVM, OVM, CosmWasm and Gnolang, and wanted to know how those work. I figured it would be a good idea to go through some books on interpreters and compilers. I chose to write an interpreter and a compiler in Go because I am more familiar with Go than C++. Maybe I'll try out C++ in the future.
Tree-walking interpreter.
- Parse source code
- lexer
- parser
- Build an abstract syntax tree (AST)
- AST
- internal object system
- Evaluate the AST
- evaluator
TBA