Skip to content
A simple implementation of a dynamic language intended for an educational setting.
C C++ Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
h/sdyn
tests
.hgsub
.hgsubstate
Makefile
README.md
arg.h
exec.c
intrinsics.c
ir.c
jit-x8664.c
jit.c
main.c
parser.c
runtests.sh
test-jitasm
tokenizer.c
value.c

README.md

SDyn is a small dynamic language JIT. It is intended to be useful for eductional audiences, because while it does do all the necessary madness to qualify as a JIT, it does very little more than that.

The language itself is documented in docs/. The implementation is quite simple: The tokenizer and parser are in tokenizer.c and parser.c, and are a simple direct scanner and recursive-descent parser. The internal representation is SSA, and is documented in ir.c. The JIT itself is implemented in jit-arch.c, e.g. jit-x8664.c, and is documented in those files.

SDyn depends on GGGGC (Gregor's General-purpose Generational Garbage Collector), in ggggc, and SJA (small JIT assembler), included in smalljitasm.

You can’t perform that action at this time.