sof-language
interpreter
Our great sponsors
sof-language | interpreter | |
---|---|---|
1 | 2 | |
11 | 29 | |
- | - | |
4.0 | 0.0 | |
about 1 year ago | about 3 years ago | |
Java | Java | |
GNU General Public License v3.0 only | MIT License |
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.
sof-language
interpreter
-
Implementing a Call Stack
Here you go: https://github.com/bamless/interpreter. Look at the interpret/memenv package. The implementation really couldn't be more simple: it is just a queue of frame objects. pushStackFrame is called when calling a function, and popStackFrame when hitting a return or a function end. The MemoryEnvironment is instantiated by the interpreter visitor so all parts of it have access to the memory. The variables themselves are kept in an hashmap inside each Frame. Not the most efficient way but fast enough for a tree walking interpreter
-
Is there a FULL guide about creating a statically typed bytecode interpreter in C/C++?
https://github.com/bamless/interpreter/tree/master.
What are some alternatives?
jmurmel - A standalone or embeddable JVM based interpreter/ compiler for Murmel, a single-namespace Lisp dialect inspired by Common Lisp
chip8-swing - :video_game: Chip8 Emulgator written in Java 11 with Swing UI
jstar - A lightweight embeddable scripting language
snapmacro - Free and Open source Cross-platform bot creator with a new scripting language called snap to interact with the mouse, keyboard, and screen using Snap scripting language
OpenJ9 - Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
lang - This project provides a CLI and GUI interface to the Standard Lang implementation of the Lang Programming Language
JEvalExpr - Extensible Java Library and Tool to parse, interpret, compile and execute commands written in a language SQL Like.
Nuua - The Nuua Programming Language - A zero dependencies, high level strong typed, interpreted language built on the top of modern C++17.
Crafting Interpreters - Repository for the book "Crafting Interpreters"