|
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 |
|
|
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 |
|