1
0
Fork 0
Commit graph

84 commits

Author SHA1 Message Date
e67eeaaa81
Finalize error handling 2025-02-26 23:30:04 +02:00
3e4d3fad7d
Minor fix to error handling 2025-02-26 22:52:32 +02:00
02026c42e0
Add error handling for parser 2025-02-26 22:31:04 +02:00
9a13d0b9b6
Add error handling for tokenizer errors 2025-02-26 21:50:08 +02:00
340de3c984
Fix bug with scopes 2025-02-26 19:43:43 +02:00
50d3d60a7f
Fix bug with max-sized ints 2025-02-26 19:29:36 +02:00
3b4e3d92fb
Fix issue with unit types 2025-02-26 19:14:42 +02:00
a8cef15331
Test for and fix bug in tokenizer RE: comments 2025-02-26 18:53:39 +02:00
051c264a23
Initial working submission, without errors 2025-02-26 18:36:03 +02:00
9fbb7b9a8f
First attempt at proper submission 2025-02-26 16:47:45 +02:00
e5a2348c79
Add intrinsics to assembly generator 2025-02-25 14:11:29 +02:00
9a6b4b230c
Assembly generator, excluding instrinsics 2025-02-21 17:05:08 +02:00
0c781f84b5
Add == and != to IR generator 2025-02-20 17:09:48 +02:00
554270cc40
Add '=' operator to IR Generator 2025-02-06 15:18:12 +02:00
52d7ebde15
Add 'and' and 'or' operators to IR Generator 2025-02-06 15:11:38 +02:00
b3a8188dfe
Add function calls to IR Generator 2025-02-05 23:28:00 +02:00
2cf26ec39d
Add while-loop to IR Generato 2025-02-05 23:00:58 +02:00
7dd60aa9c5
Fix bug in type checker 2025-02-05 23:00:39 +02:00
4d00bbb6ba
Add blocks to IR Generator 2025-02-05 21:01:40 +02:00
c9c3cacb53
Add variable declaration to IR Generator 2025-02-05 20:56:47 +02:00
2c62a19383
Add unary ops and if-then-else to IR Generator 2025-02-05 19:42:55 +02:00
d929f49bc8
Prefix unary ops with unary_ in tables 2025-02-05 18:15:37 +02:00
dc50ce64eb
Add first part of IR Generator implementation 2025-02-05 17:16:17 +02:00
f059870e81
Finalize type checker for now 2025-02-04 19:06:19 +02:00
ca2eeb9e50
Encapsulate expressions in AstNode struct 2025-02-04 18:45:17 +02:00
0d19f447f9
Add optional typing to var declarations 2025-02-04 18:05:56 +02:00
dc9cfcd211
Add type-checking for the majority of language features 2025-02-04 17:07:41 +02:00
b0420a9a5f
Add initial tests for type checker 2025-02-04 16:09:05 +02:00
50bc35753a
Clean up interpreter and align details with language spec 2025-02-04 15:37:39 +02:00
c92ff6140e
Fix if-then interpreting to align with language spec 2025-02-04 15:21:04 +02:00
958957e6dd
Rename module value to variable 2025-02-04 14:10:16 +02:00
77b89dbf37
Refactor interpreter get symtab as argument 2025-02-04 14:06:00 +02:00
1ec86d4845
Refactor symbol table to be non-horrible :D 2025-02-04 00:34:56 +02:00
38dd3f523b
Finalize interpreter for now 2025-02-03 23:04:36 +02:00
f4b208dfde
Add short-circuiting for 'and' and 'or' 2025-02-03 18:17:25 +02:00
1ed2ac97cc
Add support for variables in interpreter 2025-02-03 18:01:39 +02:00
520357d930
Add initial interpreter functionality (missing vars and funcs) 2025-02-03 16:35:06 +02:00
8d856d0651
Convert int values to i64 in accordance with spec 2025-02-03 16:34:15 +02:00
cd93c1a3bd
Add support for modulus operator 2025-02-03 16:33:02 +02:00
71ca729682
Finalize parser for now :D 2025-01-31 21:02:14 +02:00
58d9ec015e
Add final parser tests 2025-01-31 20:35:41 +02:00
d72fd82c7b
Add while-loop parsing 2025-01-31 20:08:24 +02:00
eb44a88121
Add tests for while loops 2025-01-31 20:06:13 +02:00
56281008e4
Add locations to AST Expressions 2025-01-31 19:49:46 +02:00
a2f96cc8df
Add support for omitting semicolons after blocks 2025-01-31 18:53:35 +02:00
000fa5b77b
Add tests for omitting semicolons 2025-01-31 18:28:03 +02:00
5d69d05c7b
Add variable declaration parsing 2025-01-31 17:58:29 +02:00
97ae0e5ce6
Add tests for variable declaration 2025-01-31 16:50:51 +02:00
640b4b8b10
Add parsing for blocks 2025-01-31 16:19:28 +02:00
b36a4b2bdf
Add tests for block expression parsing 2025-01-31 16:09:47 +02:00