Commit Graph

43 Commits

Author SHA1 Message Date
b7d7244cfa fix: add tests to the function declaration parser 2024-10-01 14:57:52 -05:00
1a7dd72783 refactor: migrate syntax errors into new struct 2024-09-15 16:34:46 -05:00
d4f34b62e2 feat: typecheck conditionals and for loops 2024-08-29 09:54:53 -05:00
441db4bcad feat: typecheck arrays 2024-08-29 09:12:08 -05:00
438802d011 feat: parse while loops 2024-08-28 09:45:58 -05:00
86166c2105 feat: parse loops 2024-08-28 08:53:06 -05:00
fa4d79dbe4 feat: parse arrays 2024-08-27 18:34:30 -05:00
72bd8c50c9 feat: parse conditionals 2024-08-27 16:13:59 -05:00
4ac01099ce chore: update changelog 2024-08-13 15:19:18 -05:00
e52176f90c feat: store tokens in ast for basic nodes 2024-08-13 08:04:01 -05:00
d999b8ecfd feat: store paren positions on argument list 2024-08-12 20:08:09 -05:00
96d3e11951 feat: store tokens for all primitive nodes in the ast 2024-08-12 19:51:24 -05:00
d88d2e7f2d feat: store token on expression::int 2024-08-12 19:36:31 -05:00
833a8774d8 feat: store identifier token in the ast 2024-08-12 18:44:05 -05:00
9cd1b70103 feat: codegen of top level expressions 2024-08-01 15:37:00 -05:00
0d96efd4d8 Minimal workflow for a Hello World 2024-07-27 18:44:54 -05:00
6a951434f3 refactor: impl Parseable for Block 2024-06-04 20:23:50 -05:00
ade1a809aa refactor: fix broken build, disable some tests until refactor is done 2024-06-02 08:36:12 -05:00
1d4cec5548 refactor: module constructions 2024-06-01 21:32:16 -05:00
5dafd6ca20 refactor: begin to simplify AST 2024-06-01 18:57:10 -05:00
18f3f21eec Typecheck function block 2024-05-30 16:09:52 -05:00
19cba2a7b3 Split Number into Int & Float 2024-05-06 10:13:21 -05:00
a7417e8a99 Add tests to function parameters 2024-03-18 16:41:11 -05:00
f60992c303 Parse function return datatype 2024-03-18 09:20:21 -05:00
1348020cd7 Simplify ParseResult struct 2024-03-15 15:49:02 -05:00
ac2ab8d2dc Check for function & binding duplication in the global scope 2024-03-09 21:34:05 -05:00
ed9ccab5e1 Add lifetimes 2024-03-09 12:33:11 -05:00
e074e2cd74 Use ref to a Token instead of a string value 2024-03-09 12:21:52 -05:00
cb1c0d80f8 Begin work on semantic analysis 2024-01-21 20:27:30 -05:00
2184f7e654 Parse function parameters 2024-01-21 15:06:53 -05:00
a605d182b4 Codegen function call parameters 2024-01-11 19:36:11 -05:00
a6bff95d24 Parse function call parameters 2024-01-11 19:29:19 -05:00
Araozu
02f3c9aee6 Use expressions as a function call callable 2024-01-02 12:45:45 -05:00
61de3b100f [Codegen] Minimal codegen for a Block 2024-01-02 07:06:46 -05:00
2830a1befd Refactor Binding 2023-12-16 20:51:12 -05:00
a54abcc394 Structure for parsing operators. Parse unary operator 2023-11-21 21:02:50 -05:00
c045721f46 Change grammar to incorporate binary operators 2023-11-21 07:49:49 -05:00
799cda1bf0 [Syntax] Refactor the expression parser to use ParseResult 2023-11-04 06:46:42 -05:00
Araozu
18cbe2a8ab [Syntax] Parse var/val binding as statemente 2023-10-05 06:51:48 -05:00
Araozu
0630287e34 [Syntax] Parse function call as a statement 2023-10-05 06:31:24 -05:00
Araozu
971b9d9516 Parse minimal function call 2023-10-01 17:43:59 -05:00
Araozu
c4d13e76bc Parse empty arguments list 2023-10-01 17:37:19 -05:00
Araozu
03b5a1b6de Start function call parsing 2023-10-01 17:18:28 -05:00