Commit Graph

199 Commits

Author SHA1 Message Date
Sasha Koshka a423d572ad Update some tests 2024-01-27 10:06:17 +00:00
Sasha Koshka 12ab7dd3e3 Updated control flow generation 2024-01-27 10:03:15 +00:00
Sasha Koshka b6da53afd6 Void functions/methods no longer request a value 2024-01-27 09:22:19 +00:00
Sasha Koshka c63e077f9a Made generic block generation routine 2024-01-27 09:18:41 +00:00
Sasha Koshka 75ec6a2ddc Made panic messages in expression-multiplex.go more informative 2024-01-27 09:15:39 +00:00
Sasha Koshka 8b45c91239 Add Val onto value expressions 2024-01-27 09:09:27 +00:00
Sasha Koshka 934af40e4b Update block generation routines 2024-01-27 09:06:17 +00:00
Sasha Koshka f827bfeb7a Add generateStatement routine 2024-01-27 08:53:29 +00:00
Sasha Koshka 32ce14f032 Renamed generateStatement to generateStatementVal 2024-01-27 08:49:25 +00:00
Sasha Koshka ac6a969ac9 Add generateExpression function 2024-01-27 08:48:00 +00:00
Sasha Koshka 07a4895b60 Rename expression source files 2024-01-27 08:40:02 +00:00
Sasha Koshka cfc894ff29 Rename generateExpression to generateExpressionVal 2024-01-27 08:39:05 +00:00
Sasha Koshka 8dedae5cb9 Nitpick 2024-01-27 08:26:46 +00:00
Sasha Koshka 7035648396 Change restricted access modifier to tilde (~) 2024-01-27 07:42:13 +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 73e2cffda2 Added a way to test IR type equality 2024-01-27 06:49:30 +00:00
Sasha Koshka f12405b3f4 Merge pull request 'llvm-implement-globals' (#1) from llvm-implement-globals into main
Reviewed-on: sashakoshka/fspl#1
2024-01-27 04:33:39 +00:00
Sasha Koshka d6a5ded758 Add IsConstant to Global 2024-01-27 04:16:41 +00:00
Sasha Koshka 14a02f5e22 Add basic globals implementation 2024-01-27 01:49:18 +00:00
Sasha Koshka 417c7772e4 Move addrspace to attribute file, will put more things in there 2024-01-27 01:48:29 +00:00
Sasha Koshka f39edcca0c Add function to encode global identifier 2024-01-27 01:47:52 +00:00
Sasha Koshka 6fd0d600e2 Add more tests to generator 2024-01-27 01:00:07 +00:00
Sasha Koshka deb2c04650 Replace bugs section with caveats in README 2024-01-26 22:11:35 +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 effebe5f64 More routines in data.go 2024-01-26 05:35:22 +00:00
Sasha Koshka cf201a08c6 Added a test case for a Writer interface
I really need to cut out a lot of the unnecessary IR that the
generator emits
2024-01-26 04:32:55 +00:00
Sasha Koshka 794c41766c Added a test case for casting slices to pointers 2024-01-26 04:21:30 +00:00
Sasha Koshka 8a6d4599d1 Fix conversion of slices to pointers 2024-01-26 04:07:58 +00:00
Sasha Koshka 2ce910c54a Same thing as last commit 2024-01-26 04:05:58 +00:00
Sasha Koshka db31c9b80e Add more comments to explain casting rules in analyzer 2024-01-26 00:40:22 +00:00
Sasha Koshka 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
Sasha Koshka 4878c62531 Wrote test for getelementptr'ing into chained typedefs 2024-01-25 18:19:34 +00:00
Sasha Koshka 143aeb5236 Use TypeDefined in generator 2024-01-25 18:19:22 +00:00
Sasha Koshka 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
Sasha Koshka 496ef09154 Add test for chained typedefs with different names 2024-01-25 17:56:20 +00:00
Sasha Koshka 60f42f8718 I forgot comments existed haha 2024-01-25 08:27:18 +00:00
Sasha Koshka 5cc14ac04e Nicer testing framework for lexer 2024-01-25 08:27:17 +00:00
Sasha Koshka 598e3412be Lexer now accepts files with no blank line at the end 2024-01-25 08:27:17 +00:00
Sasha Koshka 13a36e43ba Update README.md 2024-01-25 07:43:21 +00:00
Sasha Koshka f083d016b4 Add logo to readme 2024-01-25 07:42:32 +00:00
Sasha Koshka dae023b2af Fix duplicated pointer types 2024-01-25 07:36:51 +00:00
Sasha Koshka e32655e285 AbstractType's TypeName member is now private 2024-01-25 07:05:07 +00:00
Sasha Koshka 3d94027c09 Added test to debug absurd behavior relating to type defs 2023-12-24 22:49:10 -05:00
Sasha Koshka 182b361237 Interface method calls no longer cause a segfault 2023-12-24 22:18:47 -05:00
Sasha Koshka b750fa3c77 Something was off with TestCompare 2023-12-24 21:45:47 -05:00
Sasha Koshka 47b3594bbf Fix code I probably wrote while high off my ass 2023-12-24 21:39:56 -05:00
Sasha Koshka 06df727f7f Empty struct literal values are initialized to zero 2023-12-23 17:25:27 -05:00
Sasha Koshka cd688c91af Added nil (zero initializer) literals 2023-12-21 23:33:38 -05:00
Sasha Koshka a9ff511496 Generator can produce link names 2023-12-20 03:05:27 -05:00