Commit graph

24 commits

Author SHA1 Message Date
184c8f3d50
separate crates for compiler-lib, compiler-cli and vm 2024-08-14 00:26:18 +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