Commit Graph
100 Commits
Author SHA1 Message Date
Krzosa Karol 6ed17a3c1c Comprehensive execution logging 2022-06-21 14:29:15 +02:00
Krzosa Karol 2cb9dbdb0c Delete generated 2022-06-21 14:08:22 +02:00
Krzosa Karol 80fb582854 Logging 2022-06-21 14:02:54 +02:00
Krzosa Karol 3f384a60ec Adding debug logging to interpreter 2022-06-21 13:35:20 +02:00
Krzosa Karol a2b06d23d5 Switching to register based VM 2022-06-21 13:05:11 +02:00
Krzosa Karol 101970f62e Rewrite VM, only capable to work on 64bit arithmetic 2022-06-20 22:14:46 +02:00
Krzosa Karol fd66781afb Arithmetic ops and pushes for all types 2022-06-20 20:14:34 +02:00
Krzosa Karol 5a8f36b16a Bytecode interpreter init 2022-06-20 19:27:22 +02:00
Krzosa Karol 9f7d51ff02 Initially was working on vargs but we need a new algorithm to match lambda call arguments 2022-06-20 16:23:35 +02:00
Krzosa Karol 9700742515 Basic type safe print 2022-06-20 10:27:27 +02:00
Krzosa Karol 99b0ba2673 Working on Any arrays and vargs 2022-06-20 10:02:23 +02:00
Krzosa Karol 4e288dcfab Cleaning up parsing / typechecking of calls slightly, adding any vargs 2022-06-20 09:28:38 +02:00
Krzosa Karol aa5741203f For loop iterate through arrays and slices 2022-06-19 22:31:59 +02:00
Krzosa Karol 367562f0a8 Working on slices, arrays and any types 2022-06-19 20:42:45 +02:00
Krzosa Karol 1a0354213e Delete old scoping code, working on any types 2022-06-19 20:08:13 +02:00
Krzosa Karol 02743c86d8 Rewriting types into ints at typechecking phase 2022-06-19 16:01:58 +02:00
Krzosa Karol 69fe514485 Any test 2022-06-19 15:28:27 +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 8ead876d90 Before adding Any type 2022-06-18 14:38:53 +02:00
Krzosa Karol 499faac256 Add error messages when file not found + error position 2022-06-18 09:58:48 +02:00
Krzosa Karol 3ba8bd08fb Stage arena is not a sub 2022-06-18 09:53:40 +02:00
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