1
0
Fork 0
Commit graph

64 commits

Author SHA1 Message Date
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
9e8df0750f
Add comments with precedence levels 2025-01-31 15:42:09 +02:00
22083ae1f2
Add assignment parsing 2025-01-31 14:19:01 +02:00
3080313e8c
Add unary op parsing 2025-01-31 14:04:17 +02:00
ca254a34c6
Expand unary and assign tests 2025-01-31 14:03:20 +02:00
385dc98255
Expand unary and assign tests 2025-01-31 13:58:04 +02:00
bb3c13372f
Add tests for unary ops and assignment 2025-01-31 13:30:05 +02:00
0691c22487
Add support for all left-associative binary ops 2025-01-31 13:19:40 +02:00
04e390c6f9
Safe refactor 2025-01-31 13:05:47 +02:00
afbfdc7caa
Change parser tests to use tokenizer 2025-01-31 13:03:38 +02:00
8ea712df0b
Reorganize parser tests 2025-01-29 16:51:33 +02:00
2fac914fda
Split parser into three files, to simplify navigation 2025-01-29 16:46:28 +02:00
4c085e89d4
Move parser util functions into separate module 2025-01-29 16:34:18 +02:00
101437d9fe
Clean up and refactor parser code so far 2025-01-29 16:26:24 +02:00
f4921294e6
Tweaks and macros to make code more compact 2025-01-29 15:14:27 +02:00
bdb59aaee0
Minor non-functional tweaks 2025-01-29 14:34:40 +02:00
2bc9b0aa8d
Add function parsing 2025-01-29 14:34:21 +02:00
a7adbe0f5b
Expand and adjust function parsing tests 2025-01-29 14:33:25 +02:00
c133ced4fc
Add tests for function parsing 2025-01-29 13:27:29 +02:00
8d4f452f34
Add parsing for conditionals 2025-01-28 19:33:15 +02:00
f3a252b510
Add tests for if-then-else before adding parsing 2025-01-28 18:57:51 +02:00
e4ffd1ab55
Add more tests. Handle garbage input 2025-01-28 18:28:48 +02:00
d05156d300
Add parsing and tests for parenthesized expressions 2025-01-28 17:57:19 +02:00
10f7e32046
Add precedent operators * and / 2025-01-28 17:15:28 +02:00
3c45dcbb4c
Parse multiple BinaryOps and fix associated tests 2025-01-28 17:04:19 +02:00
b10f5f39fd
Add identifier parsing for BinaryOp 2025-01-28 16:55:34 +02:00
ca5204d4b2
Add tests for future parser features 2025-01-28 16:47:11 +02:00
ffc0e812a2
Add very minimal +/- binary op parsing 2025-01-24 14:41:23 +02:00