Commit Graph

131 Commits

Author SHA1 Message Date
f283149090 Parse tl-typedef 2026-04-15 18:45:29 +03:00
29fd757517 Add Struct types 2026-04-15 18:40:26 +03:00
66653553a5 Update test.c 2026-04-15 18:22:23 +03:00
bca18b4f1b Add Struct and StructRef-types 2026-04-15 18:21:22 +03:00
5fc58ea1c5 Add parsing::Scope 2026-04-15 17:45:14 +03:00
55388bc6e3 Parse listinitializer 2026-04-15 16:07:07 +03:00
aa698c7ed6 Fix string type lvalue return type 2026-04-15 15:59:12 +03:00
eacbac9205 Implement ListInitializer 2026-04-15 15:57:54 +03:00
5175878407 Fix wonky casting rules 2026-04-14 20:02:06 +03:00
de881d73d2 Fix bug with string literals 2026-04-14 19:26:21 +03:00
e76540182f Possibly fix passing of arrays 2026-04-14 19:18:10 +03:00
b97aa3f212 Fix parsing of array type parameters 2026-04-14 18:55:15 +03:00
6efcb23d6b Add get_codegen_type 2026-04-14 18:48:17 +03:00
45df4fdf5f Fix array to ptr cast 2026-04-14 18:26:33 +03:00
d3f0a730fd Make strings be char[n] 2026-04-14 17:01:08 +03:00
26779414a7 Implement arrays 2026-04-14 15:55:13 +03:00
c0a2c41c33 Fix parsing of empty arrays 2026-04-14 15:24:49 +03:00
0400aa1d99 Make empty arrays into just pointers 2026-04-14 15:20:14 +03:00
d70f6fffa0 Parse array type 2026-04-14 15:05:44 +03:00
3370e76c48 Add ArrayType 2026-04-14 14:57:25 +03:00
e797cab50f Remove some unused code 2026-04-14 14:49:07 +03:00
fa8c4b0e74 Allow underscores in idents 2026-04-14 14:19:08 +03:00
0cdf1abf82 Tweak parsing 2026-04-14 14:17:17 +03:00
be2d809986 Make ref and deref only parse primary expression 2026-04-14 00:28:12 +03:00
d3a4964f10 Add ret void to every function, to make sure one exists 2026-04-14 00:26:37 +03:00
01d4999e14 Store params in stack properly as well 2026-04-14 00:25:54 +03:00
acd1e5d39b Fix bug in deref 2026-04-14 00:09:36 +03:00
d4016e3ab7 Parse ref/deref/parenthesis 2026-04-14 00:05:30 +03:00
78c5ab4c25 Add ref and deref 2026-04-14 00:01:33 +03:00
48a3eb0e85 Improve binop result calculation 2026-04-13 23:50:07 +03:00
57dc022241 Improve binop typechecking 2026-04-13 23:16:39 +03:00
51c54e375a Add better error raporting 2026-04-13 21:47:18 +03:00
28483812ea Allow implicit cast from char to int 2026-04-13 21:45:58 +03:00
e0f2a1620e Implicitly add cast if implicit cast is found 2026-04-13 21:36:44 +03:00
ee0e30934a Allow typechecker to perform implicit casts 2026-04-13 21:32:34 +03:00
1555c12bbd Improve casts 2026-04-13 21:28:50 +03:00
c8d4b653da Fix bug with binop assignment typechecking 2026-04-13 21:24:34 +03:00
1814ce2cc9 Fix bug with loading values, parse casts 2026-04-13 21:21:46 +03:00
fa01b22b81 Add compilation of casts 2026-04-13 21:08:57 +03:00
dab4d47b8e Separate signed and unsigned comparisons correctly 2026-04-13 20:46:43 +03:00
e6a16ab667 Fix bug in codegen 2026-04-13 20:44:29 +03:00
810dd3595e Allow implicitly converting IntLiteralExpr to other int types 2026-04-13 20:15:48 +03:00
2695a83ac8 Fix LT 2026-04-13 20:06:43 +03:00
b541cf6baf Update README.md 2026-04-13 18:28:17 +03:00
4baeaff705 Add rest of typechecking 2026-04-13 18:26:47 +03:00
8314fe2b61 Use binops for codegen as well 2026-04-13 18:24:07 +03:00
1037024730 Add binops for typechecker 2026-04-13 18:18:25 +03:00
d6b730945c Check binops 2026-04-13 18:17:33 +03:00
bb4d1c6045 Add binops 2026-04-13 18:11:54 +03:00
9791c9c8da Add binops.h and binops.cpp 2026-04-13 18:00:47 +03:00