Commit graph

276 commits

Author SHA1 Message Date
mlokr 71c4d3632a welp that was an accident 2024-05-16 22:56:53 +02:00
mlokr 8cb9f2eaac fixing stack to what compiler assumes 2024-05-16 16:54:12 +02:00
mlokr aae217dd00 making better use of parameter and return registers (use register 2 for arguments when possible) 2024-05-16 16:50:29 +02:00
mlokr 4502a64514 some cleanup and bug fix 2024-05-16 13:32:04 +02:00
mlokr ca1d471646 adding imm operations is come cases 2024-05-16 13:29:16 +02:00
mlokr 2dff9f7244 slightly optimizing assignment 2024-05-16 12:56:33 +02:00
mlokr 3127d04e41 doing same for arguments 2024-05-16 12:42:11 +02:00
mlokr 589a30c8a3 making the variables smarter (only putting then on stack when they get referenced) 2024-05-16 12:23:37 +02:00
mlokr 8b81cfef37 cargo update 2024-05-15 14:39:36 +02:00
mlokr 6b74640c3f accident 2024-05-15 14:37:03 +02:00
mlokr 87ba7aa203 removing deendence on macros with a simple build script 2024-05-15 14:36:38 +02:00
mlokr 78f9eb6acc implementing codegen for all the operators 2024-05-15 11:10:20 +02:00
mlokr 3c09a5f23e adding '<op>=' syntax 2024-05-15 10:37:39 +02:00
mlokr 70955c1792 adding directives 2024-05-14 23:07:32 +02:00
mlokr d8a922df26 painfully, but suddle bugs with pointers are now fixed 2024-05-14 15:03:36 +02:00
mlokr 9aa5da82c9 saving before refactoring experiment 2024-05-14 14:01:40 +02:00
mlokr fb481a0600 making stack reclamation 2024-05-14 12:17:39 +02:00
mlokr d90f386bd2 adding an edge case 2024-05-13 15:27:09 +02:00
mlokr c14e6c352d fixing upcating bugs related to pointers 2024-05-13 15:24:48 +02:00
mlokr 9ccf91d072 adding pointer arithmetic test 2024-05-13 14:23:19 +02:00
mlokr 7cca9a3683 adding different-sized integers 2024-05-13 13:36:29 +02:00
mlokr b28baa86f7 adding destination semantics for expressions 2024-05-13 11:05:35 +02:00
mlokr 2226a47aaa fixing struct regurns 2024-05-13 09:55:09 +02:00
mlokr 0aec47e985 fixing struct regurns 2024-05-13 09:38:33 +02:00
mlokr 5c38115119 adding simple cli 2024-05-13 00:02:32 +02:00
mlokr c3cbd054f7 improving code 2024-05-12 23:45:28 +02:00
mlokr 06e30529bf added better error reports 2024-05-12 23:19:45 +02:00
mlokr 4ec635dc56 proper type display and pointer types 2024-05-12 22:40:28 +02:00
mlokr a08856a464 fising spec 2024-05-12 20:14:46 +02:00
mlokr d5a5c932e7 finishing structures 2024-05-12 20:10:50 +02:00
mlokr bc59886428 adding per function dead code elimination 2024-05-12 14:56:59 +02:00
mlokr f87959aacb adding structures 2024-05-12 13:13:36 +02:00
mlokr 80b05779ea adding struct syntax 2024-05-12 12:21:40 +02:00
mlokr 4bb5ec1953 adding struct syntax 2024-05-12 12:16:40 +02:00
mlokr 2aa315a863 accident 2024-05-12 11:53:21 +02:00
mlokr 86013a50a4 identifiers are now properly checked 2024-05-12 11:52:58 +02:00
mlokr 465b185452 foo bar 2024-05-11 22:23:58 +02:00
mlokr b794fa7c3c foo bar 2024-05-11 22:22:12 +02:00
able ebefc85566 :3 Breaky 2024-05-11 15:21:07 -05:00
mlokr a3c4b878b2 adding loops 2024-05-11 18:16:27 +02:00
mlokr 7f32e7775c making if statements without else branch work 2024-05-11 17:05:22 +02:00
mlokr 1d74f27b0e making the functions kind of walk 2024-05-11 16:04:13 +02:00
mlokr 7435218999 fixing relative jumps to not offset from immidiate adress but from instruction adress 2024-05-11 12:51:32 +02:00
mlokr cf99091a45 now compiling some trivial arithmetic 2024-05-10 22:54:12 +02:00
mlokr 81952cfc40 compiling return stmt 2024-05-10 21:38:15 +02:00
mlokr 68d53544fd compiling return stmt 2024-05-10 21:33:42 +02:00
mlokr aa77a2f822 fixing JALA and JAL saving self reference instead of reference to the next instruction 2024-05-10 15:29:11 +02:00
mlokr b80528bfd7 accident 2024-05-09 23:43:18 +02:00
mlokr 1c08148dc9 starting from zero again 2024-05-09 23:41:59 +02:00
mlokr 774735b515 ups 2024-05-09 18:24:30 +02:00