Commit Graph
100 Commits
Author SHA1 Message Date
Krzosa Karol 28f89def4b Fixing printing / memory issues, Add stage arena, printing types in errors properly 2022-06-18 09:50:34 +02:00
Krzosa Karol f876b69779 Change precedence of casts 2022-06-18 09:21:33 +02:00
Krzosa Karol 012d7fb6ad Restructure os code 2022-06-17 17:00:48 +02:00
Krzosa Karol 871ff65ec2 Working on code in language, fixing bugs 2022-06-17 17:00:34 +02:00
Krzosa Karol 5b55852619 Delete old type tests 2022-06-17 11:55:24 +02:00
Krzosa Karol bbe3ca8bf4 Delete int128 2022-06-17 11:54:43 +02:00
Krzosa Karol 8f1d400b57 Work on unicode 2022-06-17 11:53:36 +02:00
Krzosa Karol a77f0ee8fe Fix struct function ordering in c files 2022-06-17 11:46:05 +02:00
Krzosa Karol 218ca7266a Add routine for getting proper typename 2022-06-17 10:58:12 +02:00
Krzosa Karol ae62b6933e fixing compiler bugs 2022-06-17 10:35:05 +02:00
Krzosa Karol 6696fd80f0 Base test 2022-06-17 09:16:45 +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 2a3284f70e Window painting is working! 2022-06-16 09:51:48 +02:00
Krzosa Karol d591cfea6f First window up in the language! 2022-06-16 09:29:47 +02:00
Krzosa Karol 4f0d16e632 Add Var Unpack 2022-06-16 08:56:31 +02:00
Krzosa Karol 185fd8975c Add tuple type 2022-06-15 14:48:05 +02:00
Krzosa Karol 8b470fbf34 Squashing file write bugs 2022-06-15 12:11:34 +02:00
Krzosa Karol 69362ba37a Go back to old precedence of casting 2022-06-15 10:56:11 +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 43f424c414 Add handling of binary numbers 0b1001 2022-06-15 09:22:28 +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 5f9f1b9a63 Adding more resolved info to more calls 2022-06-14 21:45:07 +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 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
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 db7303a2c1 Deleting more code poggers 2022-06-10 21:40:56 +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 862a820ec7 Fixing field access / Enum bugs 2022-06-10 19:44:52 +02:00
Krzosa Karol 70255c18cb Enums working 2022-06-10 19:41:10 +02:00
Krzosa Karol 43fe057cf4 Fixing fallout from temporary solution to field access 2022-06-10 19:31:59 +02:00
Krzosa Karol decab135b8 Referencing other packages works!! 2022-06-10 19:25:57 +02:00
Krzosa Karol eff0afd96c Delete old code 2022-06-10 18:08:38 +02:00
Krzosa Karol 4149300bb9 Cleanup, FLAG32 2022-06-10 18:07:03 +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 6ad5f4e706 Nicer error messages 2022-06-10 16:26:26 +02:00
Krzosa Karol 11e7bd52fd Solved the problem of scope when resolving out of order!!! 2022-06-10 16:23:34 +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
Krzosa Karol b0077fe9df Basic resolving, codegen with packages 2022-06-10 10:35:10 +02:00