Commit graph

41 commits

Author SHA1 Message Date
6b577e91f8
fix compilation: insert procedures at front, ltvm: use 0 as default entrypoint 2024-10-18 21:22:56 +02:00
5c2a610d31
ltcc: exit with error code when typecheck or compilation fails 2024-10-18 21:13:44 +02:00
b8535aa772
wip typing 2024-10-09 07:28:56 +02:00
c9c42d383f
ltcc: add laddertypes dependency 2024-10-04 02:59:01 +02:00
d295243dd0
wip infer_type 2024-10-04 02:59:01 +02:00
2ac69a7b12
expr: replace old builder functions with direct constructors; add more region tags 2024-10-04 02:59:01 +02:00
1a152670d3
runtime types 2024-10-04 02:59:01 +02:00
8fd59f04ee
adapt to TypeDict trait 2024-10-04 02:59:01 +02:00
0cbbcd5b24
actually use tab-corrected column indices in diagnostic output 2024-10-04 02:08:21 +02:00
ce3967c2de
change color of ltcc diagnostic message to yellow 2024-10-01 15:48:07 +02:00
70e5ef734c
runtime: change typenames to use . for namespaces ; please fixup 2024-10-01 15:35:40 +02:00
7441826f58
ast: input region tag for every node; fixup tests & region calculation in lexer 2024-10-01 14:51:45 +02:00
bacb3cf519
runtime: change typenames to use . for namespaces 2024-10-01 14:49:20 +02:00
7cc47f05c5
add Ascend/Descend nodes to AST,Parser&Lexer 2024-09-30 11:27:35 +02:00
08f592ad60
ltcc: parsing of double quoted strings
use double quotes in examples
2024-09-29 22:43:16 +02:00
f5984e0b08
ltvm: expect message for entry symbol 2024-09-29 22:43:15 +02:00
cf2ea4df78
diagnostic formatting: respect tab characters 2024-09-29 22:43:15 +02:00
4e9a4d1204
separate crates for compiler-lib, compiler-cli and vm 2024-09-29 22:43:15 +02:00
72122bf4fc
wip examples 2024-06-11 15:17:58 +02:00
541702de55
improve diagnostic formatting 2024-06-11 15:16:05 +02:00
f5f22ad65d
show more compiler errors as diagnostic message that cites the source region 2024-05-18 18:54:32 +02:00
8d19767c98
add export block and ability to load multiple files 2024-05-18 18:01:41 +02:00
f06bf14b52
parser: pass through token ranges in errors & add simple diagnostics output that cites the source file 2024-05-16 13:14:00 +02:00
f8a967abbf
load example program from file 2024-05-16 00:47:37 +02:00
9ad58620d6
lexer: parse comments 2024-05-15 23:51:20 +02:00
4b879a5516
parser: make iterator type more generic 2024-05-15 23:46:07 +02:00
b336f2f847
disallow '.' as mapsTo token (only ↦ now)
Intention is to reuse the '.' token as namespace delimiter
and '::' to be used as return type prefix instead
2024-05-15 21:48:33 +02:00
312e97193a
improve main example 2024-05-15 21:40:28 +02:00
2b7d974851
update runtime with new vm-instructions & improve example in main.rs 2024-05-14 14:49:15 +02:00
34e3d3a231
parse struct-binding blocks 2024-05-14 09:56:19 +02:00
34a129d101
lexer: add input region for each token 2024-05-13 22:55:24 +02:00
c910265531
runtime: adapt to new instruction set 2024-05-13 21:51:28 +02:00
f26e24bba1
cargo fmt 2024-05-12 18:58:39 +02:00
49c72e8930
parse type annotations to ast 2024-05-12 18:56:10 +02:00
f54f630b38
adapt Abstraction variant of LTExpr to allow multiple parameters
This avoids unneccesary recursive chaining and also allows abstractions with zero parameters.
2024-05-12 04:22:37 +02:00
a6282c00eb
local function definition via let 2024-05-11 18:07:58 +02:00
e23d8257d0
make let a statement & support parsing for let 2024-05-11 01:19:54 +02:00
d7c06d423e
first basic parser 2024-05-11 00:00:20 +02:00
ebc5f720bf
parser wip 2024-05-09 20:13:10 +02:00
09e9e063ae
implement scoped variable allocation & assignment 2024-05-08 13:09:49 +02:00
94ca9ca69f
initial commit 2024-05-05 18:19:28 +02:00