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