Compound arrays

This commit is contained in:
Krzosa Karol
2022-06-11 09:54:35 +02:00
parent bcddf7f721
commit b76b9c605a
8 changed files with 236 additions and 156 deletions

View File

@@ -77,6 +77,7 @@ Expr:
@todo
[ ] - Remodel compound from call to {}
[ ] - Switch
[ ] - Add c string
[ ] - Some way to take slice of data
@@ -86,14 +87,7 @@ Expr:
[ ] - Array of inferred size
[ ] - Add single line lambda expressions
[ ] - Ternary operator
[ ] - Remodel compound from call to {}
[ ] - Scope
[ ] - Field access rewrite
[ ] - Constants embeded in structs should be able to refer to other constants in that namespace without prefix
[ ] - Order independent constants in structs
[ ] - Fix recursive lambdas in structs
[ ] - Fixing access to functions/structs, in C we cant have functons inside of structs / functions so we need to rewrite the tree
[ ] - Disable ability to parse inner structs, functions, constants etc. ?
[ ] - Write up on order independent declarations
[ ] - Casting to basic types by call S64(x)
@@ -111,6 +105,12 @@ Expr:
[ ] - Conditional compilation #if
@donzo
[x] - Scope
[x] - Field access rewrite
[-] - Constants embeded in structs should be able to refer to other constants in that namespace without prefix
[-] - Order independent constants in structs
[-] - Fix recursive lambdas in structs
[-] - Fixing access to functions/structs, in C we cant have functons inside of structs / functions so we need to rewrite the tree
[x] - Emitting #line
[x] - Making sure debugger works
[x] - We need ++ -- operators
@@ -203,13 +203,13 @@ int main(int argument_count, char **arguments){
#endif
Scratch scratch;
Array<String> files = {scratch};
files.add("lambdas.kl"_s);
files.add("order1.kl"_s);
files.add("order2.kl"_s);
files.add("new_types.kl"_s);
files.add("enums.kl"_s);
// files.add("lambdas.kl"_s);
// files.add("order1.kl"_s);
// files.add("order2.kl"_s);
// files.add("new_types.kl"_s);
// files.add("enums.kl"_s);
files.add("globals.kl"_s);
files.add("euler.kl"_s);
// files.add("euler.kl"_s);
String result = compile_files(files);
printf("%s", result.str);
__debugbreak();