aboutsummaryrefslogtreecommitdiff
path: root/src/parse/types.h
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-08-25 00:55:29 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-08-25 00:55:29 -0400
commitc859ed479227cee2cecedb83d74a40acf9758051 (patch)
tree24b4e4e6d880999fab132a276d54e61f85308a74 /src/parse/types.h
parent75376335580c539512d459292d73e8ad4d7fe1af (diff)
Split out type parsing
Diffstat (limited to 'src/parse/types.h')
-rw-r--r--src/parse/types.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/parse/types.h b/src/parse/types.h
index 1231f5ed..186d5322 100644
--- a/src/parse/types.h
+++ b/src/parse/types.h
@@ -2,5 +2,15 @@
#pragma once
#include "../ast.h"
+#include "context.h"
type_ast_t *parse_type_str(const char *str);
+
+type_ast_t *parse_list_type(parse_ctx_t *ctx, const char *pos);
+type_ast_t *parse_func_type(parse_ctx_t *ctx, const char *pos);
+type_ast_t *parse_non_optional_type(parse_ctx_t *ctx, const char *pos);
+type_ast_t *parse_pointer_type(parse_ctx_t *ctx, const char *pos);
+type_ast_t *parse_set_type(parse_ctx_t *ctx, const char *pos);
+type_ast_t *parse_table_type(parse_ctx_t *ctx, const char *pos);
+type_ast_t *parse_type(parse_ctx_t *ctx, const char *pos);
+type_ast_t *parse_type_name(parse_ctx_t *ctx, const char *pos);