Commit Graph

337 Commits

Author SHA1 Message Date
Jesse Brault
15089a15d2 Re-introduce ir with goal of doing register allocation. 2026-03-05 12:41:05 -06:00
Jesse Brault
cfff03e97d Add add_strings.dm. 2026-03-05 10:55:00 -06:00
Jesse Brault
713aec24ae Fix hello.dm. 2026-03-04 22:16:40 -06:00
Jesse Brault
19194271aa Fmt all the old code. 2026-03-04 22:15:39 -06:00
Jesse Brault
b4ebee0c34 Add result example as long-term goal. 2026-03-04 22:15:07 -06:00
Jesse Brault
7d8df883e6 Fix identifier type info being called too early bug. 2026-03-04 22:05:53 -06:00
Jesse Brault
d39e9afee2 More work on calling and returning. 2026-03-04 15:09:05 -06:00
Jesse Brault
3cacde6a4c Work on calling conventions and instructions. 2026-03-04 12:13:05 -06:00
Jesse Brault
e1afb6b43b Much work on adding and calling. 2026-03-03 21:06:12 -06:00
Jesse Brault
81ceeeadb8 Add parameter-list to regular fns. 2026-03-03 12:31:52 -06:00
Jesse Brault
61d7c66e17 Found some unused imports. 2026-03-02 21:16:41 -06:00
Jesse Brault
db675b5601 Write README.md. 2026-03-02 21:16:18 -06:00
Jesse Brault
8c1d56dc1a Remove ir structs and fix misc. warnings. 2026-03-02 20:15:36 -06:00
Jesse Brault
68cb200494 One small todo. 2026-03-02 20:01:29 -06:00
Jesse Brault
0a0065a2c1 Add rudimentary type-use parsing and type-checking parameters. 2026-03-02 20:00:16 -06:00
Jesse Brault
2d601d6115 Add Any type. 2026-03-02 19:45:46 -06:00
Jesse Brault
ec18b5d5ba Yay! Hello world via platform function is working. 2026-03-02 18:22:24 -06:00
Jesse Brault
7c041e40ad Add sort-of-working error recovery to parser. 2026-03-02 14:06:14 -06:00
Jesse Brault
506e260c75 Add logic for checking if callee is platform fn. 2026-03-02 12:51:39 -06:00
Jesse Brault
b7b495178b Add extern_function AST node. 2026-03-02 12:41:11 -06:00
Jesse Brault
35a849233c Add extern keyword. 2026-03-02 11:48:41 -06:00
Jesse Brault
f2f4b0537e Fix lexer whitespace bug. 2026-03-02 11:46:40 -06:00
Jesse Brault
1188e2b671 Add codespan_reporting back into the mix. 2026-03-02 11:39:57 -06:00
Jesse Brault
0960516c4a Very minimal, but e2e hello world sort of working. 2026-03-01 16:11:57 -06:00
Jesse Brault
6593a1cfd1 Assembling directly from AST. 2026-02-28 08:22:57 -06:00
Jesse Brault
e5e1647b70 Multiple statements test. 2026-02-28 06:57:06 -06:00
Jesse Brault
6b855b8ebb Work on asm. 2026-02-27 21:33:28 -06:00
Jesse Brault
aefac57b9d Starting work on IR. 2026-02-27 16:26:56 -06:00
Jesse Brault
8df46eec8d Moving to dmc-lib, keeping it smaller! 2026-02-27 12:14:42 -06:00
Jesse Brault
8ba79be920 Add cst command. 2025-12-03 10:38:22 -06:00
Jesse Brault
8eb13791ee Update pest. 2025-11-23 20:15:28 -06:00
Jesse Brault
7ffa516c03 Add fields and special children for Polymorphic enum loop specs. 2025-11-23 14:22:33 -06:00
Jesse Brault
734a00ea92 Beginnings of type analysis. 2025-11-22 17:59:08 -06:00
Jesse Brault
8d73a8ea73 Update ast schema. 2025-11-22 16:50:32 -06:00
Jesse Brault
70aea0ba6f Rewrite pretty_print as Display impl; tweaking ir. 2025-11-22 16:31:08 -06:00
Jesse Brault
f656d0d4d4 Merge remote-tracking branch 'origin/grammar-overhaul' into grammar-overhaul 2025-11-21 21:38:35 -06:00
Jesse Brault
026bc68fa7 Introduce asm representation (between ir and vm instructions). 2025-11-21 21:38:12 -06:00
Jesse Brault
9dfdcd716b Modest implementation of lowering to IR and Instruction code. 2025-11-19 23:23:43 -06:00
Jesse Brault
f21128fd68 Add support for polymorphic enum builds (used for suffix operators). 2025-11-15 18:13:25 -06:00
Jesse Brault
803b95c5dc More json sketching. 2025-11-10 22:08:09 -06:00
Jesse Brault
053d08849e Sketching out rail and json. 2025-11-10 16:32:19 -06:00
Jesse Brault
7439ca554c Fixed spacing for suffix operators. Now calls require at least one of parentheses and/or closure. 2025-11-03 14:42:41 -06:00
Jesse Brault
51c39f5f34 WIP fixing newlines/call grammar. 2025-11-03 13:41:05 -06:00
Jesse Brault
1d11a45c68 Seem to have fixed newlines and no-parentheses calls. 2025-11-03 12:16:28 -06:00
Jesse Brault
da05bb101b Better handling of global imports. 2025-11-02 13:41:00 -06:00
Jesse Brault
6bcef184eb Successfully fixed implicit global println test. 2025-11-01 21:38:52 -05:00
Jesse Brault
0550df534e Move parameter gathering to second pass in order to match analysis of all locals there. 2025-11-01 12:23:41 -05:00
Jesse Brault
13330300c1 WIP fleshing out of block and expression name analysis. 2025-10-31 13:04:22 -05:00
Jesse Brault
12a3a61156 Work on functions and parameter name resolution. 2025-10-31 12:14:33 -05:00
Jesse Brault
9b83a531ca Remove un-needed test. 2025-10-29 12:14:52 -05:00