Tristan B. Velloza Kildaire
2a12c310a6
- Make the name of the function const and public for FuncCallInstr CodeEmitter - Added methods `getCursor()`, `getSelectedQueueLength()` and `getQueueLength()` - Removed old queue-specific methods DGen - Added emitting for FuncCallInstr instruction (function call support) - Now emit globals first BEFORE function definitions - Added debug prints per instruction to know what instruction is currently being transform()'d - After emitting sections add newlines between each to make for neater C code - `emitEntryPoint()` now adds a test for `simple_function_decls.t` (This should be removed soon) - Removed incorrect TODO in `finalize()` Dependency - Make the `nodePool` static, to ensure pooling carries over across multiple `DNodeGenerator` instances - Fixed handling of function calls in `expressionPass()` - do NOT add a so-called `FunctionDefNode` (remember functions are defined by `addFuncDef()`) - Set the Context of standalone variable assignments to the Context of the Variable entity representing the variable being assigned to TypeChecker - Assign the Context object stored in the `FunctionCall` statement to the `FuncCallInstr` Test cases - Updated test case `simple_function_decls.t` |
||
---|---|---|
rando | ||
source/tlang | ||
.gitignore | ||
README.md | ||
dub.json | ||
tets.d | ||
todo1.md |
README.md
tlang
Official Tristan Language project compiler
Documentation
Docs are available here.
Building
To build you will need dmd
and dub
installed. You can then run the following:
dub test --coverage
dub build
The first command is optional but you want to make sure the compiler is working so you may as well run all the unit tests - it won't take too long.
Usage
A list of all commands can be found by typing in the following:
./tlang