Commit Graph
100 Commits
Author SHA1 Message Date
Krzosa Karol f388e3f915 Begin raymarcher example and math module, fixing parsing bugs 2022-09-27 22:42:46 +02:00
Krzosa Karol 7ab1b24bbe We got type sizing, it matches the C compiler for windows struct, we got
a real compiler on our hands
2022-09-27 18:25:58 +02:00
Krzosa Karol 094b10576e Helping out sublime indexing 2022-09-27 15:15:23 +02:00
Krzosa Karol d39686c480 Cosmetic changes 2022-09-27 14:57:10 +02:00
Krzosa Karol dda2252ca2 length_of align_of size_of are no longer operators but function calls 2022-09-27 13:50:30 +02:00
Krzosa Karol 60f794580c Fixing bugs, constraining syntax 2022-09-27 11:30:16 +02:00
Krzosa Karol b743ceb2f4 Arena module 2022-09-27 10:51:18 +02:00
Krzosa Karol b8ab388bfc Change to globals are PascalCase, locals are snake_case 2022-09-27 10:51:12 +02:00
Krzosa Karol 3dd9fae080 Disable constants inside structures 2022-09-27 10:26:33 +02:00
Krzosa Karol fef98220ba Unicode literal to C like character literal 2022-09-27 10:21:19 +02:00
Krzosa Karol 4f51749787 Fixing bugs with strings 2022-09-27 10:12:36 +02:00
Krzosa Karol 5c61e159c7 Remove programs / folder, add windows drawing to screen example 2022-08-28 09:46:53 +02:00
Krzosa Karol ce7dd9a091 Add golang typesystem blog reference 2022-08-26 22:08:20 +02:00
Krzosa Karol a8cbeecfe8 Update README 2022-08-26 21:56:48 +02:00
Krzosa Karol 8739acd52e Update README 2022-08-26 21:55:27 +02:00
Krzosa Karol 03c19ddeaa Rename files 2022-08-26 21:54:02 +02:00
Krzosa Karol 457a9f4301 Rename codegen 2022-08-26 21:51:54 +02:00
Krzosa Karol eb4b1eca38 Remove old files 2022-08-26 21:50:47 +02:00
Krzosa Karol 3857a0b939 Update README 2022-08-26 21:48:30 +02:00
Krzosa Karol 5c9a657700 Update README 2022-08-26 21:47:46 +02:00
Krzosa Karol a12308a9ac Update README 2022-08-05 23:36:57 +02:00
Krzosa Karol dd72fb77c5 Update README 2022-07-29 10:03:54 +02:00
Krzosa Karol 4fa09e2f8a Update README 2022-07-29 10:02:53 +02:00
Krzosa Karol f51fddd479 Fix markdown items 2022-07-28 16:57:25 +02:00
Krzosa Karol be508c0ae9 Add examples, update README 2022-07-28 16:53:54 +02:00
Krzosa Karol eebb7e75e1 Building section 2022-07-28 14:31:12 +02:00
Krzosa Karol d7c8a29664 Add all base sources 2022-07-28 14:29:43 +02:00
Krzosa Karol b55cb50212 UPDATE README 2022-07-28 14:27:16 +02:00
Krzosa Karol 1f9a5fe81d Add README 2022-07-28 14:26:14 +02:00
Krzosa Karol 59a733a22b Silence unused variables warnings 2022-07-28 14:19:48 +02:00
Krzosa Karol ed4eac0285 Language basics 2022-07-28 14:16:42 +02:00
Krzosa Karol 93f984bd96 Order independent declaration example 2022-07-28 14:04:33 +02:00
Krzosa Karol d8fda0ff8c Fix slice indexing in example 2022-07-28 13:35:47 +02:00
Krzosa Karol b806bafb51 Fixing array code generation 2022-07-28 13:29:25 +02:00
Krzosa Karol 78a0f54319 Fixing array examples 2022-07-28 13:20:51 +02:00
Krzosa Karol 4a0234155c Compiling entire folder, working on examples 2022-07-07 21:03:52 +02:00
Krzosa Karol e7c14010f2 Trying out a x64 emitter 2022-06-28 14:26:52 +02:00
Krzosa Karol a363a5e982 Compiling and testing multiple files 2022-06-27 14:01:22 +02:00
Krzosa Karol 7b343ca642 Compiling multiple examples 2022-06-27 13:37:55 +02:00
Krzosa Karol 2597e66135 Compiler restructure, now can call compiler to compile files, fix error where strict type
was equal it's original type, working on examples
2022-06-27 13:13:32 +02:00
Krzosa Karol 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
2022-06-27 10:56:17 +02:00
Krzosa Karol 15d452cae3 Module relative folders working 2022-06-27 10:24:58 +02:00
Krzosa Karol 6644a2c5ae Inline ast_module constructor 2022-06-27 10:11:12 +02:00
Krzosa Karol d8e5955010 Module folder working 2022-06-27 09:58:12 +02:00
Krzosa Karol a58f8aa8b0 Preparing to add a module folder 2022-06-27 09:51:01 +02:00
Krzosa Karol 3af20536fc Getting absolute paths, Ast_Files now compare absolute paths 2022-06-27 09:39:24 +02:00
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