|
|
@@ -19,8 +19,8 @@ val test: i64 = 1 + 2*3 + 3*4
|
|
|
- [x] Scope checking and stuff in parser
|
|
|
- [ ] Parser should generate all names (unique), struct indexes, etc for codegen, this should also be in the scope
|
|
|
- [x] Multi pass parser: first scope/symbol collection (what i've been doing now), then check if it makes sense :)
|
|
|
-- [ ] Functions may kind of have same name but different arguments, but the scope stuff is using a dict[str, Value] so it is not tracked, the resolve_function() should work for this though, so scope stuff needs work.
|
|
|
-- [ ] Need to know the value type of an expression in codegen, i think adding this in the validator to the ast is the right move...
|
|
|
+- [x] Functions may kind of have same name but different arguments, but the scope stuff is using a dict[str, Value] so it is not tracked, the resolve_function() should work for this though, so scope stuff needs work.
|
|
|
+- [x] Need to know the value type of an expression in codegen, i think adding this in the validator to the ast is the right move...
|
|
|
- Types:
|
|
|
- With no * or & before type it will be "dynamic", the compiler figures out if it's the pointer or the value that is being used
|
|
|
- explicit value with * or explicit pointer with &. You can also use & and * on a "dynamic" type to get both, "dynamic" types are both at the same time, but in reality they are probably the pointer and then you know both
|