Commit Graph

321 Commits

Author SHA1 Message Date
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
58e919ef69 else if into elif 2022-06-14 21:25:02 +02:00
Krzosa Karol
44ee0f4351 Fix error when using default argument 2022-06-14 21:16:17 +02:00
Krzosa Karol
a4513fcdfa Fix issue where compounds had not enough type information to typecheck 2022-06-14 20:42:32 +02:00
Krzosa Karol
107c8435b7 Add ';;' operator, more windows decls 2022-06-14 20:12:52 +02:00
Krzosa Karol
6e56b789e9 Update build script 2022-06-14 14:31:29 +02:00
Krzosa Karol
e4e939ec04 Restructure 2022-06-14 14:28:29 +02:00
Krzosa Karol
f223086ef3 Restructure 2022-06-14 14:28:21 +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
1a6d2598a3 Fix spilling imports 2022-06-13 23:44:40 +02:00
Krzosa Karol
bc3d3d00ca Writing to windows console through foreign calls! 2022-06-13 22:34:19 +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
ac84505d98 index on (no branch): 9523583 Fix function argument ordering 2022-06-13 21:11:39 +02:00
Krzosa Karol
95235836fd Fix function argument ordering 2022-06-13 21:01:22 +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
2503a6d680 Fix adding loads multiple times 2022-06-13 15:24:50 +02:00
Krzosa Karol
a929e0b5ec Remove one of implicit arrays and still working 2022-06-13 15:05:47 +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
31c2c00452 Rearrange # flags, Add Windows.kl 2022-06-12 19:41:31 +02:00
Krzosa Karol
cd29798c1d AST_STRICT for type aliases 2022-06-12 13:09:37 +02:00
Krzosa Karol
beb10d6e2d Typesafe type aliases, first draft 100 lines and not working, second draw 2 lines
and working 100%
2022-06-12 12:56:31 +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
6a612cf1b4 Compounds for structs 2022-06-11 23:48:17 +02:00
Krzosa Karol
e085bce77a type tests to file 2022-06-11 23:27:28 +02:00
Krzosa Karol
9ad5f695a4 Test new module idea, to first period is package name 2022-06-11 23:27:15 +02:00
Krzosa Karol
68663e650a Fixing codegen issues because of name resolution, invalid constants rewritten 2022-06-11 23:26:50 +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
3b4e14a089 Squashing compound bugs 2022-06-11 09:59:03 +02:00
Krzosa Karol
b76b9c605a Compound arrays 2022-06-11 09:54:35 +02:00
Krzosa Karol
bcddf7f721 Unify call and compound but have different kinds 2022-06-10 23:45:02 +02:00
Krzosa Karol
7365d6aa88 Basic compound parsing, maybe I should unify with calls again 2022-06-10 23:03:21 +02:00