Fix regression, constant variables now get properly rewritten

This commit is contained in:
Krzosa Karol
2022-05-31 14:01:18 +02:00
parent 369418b042
commit 04d38511a9
7 changed files with 49 additions and 68 deletions

View File

@@ -40,19 +40,24 @@ For now I don't thing it should be overloadable.
-------------------------------------------------------------------------------
@todo
[ ] - Enums
[ ] - Enum . access to values
[ ] - Fixing access to constants, in C we cant have constants inside of structs / functions so we need to rewrite the tree
[ ] - Access through struct names to constants Arena.CONSTANT
[ ] - Default values in structs??? Should compound stmts bring values from default values?? Maybe not? Whats the alternative
[ ] - Write up on order independent declarations
[ ] - Init statements
[ ] - lvalue, rvalue concept so we cant assign value to some arbitrary weird expression
[ ] - For loop
[ ] - Switch
[ ] - More basic types
[ ] - Lexer: Need to insert scope endings when hitting End of file
[ ] - Add single line lambda expressions
@ideas
@donzo
[x] - Access through struct names to constants Arena.CONSTANT
[x] - Enums
[x] - Enum . access to values
[x] - Struct calls
[x] - Default values in calls
[x] - Resolving calls with default values
@@ -81,11 +86,11 @@ int main(){
lex_test();
String result = {};
// result = compile_file("order1.kl"_s);
// result = compile_file("lambdas.kl"_s);
// result = compile_file("order2.kl"_s);
result = compile_file("globals.kl"_s);
result = compile_file("enums.kl"_s);
// result = compile_file("globals.kl"_s);
result = compile_file("order2.kl"_s);
result = compile_file("lambdas.kl"_s);
result = compile_file("order1.kl"_s);
printf("%s", result.str);
__debugbreak();