Official Tristan Language project compiler https://deavmi.assigned.network/projects/tlang
Go to file
Tristan B. Velloza Kildaire 065c8d5816 Exceptions
- `TypeCheckerException` now inherits from `TError`
- `TypeCheckerException`  now produces a neat error message using an enum `TypecheckError`
- Added new sub-class `TypeMismatchException` to be used when two types do not match

TypeChecker

- Hoisted out the coercion code into two methods, `isCoercibleRange` and `attemptCoercion`
- Make both variabel declarations (with assignments) and standlaone variable assignments call the `attemptCoercion()` method when the call to `isSameType(Type t1, Type t2)` returns `false`

Test cases

- Added new test case `simple_literals2.t`
2023-02-04 14:37:40 +02:00
rando Fuck this is complicated (2/2) 2021-06-06 22:46:06 +02:00
source/tlang Exceptions 2023-02-04 14:37:40 +02:00
.gitignore .gitignore 2023-01-31 13:38:20 +02:00
README.md App 2022-12-14 19:49:08 +02:00
dub.json Commands 2023-01-26 16:32:55 +02:00
extern_test.sh Check 2023-01-28 18:12:49 +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

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