171 Commits

Author SHA1 Message Date
David Gonzalez Martin
fab147eacc Polymorphic function 2024-06-19 18:26:09 +02:00
David Gonzalez Martin
3d9d26ea82 Introduce plain type polymorphism 2024-06-18 18:45:19 -05:00
David Gonzalez Martin
53894589ff Produce better pointer and slice debug info names 2024-06-17 14:31:25 -05:00
David Gonzalez Martin
610faec907 Hello world string 2024-06-17 13:35:32 -05:00
David Gonzalez Martin
06f9fe3597 Hello world array 2024-06-16 19:21:12 -05:00
David Gonzalez Martin
4b80adf2fa Make timers opt-in 2024-06-16 17:15:58 -05:00
David Gonzalez Martin
adebadc573 Add top-level declaration timers 2024-06-16 16:38:56 -05:00
David Gonzalez Martin
8e7e28c096 Implement timers 2024-06-16 14:54:47 -05:00
David Gonzalez Martin
87b7dc9af8 Disable logs 2024-06-15 21:33:42 -05:00
David Gonzalez Martin
21af15ac3a wip 2024-06-15 21:25:06 -05:00
David Gonzalez Martin
5c6b050a94 C ABI implementation 2024-06-15 21:01:54 -05:00
David Gonzalez Martin
ea29b5b300 Support comments 2024-06-09 11:46:15 -06:00
David Gonzalez Martin
8f0c533b98 Remove dead code 2024-06-09 11:04:31 -06:00
David Gonzalez Martin
291735086b First out-of-order prototype 2024-06-09 10:44:33 -06:00
David Gonzalez Martin
a4c60754cd Start preparing for C compilation 2024-06-09 08:37:28 -06:00
David Gonzalez Martin
fff62dd396 Implement bitfield 2024-06-08 23:43:48 -06:00
David Gonzalez Martin
455ec8cf50 Implement struct 2024-06-08 19:20:40 -06:00
David Gonzalez Martin
7a18413c29 Implement debug info 2024-06-08 11:00:15 -06:00
David Gonzalez Martin
faf8ad9212 Remove dead code 2024-06-07 18:24:51 -06:00
David Gonzalez Martin
a5c49e6f4c Emit load, emit store 2024-06-07 18:13:47 -06:00
David Gonzalez Martin
2c1ed2efd8 Append instruction 2024-06-07 17:52:05 -06:00
David Gonzalez Martin
0ee4e907b6 Implement function pointer 2024-06-07 13:08:45 -06:00
David Gonzalez Martin
6cd7c28efb Reduce some friction for global variable type 2024-06-07 11:39:55 -06:00
David Gonzalez Martin
3381aa0625 Implement pointers 2024-06-07 10:52:34 -06:00
David Gonzalez Martin
cbf6829cd4 Implement arrays 2024-06-07 00:12:07 -06:00
David Gonzalez Martin
6709fac566 Loop return no conditional 2024-06-06 22:33:37 -06:00
David Gonzalez Martin
3ad8cbe3ec Loop return else 2024-06-06 22:27:58 -06:00
David Gonzalez Martin
110b1496ef Loop return if 2024-06-06 22:10:03 -06:00
David Gonzalez Martin
01f3e5beae Implement leading and trailing zeroes 2024-06-06 21:51:42 -06:00
David Gonzalez Martin
42659314ea Implement '#size' 2024-06-06 21:04:31 -06:00
David Gonzalez Martin
ef662415d9 Implement 'orelse' 2024-06-06 20:49:45 -06:00
David Gonzalez Martin
30ed5a235a Implement 'assert' builtin 2024-06-06 20:20:22 -06:00
David Gonzalez Martin
c504cbdc73 Implement globals 2024-06-06 18:55:13 -06:00
David Gonzalez Martin
3a19ee4151 Rename 'while' to 'loop' and imp no condition loop 2024-06-06 15:57:43 -06:00
David Gonzalez Martin
56b6443c1f Implement 'break' and 'continue 2024-06-06 13:47:14 -06:00
David Gonzalez Martin
ae7d7f6e3b while loop 2024-06-04 11:12:00 -06:00
David Gonzalez Martin
940213c420 Disable LLVM print module at success 2024-06-03 00:34:38 -06:00
David Gonzalez Martin
d1e450233d Even more ifs 2024-06-03 00:31:24 -06:00
David Gonzalez Martin
1e5020fed1 More if 2024-06-02 21:43:31 -06:00
David Gonzalez Martin
69e01a1a7f Nested if 2024-06-01 11:07:25 -06:00
David Gonzalez Martin
45306355e9 Else if 2024-06-01 10:12:35 -06:00
David Gonzalez Martin
1a49c86154 Finalize all debug info builders 2024-06-01 09:30:28 -06:00
David Gonzalez Martin
9485bed0a7 One complement 2024-06-01 09:17:19 -06:00
David Gonzalez Martin
4a91fa7e95 Function with arguments 2024-05-31 23:43:49 -06:00
David Gonzalez Martin
bcb49f3adf Implement phis 2024-05-28 15:50:55 -06:00
David Gonzalez Martin
61f91d12d2 Implement basic branching 2024-05-26 14:08:23 -06:00
David Gonzalez Martin
7902aeca97 Implement 'div' 2024-05-26 11:21:00 -06:00
David Gonzalez Martin
48db2c9265 Implement 'mul' 2024-05-26 11:10:21 -06:00
David Gonzalez Martin
2f8c86a750 Implement shifts 2024-05-25 20:09:11 -06:00
David Gonzalez Martin
f5291dfb9b Implement 'xor' 2024-05-25 17:50:57 -06:00