Commit Graph

122 Commits

Author SHA1 Message Date
Krzosa Karol
02743c86d8 Rewriting types into ints at typechecking phase 2022-06-19 16:01:58 +02:00
Krzosa Karol
79edfae55b Lot's of work on Any and Type 2022-06-19 15:28:18 +02:00
Krzosa Karol
014ef07b9f Any type initially working 2022-06-19 12:34:05 +02:00
Krzosa Karol
ade2638255 Better support for Type types, squashing bugs due to pointer confusion etc. 2022-06-19 10:18:57 +02:00
Krzosa Karol
94b820a071 Add switch case statement 2022-06-19 09:31:16 +02:00
Krzosa Karol
fc0d4345ee Working on type operations and type infos 2022-06-19 00:05:22 +02:00
Krzosa Karol
9d2ce3560b Type as value initially working 2022-06-18 23:49:47 +02:00
Krzosa Karol
523760dc0a get_type_info 2022-06-18 23:39:46 +02:00
Krzosa Karol
071a8de6a4 Compiling with Type_Info 2022-06-18 23:32:34 +02:00
Krzosa Karol
c85fa02750 Add a language.kl module which should contain builtin stuff 2022-06-18 19:42:59 +02:00
Krzosa Karol
649f37cb1b Generating comprehensive type infos 2022-06-18 16:24:54 +02:00
Krzosa Karol
e63dc0322a Foreign variables, exporting some of the info to the c program, compile errors though 2022-06-18 16:01:05 +02:00
Krzosa Karol
0ed4f62557 Fix #strict regression, adding Any and Type_Info 2022-06-18 15:24:54 +02:00
Krzosa Karol
499faac256 Add error messages when file not found + error position 2022-06-18 09:58:48 +02:00
Krzosa Karol
871ff65ec2 Working on code in language, fixing bugs 2022-06-17 17:00:34 +02:00
Krzosa Karol
a77f0ee8fe Fix struct function ordering in c files 2022-06-17 11:46:05 +02:00
Krzosa Karol
ae62b6933e fixing compiler bugs 2022-06-17 10:35:05 +02:00
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