Commit Graph

67 Commits

Author SHA1 Message Date
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
6bcbd6aff9 Made the type checker a tad more robust 2023-12-15 13:23:37 -05:00
f72bf533e0 Method calling now properly passes pointer instead of value 2023-12-14 01:23:34 -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
30c346c6b7 Generator alloca's variables when they are defined 2023-12-07 02:48:27 -05:00
7f866d102d Fixed several cases where the generator would output invalid IR 2023-12-03 22:23:04 -05:00
eece7479a0 Member access can now pierce through pointers in the analyzer 2023-12-02 23:23:44 -05:00
342e9a3a89 Analyzer adds a "this" pointer to methods 2023-12-02 23:06:58 -05:00
ffe873a3e4 String literals can be assigned to strings now 2023-12-02 22:45:22 -05:00
4c07b9f206 Add length to analyzer and parser 2023-11-30 02:05:32 -05:00
6ddb32fd5c Multi-layer location expression type inference 2023-11-29 20:07:16 -05:00
19a6b73f0e Analyzer does light upward type inference for location expressions 2023-11-29 18:52:27 -05:00
c709500d58 Facehoof 2023-11-29 00:13:54 -05:00
e92377bc95 Added string literals to generator 2023-11-29 00:01:35 -05:00
e5be4dba02 Added string literal to analyzer 2023-11-26 17:27:31 -05:00
2db97a42b1 Analyzer no longer deletes dereferences 2023-11-26 04:00:44 -05:00
72941e1ab4 Slight modifications to analyzer 2023-11-21 15:04:01 -05:00
605fd24228 Pass all analyzer tests 2023-11-04 17:59:04 -04:00
47beb9e41f Pass all but one test 2023-11-04 16:34:40 -04:00
a2e22d1154 Fix goofy bugs 2023-10-31 21:52:47 -04:00
af52bbb070 uhhhh 2023-10-31 15:43:19 -04:00
dd9f866165 Can now assign array directly to slice 2023-10-31 01:46:18 -04:00
fa60f8c814 Pass all literal assignment tests 2023-10-29 15:18:44 -04:00
8cdeab6efa Array literal can be used in array and slice 2023-10-29 15:13:25 -04:00
6f14b8a1b3 Pass a bunch of tests 2023-10-29 15:09:20 -04:00
d435a1b1be Removed Void as a concept 2023-10-29 14:47:28 -04:00
24af8e0b49 Expression analysis actually runs now 2023-10-29 14:40:29 -04:00
359441d5fa Analyze return statement 2023-10-29 14:28:51 -04:00
8751cc7b89 Analyze break statements 2023-10-29 02:59:45 -04:00
b8d573f2cd Analyze more expressions 2023-10-29 02:18:41 -04:00
2018ccead6 Add loop stack management to scopeManager and scopeContextManager 2023-10-29 02:18:03 -04:00
68951a3af4 Analyze all the literals 2023-10-28 03:24:17 -04:00
a6fec780c7 Start analyzing literals 2023-10-27 16:10:31 -04:00
4da8ecd25f More expressions (wip) 2023-10-26 10:43:50 -04:00
964daf01ed Analysis of value/bit casts 2023-10-25 01:57:02 -04:00
0bcc5e7d46 Location expressions 2023-10-24 21:54:59 -04:00
9a7087ab14 Added analysis for numerous types of expressions 2023-10-24 18:29:33 -04:00
ee8eabcfc4 I forgor 2023-10-24 01:34:58 -04:00
5ac046d5b1 Function call analysis 2023-10-20 13:48:05 -04:00
fc97c3ed49 WIP expression analysis type checking 2023-10-19 19:13:55 -04:00
30636e18aa Expression analysis stub 2023-10-18 02:29:24 -04:00
92e8205bb9 That, but for operation arg count testing 2023-10-18 01:39:43 -04:00
1302731793 Updated analyzer tests to account for lexer changes 2023-10-18 01:33:22 -04:00
cdee4adf1c Star is now a separate token 2023-10-18 01:14:17 -04:00
a80492420e Implement custom lexer FINALLY 2023-10-18 00:48:35 -04:00
1dab6e3805 Finished analyzing method signatures 2023-10-17 03:21:25 -04:00
decefce142 hngnggg i forgor to commit
- implemented scope management
- finished function signature analyzing
- added method analyzing
  - had to restructure type analysis slightly to do this
2023-10-17 03:11:11 -04:00
8b4244e3cb Booleans are now literals 2023-10-09 00:24:48 -04:00