Commit Graph

188 Commits

Author SHA1 Message Date
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
8429ca8d8f refactor: yet another strategy to parse indentation around binary op 2024-06-15 19:32:04 -05:00
d08019c010 refactor: new strategy to handle indentation around binary op 2024-06-15 19:04:40 -05:00
56ea63cf8c refactor: parse indentation on term 2024-06-15 16:36:27 -05:00
fa14439507 refactor: parse indentation on comparison 2024-06-15 16:28:23 -05:00
be8c16ccf0 refactor: implement new indent strategy on equality parsing 2024-06-05 20:50:01 -05:00
9685c132c5 refactor: abstract indent/dedent handling to macros 2024-06-05 20:45:22 -05:00
457c8f23bb refactor: 2nd strategy to handle indentation 2024-06-05 20:22:13 -05:00
4d9c7fae3e feat: handle indent/dedent in == parsing 2024-06-05 12:05:32 -05:00
d568114349 feat: parse indent/dedent inside expressions 2024-06-05 11:04:01 -05:00
7332a2e13f refactor: organize files for parsing expressions 2024-06-05 07:57:59 -05:00
0393995a49 test: simple tests for block parsing 2024-06-05 07:38:47 -05:00
6a951434f3 refactor: impl Parseable for Block 2024-06-04 20:23:50 -05:00
8d5fcd1ce3 refactor: impl parseable for function declaration 2024-06-04 18:47:25 -05:00
778a1390a0 refactor: binding parsing 2024-06-02 19:29:25 -05:00
b650447e06 fix(lex): don't emit NewLine if after them there is EOF 2024-06-02 18:18:32 -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
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
7218898ce0 Naive typechecking of binary operators 2024-05-06 09:53:18 -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
6f47dc69b6 More tests 2024-05-04 18:34:44 -05:00
231187d1f1 Add tests 2024-05-04 18:22:36 -05:00
527b1b4af6 Organize files for semantic analysis 2024-05-04 12:28:15 -05:00
46d9d04c75 Add files 2024-05-04 11:55:45 -05:00
774f1d65ca Add tests 2024-03-18 17:21:02 -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
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