Commit Graph

56 Commits

Author SHA1 Message Date
14c1b6f8d8 feat: Scanning of multiline comments 2024-07-29 16:38:21 -05:00
69339a955e feat: Add syntax errors to the tokenize command 2024-07-28 18:18:11 -05:00
0d96efd4d8 Minimal workflow for a Hello World 2024-07-27 18:44:54 -05:00
fe7cfe9d5f feat: Minimal conversion of THP->PHP AST 2024-07-27 17:34:32 -05:00
5102d25676 feat: Add interface to tokenize code from STDIN and output JSON 2024-07-05 17:49:19 -05:00
3f892e91c2 refactor(lex): dont emit newline before INDENT/DEDENT 2024-06-19 17:57:07 -05:00
78d01a8fc8 feat: indentation for bypassing statement termination 2024-06-15 21:02:45 -05:00
fa14439507 refactor: parse indentation on comparison 2024-06-15 16:28:23 -05:00
457c8f23bb refactor: 2nd strategy to handle indentation 2024-06-05 20:22:13 -05:00
d568114349 feat: parse indent/dedent inside expressions 2024-06-05 11:04:01 -05:00
0393995a49 test: simple tests for block parsing 2024-06-05 07:38:47 -05:00
778a1390a0 refactor: binding parsing 2024-06-02 19:29:25 -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
ab782b828d Infer datatype of unary operator 2024-05-30 14:59:45 -05:00
19cba2a7b3 Split Number into Int & Float 2024-05-06 10:13:21 -05:00
4f7fa0f5e3 Infer datatype of another identifier 2024-05-05 16:01:11 -05:00
c8d16fc77f Minimal typechecking for Binding 2024-05-04 19:23:53 -05:00
59894a1b64 Add even more tests 2024-05-04 19:08:22 -05:00
a7417e8a99 Add tests to function parameters 2024-03-18 16:41:11 -05:00
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
ec09dbfc0d Refactor parsing pt3 2024-03-15 16:56:45 -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
f97b8e2e07 Improve function semantic check 2024-03-09 08:05:51 -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
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
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
7379c469d3 Small changes 2023-12-16 20:35:24 -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
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
Araozu
ed0e163283 [Syntax] Refactor binding parsing 2023-10-05 20:26:47 -05:00
Araozu
f769a2ec1d tag 0.0.7 2023-10-05 06:56:21 -05:00
Araozu
03b5a1b6de Start function call parsing 2023-10-01 17:18:28 -05:00
Araozu
bbd82b07c4 Tag 0.0.6 2023-09-19 20:42:03 -05:00
Araozu
4f1fc93ceb Remove doc from compiler 2023-09-07 20:18:35 -05:00
Araozu
a88729b395 Move folders to add a new documentation generator binary 2023-03-27 09:41:16 -05:00
Araozu
e383d300f2 Show offending line and token when a syntax error is found 2023-03-15 16:33:00 -05:00
Araozu
d8ea08b28b Add simple error reporting for lexical errors (rebase) 2023-03-03 09:55:20 -05:00