40 Commits

Author SHA1 Message Date
David Gonzalez Martin
fa043dfbc0 Introduce dummy ELF writer 2024-08-09 12:50:31 +02:00
David Gonzalez Martin
5b3d8c097e Implement comparison 2024-08-04 14:06:53 +02:00
David Gonzalez Martin
4e8db8dc6e More fixes and improvements for the build program 2024-08-04 10:56:16 +02:00
David Gonzalez Martin
1495d18a77 Minor fixes 2024-08-04 08:07:22 +02:00
David Gonzalez Martin
63883a4370 Restructure build system 2024-08-04 08:01:20 +02:00
David Gonzalez Martin
9ccd345bb3 Implement arguments prototype 2024-08-01 13:23:07 +02:00
David Gonzalez Martin
41a39a0781 Add million and thousand simple functions 2024-07-30 13:11:25 +02:00
David Gonzalez Martin
063ac0946e Implement multiplication and division 2024-07-29 09:10:42 +02:00
David Gonzalez Martin
6a93f33fed Implement shifts 2024-07-28 14:31:08 +02:00
David Gonzalez Martin
a2ad8e44bb Introduce scopes and compile-time known mods 2024-07-28 13:56:16 +02:00
David Gonzalez Martin
628ec36442 Implement variable declarations 2024-07-28 11:20:04 +02:00
David Gonzalez Martin
dfc387325b Move analyze block code to a separate function 2024-07-27 20:57:39 +02:00
David Gonzalez Martin
e7ba702be3 Implement binary bitwise operators 2024-07-27 19:39:54 +02:00
David Gonzalez Martin
236bfaa688 Minor corrections 2024-07-27 13:38:33 +02:00
David Gonzalez Martin
3654552d89 Implement add + sub and minimal interpreter 2024-07-27 13:29:22 +02:00
David Gonzalez Martin
28b61c6553 Compile in different optimization modes 2024-07-24 13:55:32 +02:00
David Gonzalez Martin
5174819a5b Compile in different optimization modes 2024-07-24 11:09:09 +02:00
David Gonzalez Martin
a43dcda407 Get static build back 2024-07-24 10:44:59 +02:00
David Gonzalez Martin
556f603487 Restructure test system 2024-07-23 21:29:38 +02:00
David Gonzalez Martin
3d2ab7999c Use Clang to compile C backend output 2024-07-23 15:52:42 +02:00
David Gonzalez Martin
d3585917ec Create dummy C backend and printer 2024-07-23 13:43:44 +02:00
David Gonzalez Martin
a6c77b23bc GCM schedule late 2024-07-21 18:00:21 +02:00
David Gonzalez Martin
b20b5d0264 GCM schedule early 2024-07-21 17:31:32 +02:00
David Gonzalez Martin
76da96bd74 Implement peephole iteration skeleton 2024-07-21 12:25:51 +02:00
David Gonzalez Martin
1bbd39b8c1 Ditch C++ in favor of C 2024-07-21 09:04:32 +02:00
David Gonzalez Martin
9cddae8aed More peephole (rewrite -> simple chapter 09) 2024-07-14 20:44:27 +02:00
David Gonzalez Martin
591dcc7bd6 Fix page size 2024-07-10 17:39:38 +02:00
David Gonzalez Martin
1451e7e0d6 Switch to a better memory-footprint-wise hashmap 2024-07-10 17:10:21 +02:00
David Gonzalez Martin
87716a8cdd Implement break and continue 2024-07-10 13:41:07 +02:00
David Gonzalez Martin
7a86ca2f79 Implement while 2024-07-09 16:35:45 +02:00
David Gonzalez Martin
4b5dd6bb55 If peephole 2024-07-08 19:51:07 +02:00
David Gonzalez Martin
81d304e4fa Implement ifs 2024-07-07 20:59:34 +02:00
David Gonzalez Martin
ff258e3df3 Implement comparisons 2024-07-06 19:29:26 +02:00
David Gonzalez Martin
f7fee02256 Primitive function calls 2024-07-06 16:17:18 +02:00
David Gonzalez Martin
347a4f0338 Support MacOS 2024-07-05 08:06:01 +02:00
David Gonzalez Martin
c1f37b6688 Simple variable declarations 2024-07-03 00:29:59 +02:00
David Gonzalez Martin
fdc5134d1f Better color formatting 2024-07-01 11:29:02 +02:00
David Gonzalez Martin
fe92747a41 Implement constant propagation 2024-06-30 10:04:01 +02:00
David Gonzalez Martin
beb3af95fc Some improvements and bug fixes 2024-06-29 16:14:53 +02:00
David Gonzalez Martin
e07d65cd54 First iteration 2024-06-28 09:12:53 +02:00