Tristan B. Velloza Kildaire
e919dcc8e4
- Removed the `varDecWantsConsumeVarAss` as it is not used anymore - The transformation of the `VariableAssignmentInstr` instruction (which is generated by a corresponding `VariableStdAloneAss` parser node) does not check for `varDecWantsConsumeVarAss` anymore and will directly `transform(varAss.data)` (the embedded `Value` instruction in the `VariableAssignmentInstr` - If a `VariableDeclaration` instruction has an assignment then we extract the `Value` instruction from it and perform a `transform(Value)` - no longer do we have an intermediary `VariableAssignmentInstr` Instruction - `VariableDeclaration` now uses a `Value`-based instruction rather than a `VariableAssignmentInstr` as the embedded `varAssInstr` Dependency - The creation of a `StaticVariableDeclaration` DNode for `Variable`-declarations that happen to have assignments will now process such assignments by pooling the expression being assigned (via `expressionPass()` and then make the `VarDecNode` depend on it, therefore removing the intermediary `VariableAssignmentNode` dependency-node Typechecker/Codegen - When processing a variable declaration (a `StaticVariableDeclaration` dependency-node) we now pop an instruction which would be directly the `Value`-based instruction that we `need()`'d in the dependency generation (this links up with the changes made to the dependency generation for variable declarations) |
||
---|---|---|
rando | ||
source/tlang | ||
.gitignore | ||
README.md | ||
dub.json | ||
extern_test.sh | ||
tets.d | ||
texterned.c | ||
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