Commit Graph

51 Commits

Author SHA1 Message Date
Sasha Koshka 650289f03e Generate switch statements 2024-03-26 00:42:27 -04:00
Sasha Koshka 5dda7b2186 Generate match statement default cases 2024-03-25 22:34:24 -04:00
Sasha Koshka 70c58f74de Fix assignment from array to slice 2024-03-24 19:57:24 -04:00
Sasha Koshka 185ef7f6f9 For loops loop back around to the loop header 2024-03-24 03:35:04 -04:00
Sasha Koshka f3c0901493 For loop elements are properly copied 2024-03-24 03:09:33 -04:00
Sasha Koshka 648b1df547 Generator generates valid gep index for for loop indexing 2024-03-20 11:51:44 -04:00
Sasha Koshka ecd6eba434 Loops now handle multiple break statements correctly 2024-03-20 04:19:47 -04:00
Sasha Koshka 50f088842a For loop generation should be more correct now 2024-03-20 02:55:31 -04:00
Sasha Koshka 491a9b2369 Untested for loop generation 2024-03-20 02:52:01 -04:00
Sasha Koshka a9adc77658 For loop generation stub 2024-03-20 02:09:26 -04:00
Sasha Koshka e889a9c49b Generator understands assigning return/break to things 2024-03-06 16:43:58 -05:00
Sasha Koshka 98d8edc319 Generate phi node for default case in match switch 2024-03-06 13:09:20 -05:00
Sasha Koshka daea6cb22a Generate match statements 2024-03-06 00:42:40 -05:00
Sasha Koshka 54f69ca786 Add match stub 2024-03-05 03:32:31 -05:00
Sasha Koshka 23052aa6f0 Changed repository import paths 2024-02-22 19:22:53 -05:00
Sasha Koshka 122cafbc2b Unexport generator.resultMode 2024-02-08 16:06:00 -05:00
Sasha Koshka 94a25f0aac Generator compiles and runs 2024-02-08 13:14:21 -05:00
Sasha Koshka a4c7212709 Add more tests for loops 2024-01-28 03:29:49 -05:00
Sasha Koshka 1b4a0621de Fix some issues with control flow, add tests 2024-01-28 03:16:05 -05:00
Sasha Koshka a4fc8746bd Fix more names and orgaization of statement generation 2024-01-27 17:33:15 +00:00
Sasha Koshka 64d246a997 Added -Any suffix to appropriate generation routines 2024-01-27 17:24:47 +00:00
Sasha Koshka e188b2f349 Fixed segfault relating to break and return statements 2024-01-27 17:11:44 +00:00
Sasha Koshka 8e9b5e0613 Introducing ResultMode! time to got to bed. 2024-01-27 10:43:27 +00:00
Sasha Koshka 12ab7dd3e3 Updated control flow generation 2024-01-27 10:03:15 +00:00
Sasha Koshka c63e077f9a Made generic block generation routine 2024-01-27 09:18:41 +00:00
Sasha Koshka ac6a969ac9 Add generateExpression function 2024-01-27 08:48:00 +00:00
Sasha Koshka cfc894ff29 Rename generateExpression to generateExpressionVal 2024-01-27 08:39:05 +00:00
Sasha Koshka c2df4203bd Same thing for bit casts 2024-01-27 07:05:34 +00:00
Sasha Koshka 01a3ac2e1b Generator now no longer generates ineffectual value casts 2024-01-27 07:03:13 +00:00
Sasha Koshka 4114b5c3aa Updated stuff to use the new routines in data.go 2024-01-26 05:35:47 +00:00
Sasha Koshka 8a6d4599d1 Fix conversion of slices to pointers 2024-01-26 04:07:58 +00:00
Sasha Koshka 182b361237 Interface method calls no longer cause a segfault 2023-12-24 22:18:47 -05:00
Sasha Koshka b220235a43 I forgor 2023-12-15 12:46:33 -05:00
Sasha Koshka c4df65d189 Attempt to further fix interface assignment 2023-12-14 21:21:07 -05:00
Sasha Koshka f72bf533e0 Method calling now properly passes pointer instead of value 2023-12-14 01:23:34 -05:00
Sasha Koshka 4a981f3253 Augh 2023-12-07 04:03:28 -05:00
Sasha Koshka 6045ed6ee3 If/else branching is no longer... like how it was 2023-12-07 03:58:57 -05:00
Sasha Koshka c780668cd0 If/else generation will not attempt to overwrite branches 2023-12-07 03:54:01 -05:00
Sasha Koshka 30c346c6b7 Generator alloca's variables when they are defined 2023-12-07 02:48:27 -05:00
Sasha Koshka 8085da442b Revert slices back to having just two fields 2023-12-05 03:07:54 -05:00
Sasha Koshka 7f866d102d Fixed several cases where the generator would output invalid IR 2023-12-03 22:23:04 -05:00
Sasha Koshka 3f88513dc1 That should be literally every feature 2023-12-02 21:45:15 -05:00
Sasha Koshka 31d5317dc8 Completed operations 2023-12-01 01:18:10 -05:00
Sasha Koshka 6b2ed12c90 Operation stub part II 2023-11-30 15:44:30 -05:00
Sasha Koshka 4fa7848452 Add operation stub 2023-11-30 02:13:47 -05:00
Sasha Koshka 3fd00d56eb Added casting 2023-11-30 02:06:12 -05:00
Sasha Koshka df1bc20388 Added bit casts 2023-11-29 20:37:56 -05:00
Sasha Koshka 85e77c36c6 This should have been way more commits 2023-11-26 04:02:22 -05:00
Sasha Koshka 3b9ed0c35f Various fixes 2023-11-23 00:02:00 -05:00
Sasha Koshka 7690f683a4 Migrated generator to use new llvm code generation package 2023-11-22 20:37:37 -05:00