Program execution tools for a minimalistic dynamically typed language.
Git clone the repository (using --recursive
to also include Sub-Modules):
git clone --recursive https://github.com/FedericoStazi/dlang.git
Enter the dlang/
folder:
cd dlang/
Build Slang, DLANG-C and DLANG-VM:
./build.py all
Build Meta-DLANG-VM:
./build.py meta
Compile a program program.dlang
to byte-code:
./dlang_c/dlang_c program.dlang -o program.out
Interpret a byte-code program program.out
using DLANG-VM:
./dlang_vm/dlang_vm program.out
DLANG-VM provides many arguments, such as:
./dlang_vm/dlang_vm --jit-policy function --memory mark-and-sweep --optimizations copy-propagation,redundant-checks program.out
Interpret a byte-code program program.out
using Meta-DLANG-VM:
./meta_dlang_vm program.out
Run unit tests (only available if building DLANG-VM in Debug
mode):
./tests/test.py unit
Run differential tests:
./tests/test.py differential
Run fuzz tests:
./tests/test.py fuzz
Run benchmarks:
./tests/benchmark.py