Commit Graph

  • d8fda0ff8c Fix slice indexing in example Krzosa Karol 2022-07-28 13:35:47 +02:00
  • b806bafb51 Fixing array code generation Krzosa Karol 2022-07-28 13:29:25 +02:00
  • 78a0f54319 Fixing array examples Krzosa Karol 2022-07-28 13:20:51 +02:00
  • 4a0234155c Compiling entire folder, working on examples Krzosa Karol 2022-07-07 21:03:52 +02:00
  • e7c14010f2 Trying out a x64 emitter Krzosa Karol 2022-06-28 14:26:52 +02:00
  • a363a5e982 Compiling and testing multiple files Krzosa Karol 2022-06-27 14:01:22 +02:00
  • 7b343ca642 Compiling multiple examples Krzosa Karol 2022-06-27 13:37:55 +02:00
  • 2597e66135 Compiler restructure, now can call compiler to compile files, fix error where strict type was equal it's original type, working on examples Krzosa Karol 2022-06-27 13:13:32 +02:00
  • b4f38caabe Module relative pathing seems to work, managed to get out of having to have the exe where the files are, Got rid of scope names, now unique names uses scope ids, module folder is in top folder Krzosa Karol 2022-06-27 10:56:17 +02:00
  • 15d452cae3 Module relative folders working Krzosa Karol 2022-06-27 10:24:58 +02:00
  • 6644a2c5ae Inline ast_module constructor Krzosa Karol 2022-06-27 10:11:12 +02:00
  • d8e5955010 Module folder working Krzosa Karol 2022-06-27 09:58:12 +02:00
  • a58f8aa8b0 Preparing to add a module folder Krzosa Karol 2022-06-27 09:51:01 +02:00
  • 3af20536fc Getting absolute paths, Ast_Files now compare absolute paths Krzosa Karol 2022-06-27 09:39:24 +02:00
  • 02ec291ad0 Add file listing Krzosa Karol 2022-06-27 09:17:53 +02:00
  • 06dcb718fd Disallow sharing files between modules Krzosa Karol 2022-06-26 19:20:13 +02:00
  • cd2a1a81d1 Reworking ir stuff Krzosa Karol 2022-06-24 21:56:51 +02:00
  • 6dd904346e Trying to do some ir stuff Krzosa Karol 2022-06-24 21:56:21 +02:00
  • dfd848bced Delete bytecode codegen, starting from scratch Krzosa Karol 2022-06-24 12:59:41 +02:00
  • ee2410cb32 Simple bucket array Krzosa Karol 2022-06-24 11:55:43 +02:00
  • 37750908aa Update todo, some python codegen Krzosa Karol 2022-06-24 10:07:37 +02:00
  • 25fffae7e0 Add operation works! Krzosa Karol 2022-06-23 12:48:40 +02:00
  • d33a18c8fe Calling main Krzosa Karol 2022-06-23 12:09:23 +02:00
  • bcfd586552 Slowly trying to add function calls, cases for RETURN and CALL Krzosa Karol 2022-06-23 09:58:54 +02:00
  • b8bcdab073 Preparing to add register windows and function calls Krzosa Karol 2022-06-23 09:26:40 +02:00
  • f7e03e5d2a Loads and stores for different sizes Krzosa Karol 2022-06-23 00:03:02 +02:00
  • ce46eb5a8f Fixing bugs in the metaprogram Krzosa Karol 2022-06-22 23:47:55 +02:00
  • 05504cbf11 Update metaprogram to automatically update changes Krzosa Karol 2022-06-22 23:42:33 +02:00
  • a36747bc9c Change error printing to use colors, enable colors on windows cmd, print bytecode instruction line Krzosa Karol 2022-06-22 18:14:43 +02:00
  • cd48253e3e Register stuff cleanup Krzosa Karol 2022-06-22 16:16:02 +02:00
  • 1ac066c0b6 Rename file Krzosa Karol 2022-06-22 14:45:37 +02:00
  • e035a3510f Tests for new untyped conversions Krzosa Karol 2022-06-22 14:15:27 +02:00
  • f66b155e40 Rewriting constant casts into literals of said type Krzosa Karol 2022-06-22 14:01:15 +02:00
  • b0872e2303 Cleanup Krzosa Karol 2022-06-22 13:25:07 +02:00
  • 33ba44989b Cleanup Krzosa Karol 2022-06-22 13:19:21 +02:00
  • 35daeade20 Trying to change untyped to typed in the typechecking phase Krzosa Karol 2022-06-22 13:16:49 +02:00
  • 40557b083b Fix return type checking bug due to tuples potentially having untyped types. Also working on down typing untyped. Krzosa Karol 2022-06-22 11:18:00 +02:00
  • de159fc7d9 Prepare before typing the untyped Krzosa Karol 2022-06-22 10:07:23 +02:00
  • a229891485 Storing a global variable Krzosa Karol 2022-06-21 23:45:07 +02:00
  • eee9e24cfc Reworking VM into infinite stack machine Krzosa Karol 2022-06-21 23:13:07 +02:00
  • 2c3a8dc764 Begin to codegen bytecode instructions Krzosa Karol 2022-06-21 15:49:39 +02:00
  • 6ed17a3c1c Comprehensive execution logging Krzosa Karol 2022-06-21 14:29:15 +02:00
  • 2cb9dbdb0c Delete generated Krzosa Karol 2022-06-21 14:08:22 +02:00
  • 80fb582854 Logging Krzosa Karol 2022-06-21 14:02:54 +02:00
  • 3f384a60ec Adding debug logging to interpreter Krzosa Karol 2022-06-21 13:35:20 +02:00
  • a2b06d23d5 Switching to register based VM Krzosa Karol 2022-06-21 13:05:11 +02:00
  • 101970f62e Rewrite VM, only capable to work on 64bit arithmetic Krzosa Karol 2022-06-20 22:14:46 +02:00
  • fd66781afb Arithmetic ops and pushes for all types Krzosa Karol 2022-06-20 20:14:34 +02:00
  • 5a8f36b16a Bytecode interpreter init Krzosa Karol 2022-06-20 19:27:22 +02:00
  • 9f7d51ff02 Initially was working on vargs but we need a new algorithm to match lambda call arguments Krzosa Karol 2022-06-20 16:23:35 +02:00
  • 9700742515 Basic type safe print Krzosa Karol 2022-06-20 10:27:27 +02:00
  • 99b0ba2673 Working on Any arrays and vargs Krzosa Karol 2022-06-20 10:02:23 +02:00
  • 4e288dcfab Cleaning up parsing / typechecking of calls slightly, adding any vargs Krzosa Karol 2022-06-20 09:28:38 +02:00
  • aa5741203f For loop iterate through arrays and slices Krzosa Karol 2022-06-19 22:31:59 +02:00
  • 367562f0a8 Working on slices, arrays and any types Krzosa Karol 2022-06-19 20:42:45 +02:00
  • 1a0354213e Delete old scoping code, working on any types Krzosa Karol 2022-06-19 20:08:13 +02:00
  • 02743c86d8 Rewriting types into ints at typechecking phase Krzosa Karol 2022-06-19 16:01:58 +02:00
  • 69fe514485 Any test Krzosa Karol 2022-06-19 15:28:27 +02:00
  • 79edfae55b Lot's of work on Any and Type Krzosa Karol 2022-06-19 15:28:18 +02:00
  • 014ef07b9f Any type initially working Krzosa Karol 2022-06-19 12:34:05 +02:00
  • ade2638255 Better support for Type types, squashing bugs due to pointer confusion etc. Krzosa Karol 2022-06-19 10:18:57 +02:00
  • 94b820a071 Add switch case statement Krzosa Karol 2022-06-19 09:31:16 +02:00
  • fc0d4345ee Working on type operations and type infos Krzosa Karol 2022-06-19 00:05:22 +02:00
  • 9d2ce3560b Type as value initially working Krzosa Karol 2022-06-18 23:49:47 +02:00
  • 523760dc0a get_type_info Krzosa Karol 2022-06-18 23:39:46 +02:00
  • 071a8de6a4 Compiling with Type_Info Krzosa Karol 2022-06-18 23:32:34 +02:00
  • c85fa02750 Add a language.kl module which should contain builtin stuff Krzosa Karol 2022-06-18 19:42:59 +02:00
  • 649f37cb1b Generating comprehensive type infos Krzosa Karol 2022-06-18 16:24:54 +02:00
  • e63dc0322a Foreign variables, exporting some of the info to the c program, compile errors though Krzosa Karol 2022-06-18 16:01:05 +02:00
  • 0ed4f62557 Fix #strict regression, adding Any and Type_Info Krzosa Karol 2022-06-18 15:24:54 +02:00
  • 8ead876d90 Before adding Any type Krzosa Karol 2022-06-18 14:38:53 +02:00
  • 499faac256 Add error messages when file not found + error position Krzosa Karol 2022-06-18 09:58:48 +02:00
  • 3ba8bd08fb Stage arena is not a sub Krzosa Karol 2022-06-18 09:53:40 +02:00
  • 28f89def4b Fixing printing / memory issues, Add stage arena, printing types in errors properly Krzosa Karol 2022-06-18 09:50:34 +02:00
  • f876b69779 Change precedence of casts Krzosa Karol 2022-06-18 09:21:33 +02:00
  • 012d7fb6ad Restructure os code Krzosa Karol 2022-06-17 17:00:48 +02:00
  • 871ff65ec2 Working on code in language, fixing bugs Krzosa Karol 2022-06-17 17:00:34 +02:00
  • 5b55852619 Delete old type tests Krzosa Karol 2022-06-17 11:55:24 +02:00
  • bbe3ca8bf4 Delete int128 Krzosa Karol 2022-06-17 11:54:43 +02:00
  • 8f1d400b57 Work on unicode Krzosa Karol 2022-06-17 11:53:36 +02:00
  • a77f0ee8fe Fix struct function ordering in c files Krzosa Karol 2022-06-17 11:46:05 +02:00
  • 218ca7266a Add routine for getting proper typename Krzosa Karol 2022-06-17 10:58:12 +02:00
  • ae62b6933e fixing compiler bugs Krzosa Karol 2022-06-17 10:35:05 +02:00
  • 6696fd80f0 Base test Krzosa Karol 2022-06-17 09:16:45 +02:00
  • ed017c79a5 void pointer duck typing Krzosa Karol 2022-06-17 09:16:33 +02:00
  • 66d7c8ca52 Switched to using memory copy in order to implement multiple returns Krzosa Karol 2022-06-16 13:16:27 +02:00
  • 9c58d4f116 Fixing multiple return values bugs Krzosa Karol 2022-06-16 12:48:20 +02:00
  • c262e7e491 Multiple return values working! Krzosa Karol 2022-06-16 12:42:43 +02:00
  • 5345894e3e Cleanup Slice and Tuple generation Krzosa Karol 2022-06-16 12:16:15 +02:00
  • c604b44458 Slowly adding multiple return values Krzosa Karol 2022-06-16 11:48:47 +02:00
  • 2a3284f70e Window painting is working! Krzosa Karol 2022-06-16 09:51:48 +02:00
  • d591cfea6f First window up in the language! Krzosa Karol 2022-06-16 09:29:47 +02:00
  • 4f0d16e632 Add Var Unpack Krzosa Karol 2022-06-16 08:56:31 +02:00
  • 185fd8975c Add tuple type Krzosa Karol 2022-06-15 14:48:05 +02:00
  • 8b470fbf34 Squashing file write bugs Krzosa Karol 2022-06-15 12:11:34 +02:00
  • 69362ba37a Go back to old precedence of casting Krzosa Karol 2022-06-15 10:56:11 +02:00
  • cdeebfb8f9 Ported unicode conversions Krzosa Karol 2022-06-15 10:51:45 +02:00
  • aab89ffada Add static and runtime assert Krzosa Karol 2022-06-15 10:30:33 +02:00
  • e984049429 Porting unicode code Krzosa Karol 2022-06-15 10:12:40 +02:00
  • 43f424c414 Add handling of binary numbers 0b1001 Krzosa Karol 2022-06-15 09:22:28 +02:00