Luna
093a8003b6
ast_printer: fix children printing
...
- add scope ids for debug purposes
- add children to parent on Scope.createChild
- types: add validation of if's condition expr type
- types: add scopes to ifs
2019-09-26 21:36:26 -03:00
Luna
64e39a6f1e
ast_printer: print scopes inside functions
...
- comp_ctx: add children attr for debug info
2019-09-26 16:58:57 -03:00
Luna
97c2437d97
add basic business logic for scopes
2019-09-26 16:04:11 -03:00
Luna
e91c2dfdaf
fix errs
2019-09-26 14:32:23 -03:00
Luna
bf035abadf
add lots of TODOs for variables and type analysis of statements
...
- comp_ctx: replace Function.symbols to Function.env
2019-09-26 00:11:48 -03:00
Luna
0b72462954
codegen: add emitting of call exprs
...
- codegen: add llvm value ref table to more easily fetch function
values
- comp_ctx: add fetchGlobalSymbol
- types: use ctx.fetchGlobalSymbol
2019-09-25 18:05:56 -03:00
Luna
cb8908dc80
add type analysis for consts
...
- add the basics of recursive type resolving for expressions
- set err context for enum
2019-09-25 14:34:32 -03:00
Luna
5188dac3c0
add type analysis of enums
2019-09-25 11:59:36 -03:00
Luna
6b3d54aed7
embed FnDecl inside FunctionSymbol for correct param order
2019-09-25 10:53:10 -03:00
Luna
e2cca03d52
add type resolving for structs and fn params
...
- add a printer for the symbol table
- add error contexts to type pass
2019-09-25 00:26:30 -03:00
Luna
8afab8e4ed
comp_ctx: add FunctionSymbol.findSymbol
...
- add Variable symbol
2019-09-24 23:09:00 -03:00
Luna
c1d6939c43
add the rest of (currently nonfunctional) emitting of if stmts
...
- add compilation context and basics of type solver
2019-09-24 17:47:17 -03:00