Sofia teascade
teascade pushed to main at teascade/c-compiler 2026-04-15 15:07:14 +02:00
55388bc6e3 Parse listinitializer
aa698c7ed6 Fix string type lvalue return type
eacbac9205 Implement ListInitializer
Compare 3 commits »
teascade pushed to main at teascade/c-compiler 2026-04-14 19:02:18 +02:00
5175878407 Fix wonky casting rules
teascade pushed to main at teascade/c-compiler 2026-04-14 18:27:58 +02:00
de881d73d2 Fix bug with string literals
e76540182f Possibly fix passing of arrays
b97aa3f212 Fix parsing of array type parameters
6efcb23d6b Add get_codegen_type
Compare 4 commits »
teascade pushed to main at teascade/c-compiler 2026-04-14 17:27:08 +02:00
45df4fdf5f Fix array to ptr cast
d3f0a730fd Make strings be char[n]
26779414a7 Implement arrays
c0a2c41c33 Fix parsing of empty arrays
0400aa1d99 Make empty arrays into just pointers
Compare 10 commits »
teascade pushed to main at teascade/c-compiler 2026-04-14 00:51:33 +02:00
be2d809986 Make ref and deref only parse primary expression
d3a4964f10 Add ret void to every function, to make sure one exists
01d4999e14 Store params in stack properly as well
acd1e5d39b Fix bug in deref
d4016e3ab7 Parse ref/deref/parenthesis
Compare 7 commits »
teascade pushed to main at teascade/c-compiler 2026-04-13 22:16:47 +02:00
57dc022241 Improve binop typechecking
51c54e375a Add better error raporting
28483812ea Allow implicit cast from char to int
e0f2a1620e Implicitly add cast if implicit cast is found
ee0e30934a Allow typechecker to perform implicit casts
Compare 5 commits »
teascade pushed to main at teascade/c-compiler 2026-04-13 20:29:08 +02:00
1555c12bbd Improve casts
teascade pushed to main at teascade/c-compiler 2026-04-13 20:28:17 +02:00
89c397b15c Improve casts
c8d4b653da Fix bug with binop assignment typechecking
1814ce2cc9 Fix bug with loading values, parse casts
fa01b22b81 Add compilation of casts
dab4d47b8e Separate signed and unsigned comparisons correctly
Compare 8 commits »
teascade pushed to main at teascade/c-compiler 2026-04-13 17:28:24 +02:00
b541cf6baf Update README.md
teascade pushed to main at teascade/c-compiler 2026-04-13 17:27:05 +02:00
4baeaff705 Add rest of typechecking
8314fe2b61 Use binops for codegen as well
1037024730 Add binops for typechecker
d6b730945c Check binops
bb4d1c6045 Add binops
Compare 19 commits »
teascade pushed to typechecker at teascade/c-compiler 2026-04-13 17:26:56 +02:00
4baeaff705 Add rest of typechecking
8314fe2b61 Use binops for codegen as well
1037024730 Add binops for typechecker
d6b730945c Check binops
bb4d1c6045 Add binops
Compare 6 commits »
teascade pushed to typechecker at teascade/c-compiler 2026-04-13 16:44:54 +02:00
e3e0cd9f9f Check return type as well
3f4b8569ea Fix bug with parameter typechecking
185f25d412 Typecheck parameter types
a901806dfb Add a function to test if types are equal
8ec4e538f5 Fix a bug, add type kind
Compare 6 commits »
teascade pushed to typechecker at teascade/c-compiler 2026-04-13 00:22:20 +02:00
5ed26f4139 Perform typechecking
teascade pushed to typechecker at teascade/c-compiler 2026-04-13 00:17:03 +02:00
85dbce112f Fill typechecking methods
d11da4d1e6 Make expressions return type on typecheck
902610aaea Add statement typecheckings
44c9e31556 Make types in the AST be shared_ptr
e45f120f1c Add typecheck-functions to AST
Compare 6 commits »
teascade created branch typechecker in teascade/c-compiler 2026-04-13 00:17:03 +02:00
teascade pushed to main at teascade/c-compiler 2026-04-11 23:50:49 +02:00
85644457d0 Tokenize whitespace as well, skip it in next
cdff4cc9db Add binops for more fundamental type kinds
01434b8097 Eliminate repetition
Compare 3 commits »
teascade pushed to main at teascade/c-compiler 2026-04-11 22:19:48 +02:00
e015ada6e4 Update README.md
teascade created branch main in teascade/c-compiler 2026-04-11 22:19:03 +02:00
teascade pushed to main at teascade/c-compiler 2026-04-11 22:19:03 +02:00
866d78e6d1 Compile vararg
8646d5c0d0 Parse varargs
3f61e3749e Allow anonymous parameters
5dc6e8ca16 Modify printf to take a number additionally
96e4d6232f Fix tokenization of long words
Compare 10 commits »
teascade created repository teascade/c-compiler 2026-04-11 22:18:52 +02:00