Commit Graph

457 Commits

Author SHA1 Message Date
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