Commit Graph

52 Commits

Author SHA1 Message Date
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
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
06dcb718fd Disallow sharing files between modules 2022-06-26 19:20:13 +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
f66b155e40 Rewriting constant casts into literals of said type 2022-06-22 14:01:15 +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
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
c85fa02750 Add a language.kl module which should contain builtin stuff 2022-06-18 19:42:59 +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
499faac256 Add error messages when file not found + error position 2022-06-18 09:58:48 +02:00
Krzosa Karol
f876b69779 Change precedence of casts 2022-06-18 09:21:33 +02:00
Krzosa Karol
ed017c79a5 void pointer duck typing 2022-06-17 09:16:33 +02:00
Krzosa Karol
c604b44458 Slowly adding multiple return values 2022-06-16 11:48:47 +02:00
Krzosa Karol
4f0d16e632 Add Var Unpack 2022-06-16 08:56:31 +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
58e919ef69 else if into elif 2022-06-14 21:25:02 +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
2c431e3207 Writing more real program and squashing bugs 2022-06-13 20:22:40 +02:00
Krzosa Karol
f9487a2c24 New cast '->' 2022-06-13 15:38:54 +02:00
Krzosa Karol
2503a6d680 Fix adding loads multiple times 2022-06-13 15:24:50 +02:00
Krzosa Karol
a929e0b5ec Remove one of implicit arrays and still working 2022-06-13 15:05:47 +02:00
Krzosa Karol
4b16439a14 More work on modules, Ast_Module, Ast_File and Ast_Scope got unified 2022-06-13 14:04:47 +02:00
Krzosa Karol
bcd825c154 New concept of AST_MODULE, Ast_File and Ast_Module are now both scopes.
Concept of loading and importing.
2022-06-13 13:39:31 +02:00
Krzosa Karol
8bd5e9638f More module work 2022-06-13 12:01:28 +02:00
Krzosa Karol
b0553c38cf New module scheme 2022-06-13 10:49:10 +02:00
Krzosa Karol
31c2c00452 Rearrange # flags, Add Windows.kl 2022-06-12 19:41:31 +02:00
Krzosa Karol
cd29798c1d AST_STRICT for type aliases 2022-06-12 13:09:37 +02:00
Krzosa Karol
526967abbd token_match_pound 2022-06-12 12:14:15 +02:00
Krzosa Karol
3b4e14a089 Squashing compound bugs 2022-06-11 09:59:03 +02:00
Krzosa Karol
bcddf7f721 Unify call and compound but have different kinds 2022-06-10 23:45:02 +02:00
Krzosa Karol
7365d6aa88 Basic compound parsing, maybe I should unify with calls again 2022-06-10 23:03:21 +02:00
Krzosa Karol
cf1237f449 Fix big casting bug in CALL, euler.kl is working now too 2022-06-10 22:51:32 +02:00
Krzosa Karol
37e56a0914 Compiling global, work on AST_LAMBDA_EXPR 2022-06-10 22:06:35 +02:00
Krzosa Karol
9b03147099 Enum members have const syntax, enum members gen S64 type by default, 2022-06-10 21:36:36 +02:00
Krzosa Karol
decab135b8 Referencing other packages works!! 2022-06-10 19:25:57 +02:00
Krzosa Karol
ab663d0b01 Getting packages out of resolve_name 2022-06-10 17:07:58 +02:00
Krzosa Karol
6ad5f4e706 Nicer error messages 2022-06-10 16:26:26 +02:00
Krzosa Karol
e2d07923c8 Add parent_scope on all nodes 2022-06-10 16:12:47 +02:00
Krzosa Karol
89b3e00ae4 Closer to old state 2022-06-10 14:08:27 +02:00
Krzosa Karol
d5d9911f3e More work on packages 2022-06-10 11:05:08 +02:00
Krzosa Karol
b0077fe9df Basic resolving, codegen with packages 2022-06-10 10:35:10 +02:00