Commit Graph
100 Commits
Author SHA1 Message Date
Krzosa Karol 02ec291ad0 Add file listing 2022-06-27 09:17:53 +02:00
Krzosa Karol 06dcb718fd Disallow sharing files between modules 2022-06-26 19:20:13 +02:00
Krzosa Karol cd2a1a81d1 Reworking ir stuff 2022-06-24 21:56:51 +02:00
Krzosa Karol 6dd904346e Trying to do some ir stuff 2022-06-24 21:56:21 +02:00
Krzosa Karol dfd848bced Delete bytecode codegen, starting from scratch 2022-06-24 12:59:41 +02:00
Krzosa Karol ee2410cb32 Simple bucket array 2022-06-24 11:55:43 +02:00
Krzosa Karol 37750908aa Update todo, some python codegen 2022-06-24 10:07:37 +02:00
Krzosa Karol 25fffae7e0 Add operation works! 2022-06-23 12:48:40 +02:00
Krzosa Karol d33a18c8fe Calling main 2022-06-23 12:09:23 +02:00
Krzosa Karol bcfd586552 Slowly trying to add function calls, cases for RETURN and CALL 2022-06-23 09:58:54 +02:00
Krzosa Karol b8bcdab073 Preparing to add register windows and function calls 2022-06-23 09:26:40 +02:00
Krzosa Karol f7e03e5d2a Loads and stores for different sizes 2022-06-23 00:03:02 +02:00
Krzosa Karol ce46eb5a8f Fixing bugs in the metaprogram 2022-06-22 23:47:55 +02:00
Krzosa Karol 05504cbf11 Update metaprogram to automatically update changes 2022-06-22 23:42:33 +02:00
Krzosa Karol a36747bc9c Change error printing to use colors, enable colors on windows cmd, print bytecode instruction line 2022-06-22 18:14:43 +02:00
Krzosa Karol cd48253e3e Register stuff cleanup 2022-06-22 16:16:02 +02:00
Krzosa Karol 1ac066c0b6 Rename file 2022-06-22 14:45:37 +02:00
Krzosa Karol e035a3510f Tests for new untyped conversions 2022-06-22 14:15:27 +02:00
Krzosa Karol f66b155e40 Rewriting constant casts into literals of said type 2022-06-22 14:01:15 +02:00
Krzosa Karol b0872e2303 Cleanup 2022-06-22 13:25:07 +02:00
Krzosa Karol 33ba44989b Cleanup 2022-06-22 13:19:21 +02:00
Krzosa Karol 35daeade20 Trying to change untyped to typed in the typechecking phase 2022-06-22 13:16:49 +02:00
Krzosa Karol 40557b083b Fix return type checking bug due to tuples potentially having untyped types. Also working on down typing untyped. 2022-06-22 11:18:00 +02:00
Krzosa Karol de159fc7d9 Prepare before typing the untyped 2022-06-22 10:07:23 +02:00
Krzosa Karol a229891485 Storing a global variable 2022-06-21 23:45:07 +02:00
Krzosa Karol eee9e24cfc Reworking VM into infinite stack machine 2022-06-21 23:13:07 +02:00
Krzosa Karol 2c3a8dc764 Begin to codegen bytecode instructions 2022-06-21 15:49:39 +02:00
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