|
Luma 0.1.0
A low-level compiled alternative to C, C++, and more!
|

Functions | |
| bool | typecheck_statement (AstNode *stmt, Scope *scope, ArenaAllocator *arena) |
| AstNode * | typecheck_expression (AstNode *expr, Scope *scope, ArenaAllocator *arena) |
| bool | typecheck_program_multipass (AstNode *program, Scope *global_scope, ArenaAllocator *arena) |
| Three-pass typechecking for modules to handle forward references. | |
| AstNode * typecheck_expression | ( | AstNode * | expr, |
| Scope * | scope, | ||
| ArenaAllocator * | arena | ||
| ) |
| bool typecheck_program_multipass | ( | AstNode * | program, |
| Scope * | global_scope, | ||
| ArenaAllocator * | arena | ||
| ) |
Three-pass typechecking for modules to handle forward references.
This allows modules to be declared and used in any order by:
| program | AST_PROGRAM node containing all modules |
| global_scope | Global scope to register modules in |
| arena | Arena allocator for memory management |
| bool typecheck_statement | ( | AstNode * | stmt, |
| Scope * | scope, | ||
| ArenaAllocator * | arena | ||
| ) |