small-vm
jstar
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
small-vm
-
Project and blog criticism
The accompanying virtual machine : https://github.com/Nathan-Furnal/small-vm
jstar
-
-❄️- 2023 Day 1 Solutions -❄️-
[LAUNGUAGE: J*]
-
What is your favorite programming language?
My language, obviously.
- Bamless/jstar: A lightweight embeddable scripting language
-
Implementing a Call Stack
Also, since you are willing to look at non-treewalk interpreters, you can take a look at this: https://github.com/bamless/jstar/blob/master/src/vm.h In this I use two parallel arrays, one for frames and one for variables. The frame contains the instruction pointer of the function and the address of the start of the activation record. Variables are stored packed inside the stack array and are accessed through indexing.
What are some alternatives?
RVVM - The RISC-V Virtual Machine
wax - A tiny programming language that transpiles to C, C++, Java, TypeScript, Python, C#, Swift, Lua and WebAssembly 🚀
libforth - libforth: A small Forth interpreter that can be used as a library written in c99
umka-lang - Umka: a statically typed embeddable scripting language
lc3-in-lc3 - A metacircular LC3 implementation
interpreter - A simple intepreter written in java.
lqsd - LiQuid Screen Dim - Dim your screen smoothly - Mirror of: https://git.korhonen.cc/FunctionalHacker/lqsd
gravity - Gravity Programming Language
Kwork - Cross-platform bundle for development on low memory machines
Metals - Scala language server with rich IDE features 🚀
frece - Maintain a database sorted by frecency (frequency + recency)