interpreter
JEvalExpr
interpreter | JEvalExpr | |
---|---|---|
2 | 1 | |
29 | 0 | |
- | - | |
0.0 | 6.3 | |
over 3 years ago | 8 months ago | |
Java | Java | |
MIT License | GNU General Public License v3.0 only |
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.
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.
JEvalExpr
What are some alternatives?
jmurmel - A standalone or embeddable JVM based interpreter/ compiler for Murmel, a single-namespace Lisp dialect inspired by Common Lisp
sof-language - The Stack with Objects and Functions Programming Language, a pure stack-based reverse-polish-notation functional and object-oriented experimental programming language.
jstar - A lightweight embeddable scripting language
Dyml - The YAML and DYML processor of your dreams, with ultimate comment support, written from scratch in Java!
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.
Nuua - The Nuua Programming Language - A zero dependencies, high level strong typed, interpreted language built on the top of modern C++17.
kagsa - KAGSA PROGRAMMING LANGUAGE
Crafting Interpreters - Repository for the book "Crafting Interpreters"