Commit Graph

168 Commits

Author SHA1 Message Date
ea697c19dd Change the location at which defined IR types are wrapped
Defined IR types are wrapped in a TypeDefined by generateTypeNamed.
This causes them to be sent through GEP, which is necessary for
testing.
2024-01-25 22:57:52 +00:00
4878c62531 Wrote test for getelementptr'ing into chained typedefs 2024-01-25 18:19:34 +00:00
143aeb5236 Use TypeDefined in generator 2024-01-25 18:19:22 +00:00
3840220582 Added a way to wrap a defined type via TypeDefined
This allows "copies" of a type that refer to a source to be created
and have their names changed/redefined without modifying the source
type.
2024-01-25 18:08:26 +00:00
496ef09154 Add test for chained typedefs with different names 2024-01-25 17:56:20 +00:00
60f42f8718 I forgot comments existed haha 2024-01-25 08:27:18 +00:00
5cc14ac04e Nicer testing framework for lexer 2024-01-25 08:27:17 +00:00
598e3412be Lexer now accepts files with no blank line at the end 2024-01-25 08:27:17 +00:00
13a36e43ba Update README.md 2024-01-25 07:43:21 +00:00
f083d016b4 Add logo to readme 2024-01-25 07:42:32 +00:00
dae023b2af Fix duplicated pointer types 2024-01-25 07:36:51 +00:00
e32655e285 AbstractType's TypeName member is now private 2024-01-25 07:05:07 +00:00
3d94027c09 Added test to debug absurd behavior relating to type defs 2023-12-24 22:49:10 -05:00
182b361237 Interface method calls no longer cause a segfault 2023-12-24 22:18:47 -05:00
b750fa3c77 Something was off with TestCompare 2023-12-24 21:45:47 -05:00
47b3594bbf Fix code I probably wrote while high off my ass 2023-12-24 21:39:56 -05:00
06df727f7f Empty struct literal values are initialized to zero 2023-12-23 17:25:27 -05:00
cd688c91af Added nil (zero initializer) literals 2023-12-21 23:33:38 -05:00
a9ff511496 Generator can produce link names 2023-12-20 03:05:27 -05:00
88bc83f277 Added module referencing to parser 2023-12-19 15:21:10 -05:00
0645e2b43a Add access specifiers and link names to parser 2023-12-17 11:23:42 -05:00
6bcbd6aff9 Made the type checker a tad more robust 2023-12-15 13:23:37 -05:00
b220235a43 I forgor 2023-12-15 12:46:33 -05:00
e55d87d378 Fix comparison predicates 2023-12-15 12:40:43 -05:00
c4df65d189 Attempt to further fix interface assignment 2023-12-14 21:21:07 -05:00
f72bf533e0 Method calling now properly passes pointer instead of value 2023-12-14 01:23:34 -05:00
6fa8adf871 generateAssignmentSource assigns interface methods to iface dest 2023-12-14 00:47:14 -05:00
91eb3e8e9e Add some extra notes to readme 2023-12-13 03:44:57 -05:00
9ea5deb23a Oops pt 2 2023-12-13 03:40:40 -05:00
b0b71d7723 Oops 2023-12-13 03:38:44 -05:00
0ff4fd9ba4 Compiler can fall back to clang when llc is not present 2023-12-13 03:28:24 -05:00
0a4f63680c Add logo 2023-12-13 03:20:15 -05:00
414f4595dc Changed my mind about brackets on break and return statements 2023-12-12 19:51:17 -05:00
93f6894ef0 Updated language spec 2023-12-08 17:31:16 -05:00
3d95f41613 Add README.md 2023-12-08 00:28:58 -05:00
900e90d468 Add test for aforementioned issue 2023-12-07 17:14:37 -05:00
d16079cbe8 Fix IsUnsigned 2023-12-07 17:05:26 -05:00
b2f8b85969 If statements get a type 2023-12-07 04:16:58 -05:00
4a981f3253 Augh 2023-12-07 04:03:28 -05:00
6045ed6ee3 If/else branching is no longer... like how it was 2023-12-07 03:58:57 -05:00
c780668cd0 If/else generation will not attempt to overwrite branches 2023-12-07 03:54:01 -05:00
fb360c3398 Operands to IR binary instructions now have identifiers instead of names 2023-12-07 03:04:29 -05:00
30c346c6b7 Generator alloca's variables when they are defined 2023-12-07 02:48:27 -05:00
8b7dcdf70c Fix case where generator would assign ID to void function calls 2023-12-05 22:36:41 -05:00
7d436290c4 Add some more test cases to the generator 2023-12-05 22:29:29 -05:00
e06fd099ce Fix bug with popping block managers off of the stack 2023-12-05 22:27:55 -05:00
2fa3cc1762 Add "internal error" prefix for generator errors 2023-12-05 22:08:06 -05:00
6e861c4e52 Fix comments 2023-12-05 22:04:12 -05:00
0e3101b4d0 Add comments 2023-12-05 16:52:33 -05:00
ead5ed3222 Slice operations now load the data pointer 2023-12-05 15:35:17 -05:00