aboutsummaryrefslogtreecommitdiff
path: root/src/compile.h
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-08-24 15:56:38 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-08-24 15:56:38 -0400
commite920d306fb51c16fd473033b64aa5ba5c3e07409 (patch)
treeab0a7cb47ad050f278981be1e0a4edc19b8daaee /src/compile.h
parentc62c3200c7078f58b218def14c54bbfd26677069 (diff)
Split into more files: promotion, sets, tables, pointers, functions.
Diffstat (limited to 'src/compile.h')
-rw-r--r--src/compile.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/compile.h b/src/compile.h
index 6b0b4dc5..6ab62f9e 100644
--- a/src/compile.h
+++ b/src/compile.h
@@ -2,25 +2,26 @@
// Compilation functions
-#include <gc.h>
-
+#include "ast.h"
#include "environment.h"
#include "stdlib/datatypes.h"
+#include "types.h"
Text_t compile(env_t *env, ast_t *ast);
+Text_t compile_arguments(env_t *env, ast_t *call_ast, arg_t *spec_args, arg_ast_t *call_args);
Text_t compile_cli_arg_call(env_t *env, Text_t fn_name, type_t *fn_type, const char *version);
Text_t compile_declaration(type_t *t, Text_t name);
Text_t compile_empty(type_t *t);
Text_t compile_file(env_t *env, ast_t *ast);
Text_t compile_file_header(env_t *env, Path_t header_path, ast_t *ast);
+Text_t compile_lvalue(env_t *env, ast_t *ast);
+Text_t compile_maybe_incref(env_t *env, ast_t *ast, type_t *t);
Text_t compile_namespace_header(env_t *env, const char *ns_name, ast_t *block);
Text_t compile_statement(env_t *env, ast_t *ast);
Text_t compile_statement_namespace_header(env_t *env, Path_t header_path, ast_t *ast);
Text_t compile_statement_type_header(env_t *env, Path_t header_path, ast_t *ast);
-Text_t compile_to_type(env_t *env, ast_t *ast, type_t *t);
Text_t compile_type(type_t *t);
Text_t compile_type_info(type_t *t);
Text_t expr_as_text(Text_t expr, type_t *t, Text_t color);
-Text_t compile_arguments(env_t *env, ast_t *call_ast, arg_t *spec_args, arg_ast_t *call_args);
// vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1,\:0