Commit Graph

31 Commits

Author SHA1 Message Date
tali 605698e13b pretty print vtables (again) 2023-12-23 14:35:55 -05:00
tali 31da3529a5 bytecode graph ir 2023-12-23 14:35:55 -05:00
tali 12a519cfd7 completely redo bytecode format and decoder 2023-12-21 14:00:57 -05:00
tali 80f5ab654b ocaml encoder POC 2023-12-17 16:21:44 -05:00
tali c080982044 implement closure conversion on Ir.id's 2023-12-13 19:19:19 -05:00
tali 752d36d855 deny referencing variables outside of captured scope 2023-12-13 18:16:23 -05:00
tali fab3b76d9c add slightly buggy closures; methods can access self fields 2023-12-13 17:33:32 -05:00
tali 6837ee414f restore support for stdlib functions 2023-12-13 17:27:06 -05:00
tali be83ca2177 codegen method arguments 2023-12-13 17:16:57 -05:00
tali c61c1d4e25 prefix the debug logs 2023-12-13 17:16:38 -05:00
tali a3f92e5621 improve code pretty printer 2023-12-13 16:59:54 -05:00
tali dd27dc04d2 reimplement bc compiler to utilize a simpler intermediate repr 2023-12-13 16:40:44 -05:00
tali 10f5a5a6e2 fix binop codegen 2023-12-07 12:34:50 -05:00
tali 1aa704fa49 add back bcc with support for simple functions 2023-12-06 22:25:35 -05:00
tali d523c5c997 slightly improve pretty printing 2023-12-02 16:12:51 -05:00
tali 88fff1c119 add standard library / initial environment 2023-12-02 16:08:29 -05:00
tali 24409f7902 add named fields and preliminary method support 2023-12-02 13:51:15 -05:00
tali fd3b356699 compile scope expressions 2023-11-30 14:01:40 -05:00
tali b89ddd45b5 don't warning -26 2023-11-30 13:16:04 -05:00
tali 22b0ce775d compile if expressions into conditional branches 2023-11-29 23:06:12 -05:00
tali 3d88cbe319 add comparison instructions and compile some more operators 2023-11-29 22:48:58 -05:00
tali c1eaa5baef remove lir, add basic single pass compiler 2023-11-29 22:27:05 -05:00
tali 846cae64ff temporarily remove branch ins 2023-11-29 21:42:44 -05:00
tali 7569cd2ee4 add object values, CON instruction 2023-11-29 17:56:42 -05:00
tali fb8a2cdcab add code interpreter 2023-11-29 16:52:45 -05:00
tali b17531b799 add bytecode-like data type 2023-11-29 16:48:12 -05:00
tali 41c64d8c51 move modules around 2023-11-29 13:52:16 -05:00
tali 0e1562984b add ANF IR and conversion pass 2023-11-29 13:44:41 -05:00
tali 3cd480fbee refactor errors 2023-11-29 13:44:39 -05:00
tali dc3a0368b3 add if/else 2023-11-23 23:18:49 -05:00
tali 466b224e65 spice lang parser and lexer 2023-11-23 23:11:30 -05:00