Commit Graph

117 Commits

Author SHA1 Message Date
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
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
e3e0cd9f9f Check return type as well 2026-04-13 17:25:36 +03:00
3f4b8569ea Fix bug with parameter typechecking 2026-04-13 17:23:53 +03:00
185f25d412 Typecheck parameter types 2026-04-13 17:21:07 +03:00
a901806dfb Add a function to test if types are equal 2026-04-13 17:09:50 +03:00
8ec4e538f5 Fix a bug, add type kind 2026-04-13 16:56:33 +03:00
cf965dd47a Fix some bugs 2026-04-13 16:50:29 +03:00
5ed26f4139 Perform typechecking 2026-04-13 01:22:14 +03:00
85dbce112f Fill typechecking methods 2026-04-13 01:08:34 +03:00
d11da4d1e6 Make expressions return type on typecheck 2026-04-13 00:55:38 +03:00
902610aaea Add statement typecheckings 2026-04-13 00:54:14 +03:00
44c9e31556 Make types in the AST be shared_ptr 2026-04-13 00:40:05 +03:00
e45f120f1c Add typecheck-functions to AST 2026-04-13 00:35:14 +03:00