Commit Graph

105 Commits

Author SHA1 Message Date
Krzosa Karol
ed017c79a5 void pointer duck typing 2022-06-17 09:16:33 +02:00
Krzosa Karol
66d7c8ca52 Switched to using memory copy in order to implement multiple returns 2022-06-16 13:16:27 +02:00
Krzosa Karol
9c58d4f116 Fixing multiple return values bugs 2022-06-16 12:48:20 +02:00
Krzosa Karol
c262e7e491 Multiple return values working! 2022-06-16 12:42:43 +02:00
Krzosa Karol
5345894e3e Cleanup Slice and Tuple generation 2022-06-16 12:16:15 +02:00
Krzosa Karol
c604b44458 Slowly adding multiple return values 2022-06-16 11:48:47 +02:00
Krzosa Karol
8b470fbf34 Squashing file write bugs 2022-06-15 12:11:34 +02:00
Krzosa Karol
cdeebfb8f9 Ported unicode conversions 2022-06-15 10:51:45 +02:00
Krzosa Karol
aab89ffada Add static and runtime assert 2022-06-15 10:30:33 +02:00
Krzosa Karol
e984049429 Porting unicode code 2022-06-15 10:12:40 +02:00
Krzosa Karol
891d4304e0 Fix ordering of structs when array type appears, add more windows stuff 2022-06-15 09:08:10 +02:00
Krzosa Karol
7f5471de08 More resolved data in compound exprs, Fix invalid generation of compound exprs, 2022-06-14 21:41:41 +02:00
Krzosa Karol
d63a327e3e Emitting proper lines and files, coding in the language! 2022-06-14 14:15:21 +02:00
Krzosa Karol
f885abe3f5 -> Operator has very low precedence, size_of, align_of, length_of expressions 2022-06-14 13:50:59 +02:00
Krzosa Karol
17e342c4da Add resolved_type to Ast_Expr and remove from inheriting 2022-06-14 12:49:45 +02:00
Krzosa Karol
699ca4b18a Generating proper slice name when rewriting tree 2022-06-14 12:07:04 +02:00
Krzosa Karol
946e4082cc Working on slices, builtin stuff feels wanky, rewrite gen_simple_decl to
generate string
2022-06-14 12:00:48 +02:00
Krzosa Karol
f189ca381e Adding len() builtin and TYPE_SLICE 2022-06-14 09:33:46 +02:00
Krzosa Karol
c0253f0424 Add hex support 2022-06-13 22:14:31 +02:00
Krzosa Karol
e73820c6f5 Compiling again, with double import, main and everything 2022-06-13 21:28:31 +02:00
Krzosa Karol
8260f2cc9a Fixing generated names when namespaced Windows :: #import calls and field accesses 2022-06-13 21:12:38 +02:00
Krzosa Karol
3bbe5e5c2b Fixing generated names 2022-06-13 20:55:49 +02:00
Krzosa Karol
30f448a490 Fix codegen scope names 2022-06-13 20:35:45 +02:00
Krzosa Karol
2c431e3207 Writing more real program and squashing bugs 2022-06-13 20:22:40 +02:00
Krzosa Karol
955167ce18 Fixing bugs, prepending all names with context name 2022-06-13 18:07:17 +02:00
Krzosa Karol
f9487a2c24 New cast '->' 2022-06-13 15:38:54 +02:00
Krzosa Karol
4b16439a14 More work on modules, Ast_Module, Ast_File and Ast_Scope got unified 2022-06-13 14:04:47 +02:00
Krzosa Karol
bcd825c154 New concept of AST_MODULE, Ast_File and Ast_Module are now both scopes.
Concept of loading and importing.
2022-06-13 13:39:31 +02:00
Krzosa Karol
8bd5e9638f More module work 2022-06-13 12:01:28 +02:00
Krzosa Karol
b0553c38cf New module scheme 2022-06-13 10:49:10 +02:00
Krzosa Karol
cdaf85438e Package is Decl 2022-06-12 19:54:37 +02:00
Krzosa Karol
526967abbd token_match_pound 2022-06-12 12:14:15 +02:00
Krzosa Karol
cd3098da45 Add char * which is supposed to work like in C and int 2022-06-12 11:58:36 +02:00
Krzosa Karol
4d6a8efd06 Compiling euler code with only link errors 2022-06-12 00:22:07 +02:00
Krzosa Karol
83130b130b First draft for adding c string type 2022-06-12 00:15:19 +02:00
Krzosa Karol
0fcdd02c5b Rewritten field access, lose functionality but I'm fine with it, it's simpler now,
might need to support casting
2022-06-11 23:19:41 +02:00
Krzosa Karol
ac371b7203 Fix bug where you could have same named decls 2022-06-11 10:01:31 +02:00
Krzosa Karol
b76b9c605a Compound arrays 2022-06-11 09:54:35 +02:00
Krzosa Karol
cf1237f449 Fix big casting bug in CALL, euler.kl is working now too 2022-06-10 22:51:32 +02:00
Krzosa Karol
37e56a0914 Compiling global, work on AST_LAMBDA_EXPR 2022-06-10 22:06:35 +02:00
Krzosa Karol
480313b5fe Delete more old code 2022-06-10 21:48:34 +02:00
Krzosa Karol
2db6722406 Field access codegen works, properly converts to arrows 2022-06-10 21:46:14 +02:00
Krzosa Karol
9b03147099 Enum members have const syntax, enum members gen S64 type by default, 2022-06-10 21:36:36 +02:00
Krzosa Karol
70255c18cb Enums working 2022-06-10 19:41:10 +02:00
Krzosa Karol
ab663d0b01 Getting packages out of resolve_name 2022-06-10 17:07:58 +02:00
Krzosa Karol
957dbbd5cc Fix not top level ast's getting into ordered list. Delete parent nodes 2022-06-10 16:47:49 +02:00
Krzosa Karol
e2d07923c8 Add parent_scope on all nodes 2022-06-10 16:12:47 +02:00
Krzosa Karol
3402b4fe4d Add DECL_TYPE 2022-06-10 15:05:44 +02:00
Krzosa Karol
89b3e00ae4 Closer to old state 2022-06-10 14:08:27 +02:00
Krzosa Karol
d5d9911f3e More work on packages 2022-06-10 11:05:08 +02:00