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

Functions | |
| bool | register_module (Scope *global_scope, const char *module_name, Scope *module_scope, ArenaAllocator *arena) |
| Register a module scope in the global scope. | |
| Scope * | find_module_scope (Scope *global_scope, const char *module_name) |
| Find a module scope by name. | |
| bool | add_module_import (Scope *importing_scope, const char *module_name, const char *alias, Scope *module_scope, ArenaAllocator *arena) |
| Add a module import to a scope. | |
| Symbol * | lookup_qualified_symbol (Scope *scope, const char *module_alias, const char *symbol_name) |
| Look up a qualified symbol (module_alias.symbol_name) with visibility rules. | |
| Scope * | create_module_scope (Scope *global_scope, const char *module_name, ArenaAllocator *arena) |
| Create a new module scope. | |
| void | build_dependency_graph (AstNode **modules, size_t module_count, GrowableArray *dep_graph, ArenaAllocator *arena) |
| bool | process_module_in_order (const char *module_name, GrowableArray *dep_graph, AstNode **modules, size_t module_count, Scope *global_scope, ArenaAllocator *arena) |
| Process modules in dependency order (topological sort) | |
| bool | typecheck_os_stmt (AstNode *node, Scope *scope, ArenaAllocator *arena) |
| bool | typecheck_link_stmt (AstNode *node, Scope *scope, ArenaAllocator *arena) |
| bool add_module_import | ( | Scope * | importing_scope, |
| const char * | module_name, | ||
| const char * | alias, | ||
| Scope * | module_scope, | ||
| ArenaAllocator * | arena | ||
| ) |
Add a module import to a scope.
| void build_dependency_graph | ( | AstNode ** | modules, |
| size_t | module_count, | ||
| GrowableArray * | dep_graph, | ||
| ArenaAllocator * | arena | ||
| ) |
| Scope * create_module_scope | ( | Scope * | global_scope, |
| const char * | module_name, | ||
| ArenaAllocator * | arena | ||
| ) |
Create a new module scope.
Find a module scope by name.
| Symbol * lookup_qualified_symbol | ( | Scope * | scope, |
| const char * | module_alias, | ||
| const char * | symbol_name | ||
| ) |
Look up a qualified symbol (module_alias.symbol_name) with visibility rules.
| bool process_module_in_order | ( | const char * | module_name, |
| GrowableArray * | dep_graph, | ||
| AstNode ** | modules, | ||
| size_t | module_count, | ||
| Scope * | global_scope, | ||
| ArenaAllocator * | arena | ||
| ) |
Process modules in dependency order (topological sort)
| bool register_module | ( | Scope * | global_scope, |
| const char * | module_name, | ||
| Scope * | module_scope, | ||
| ArenaAllocator * | arena | ||
| ) |
Register a module scope in the global scope.
| bool typecheck_link_stmt | ( | AstNode * | node, |
| Scope * | scope, | ||
| ArenaAllocator * | arena | ||
| ) |
| bool typecheck_os_stmt | ( | AstNode * | node, |
| Scope * | scope, | ||
| ArenaAllocator * | arena | ||
| ) |