This commit is contained in:
Krzosa Karol
2022-05-31 22:52:56 +02:00
parent 7ea0dfc7a6
commit 98d2389c9f
5 changed files with 119 additions and 152 deletions

View File

@@ -32,15 +32,14 @@ For now I don't thing it should be overloadable.
-------------------------------------------------------------------------------
@todo
[ ] - For loop
[ ] - Pass statement
[ ] - More operators
[ ] - Init statements
[ ] - More operators
[ ] - lvalue, rvalue concept so we cant assign value to some arbitrary weird expression
[ ] - More for loop variations
[ ] - Fixing access to constants, in C we cant have constants inside of structs / functions so we need to rewrite the tree
[ ] - Default values in structs??? Should compound stmts bring values from default values?? Maybe not? Whats the alternative
[ ] - Write up on order independent declarations
[ ] - Switch
[ ] - lvalue, rvalue concept so we cant assign value to some arbitrary weird expression
[ ] - More basic types
[ ] - Array of inferred size
[ ] - Lexer: Need to insert scope endings when hitting End of file
@@ -52,10 +51,12 @@ For now I don't thing it should be overloadable.
@donzo
[x] - Access through struct names to constants Arena.CONSTANT
[x] - Enums
[x] - Initial for loop
[x] - Enum . access to values
[x] - Struct calls
[x] - Default values in calls
[x] - Resolving calls with default values
[x] - Pass statement
[x] - Resolving calls with named args, with indexed args
[x] - Structs
[x] - Struct field access
@@ -63,7 +64,6 @@ For now I don't thing it should be overloadable.
[x] - Typespecs should probably be expressions so stuff like would be possible :: *[32]int
[x] - Initial order independence algorithm
[x] - Think about compound expressions, unify with calls - maybe Thing(a=1) instead of Thing{a=1}
*/
#include "base.cpp"
@@ -85,7 +85,6 @@ int main(){
test_array();
test_string_builder();
test_intern_table();
lex_test();
String result = {};
result = compile_file("globals.kl"_s);