Commit Graph

201 Commits

Author SHA1 Message Date
2d32f1a0bc Parse val/var binding & implicit val binding 2024-03-18 09:51:17 -05:00
f60992c303 Parse function return datatype 2024-03-18 09:20:21 -05:00
b0606195f5 Use val/var again instead of let/mut 2024-03-18 08:57:28 -05:00
8a039ffc64 Refactor parsing pt5 2024-03-15 17:42:35 -05:00
61051ed11b Parsing refactor pt4 2024-03-15 17:01:11 -05:00
ec09dbfc0d Refactor parsing pt3 2024-03-15 16:56:45 -05:00
98f67bd097 refactor syntax result pt2 2024-03-15 16:44:29 -05:00
e43eb9e137 Refactor parsing return values 2024-03-15 16:07:28 -05:00
1348020cd7 Simplify ParseResult struct 2024-03-15 15:49:02 -05:00
d822c64fd7 Define todos for v0.0.11 2024-03-09 21:54:29 -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
f97b8e2e07 Improve function semantic check 2024-03-09 08:05:51 -05:00
a39b0c0d5a Properly handle errors in compilation pipeline 2024-03-01 17:38:04 -05:00
a219faf283 Add a return type to main 2024-03-01 16:52:32 -05:00
e1a0afba36 Check if functions are declared twice 2024-02-03 20:21:48 -05:00
af0eb6414a Small refactors 2024-02-03 19:51:33 -05:00
83c0c59ae9 Implement a rudimentary symbol table 2024-02-02 06:53:24 -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
eb3b755a3c (lazily) codegen parsed expressions. v0.0.9 (rebase) 2024-01-06 19:09:35 -05:00
Araozu
02f3c9aee6 Use expressions as a function call callable 2024-01-02 12:45:45 -05:00
Araozu
6b65cd4fd4 Simple codegen for function calls 2024-01-02 09:50:48 -05:00
61de3b100f [Codegen] Minimal codegen for a Block 2024-01-02 07:06:46 -05:00
ef70bc1cc0 Minimal error display for syntax error 2024-01-02 06:32:56 -05:00
6e2b7da22f Improve code display in error msg 2023-12-26 20:39:30 -05:00
52bb445f90 Improve error messages for lexic errors 2023-12-24 19:43:51 -05:00
e0a33e22ba Re-enable REPL support 2023-12-23 18:55:21 -05:00
2830a1befd Refactor Binding 2023-12-16 20:51:12 -05:00
3e592392a8 Change syntax from val/var to let (mut) 2023-12-16 20:47:42 -05:00
7379c469d3 Small changes 2023-12-16 20:35:24 -05:00
498f8fb87f Re-enable compile command 2023-12-13 20:29:04 -05:00
3d5c7769e6 Now every cli command handles its own arguments 2023-12-13 20:03:23 -05:00
6c774f960a CLI help & empty commands 2023-12-13 06:33:32 -05:00
09c267139d CLI help command 2023-12-12 21:24:12 -05:00
2583c35f21 Use colored for CLI output 2023-12-12 20:58:09 -05:00
f6c1664816 Minimal CLI command & options parsing 2023-12-12 20:49:39 -05:00
6399bd338c Remove clap & colored 2023-12-10 20:32:20 -05:00
0337e4f5ff Define CLI interface 2023-12-09 20:04:44 -05:00
cae07fcc49 small changes 2023-12-09 19:23:03 -05:00
dcffe062a1 Parse binary operators 2023-11-21 21:40:11 -05:00
d4a633f7c0 Parse binary / * 2023-11-21 21:29:55 -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
c02e1c1f8e [Syntax] Parse function call inside a binding 2023-11-04 06:52:46 -05:00
799cda1bf0 [Syntax] Refactor the expression parser to use ParseResult 2023-11-04 06:46:42 -05:00
e02a95f065 fix tests 2023-11-04 05:41:16 -05:00