Official Tristan Language project compiler https://deavmi.assigned.network/projects/tlang
Go to file
Tristan B. Velloza Kildaire 04fc87d849 MetaProcessor
- Removed `break` which caused only one `sizeof()` function call to be replaced, we should have been looping over each `FunctionCall` found with `search` and then replacing ech that had a name of `sizeof` with a `NumberLiteral` expression
- Moved all type alias replacement code into a new method; `doTypeAlias(Container, Statement)`
- Added some rudiementary support for replacing any `IdentExpression` containing `size_t` with `uint`

IdentExpression

- Made it `MStatementSearchable` and `MStatementReplaceable`

Test cases

- Updated test case `meta/sizeof.t` to test the `sizeof(<expr>)` AST node in the `MetaProcessor`

Documentation

- Added diagram showing the `MStatementSearchable` and `MStatementReplaceable` in action
2023-05-21 13:19:31 +02:00
.github/workflows 🧠 Feature: Direct function calls (#11) 2023-04-28 11:03:46 +02:00
branding Array support (#1) 2023-04-20 11:21:50 +02:00
rando Fuck this is complicated (2/2) 2021-06-06 22:46:06 +02:00
source/tlang MetaProcessor 2023-05-21 13:19:31 +02:00
.gitignore .gitignore 2023-01-31 13:38:20 +02:00
README.md Update README.md 2023-03-26 14:13:56 +02:00
dub.json DUB configuration 2023-02-05 12:27:14 +02:00
extern_test.sh Check 2023-01-28 18:12:49 +02:00
macro_ast_replacemenet.png Parsing 2023-05-15 09:09:51 +02:00
macro_ast_replacemenet.xcf Parsing 2023-05-15 09:09:51 +02:00
macro_ast_replacement_sizeof_example.png MetaProcessor 2023-05-21 13:19:31 +02:00
macro_ast_replacement_sizeof_example.xcf MetaProcessor 2023-05-21 13:19:31 +02:00
malloc_test.sh Pointer support (#2) 2023-04-17 16:50:11 +02:00
tets.d Added testing files 2021-11-02 15:14:03 +02:00
texterned.c - Added `texterned.c` for later extern testing 2023-01-19 17:52:46 +02:00
todo1.md I wonder if that worked 2021-06-07 14:27:36 +02:00
wip.txt Array support (#1) 2023-04-20 11:21:50 +02:00

README.md

tlang

D

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