aboutsummaryrefslogtreecommitdiff
path: root/src/parse/controlflow.h
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-08-25 01:26:47 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-08-25 01:26:47 -0400
commitfbc6b59305d8414bb1cb471ea3f85a8d926beb4f (patch)
tree0e2c7f32d7cc64f5fdc56d3086766d5bfcbe9d25 /src/parse/controlflow.h
parentbbcc85eec5ccccd7cd7573f15510ceccfe42cc0d (diff)
Further split out files for parsing
Diffstat (limited to 'src/parse/controlflow.h')
-rw-r--r--src/parse/controlflow.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/parse/controlflow.h b/src/parse/controlflow.h
new file mode 100644
index 00000000..2ef093d4
--- /dev/null
+++ b/src/parse/controlflow.h
@@ -0,0 +1,18 @@
+// Logic for parsing control flow
+#pragma once
+
+#include "../ast.h"
+#include "context.h"
+
+ast_t *parse_block(parse_ctx_t *ctx, const char *pos);
+ast_t *parse_defer(parse_ctx_t *ctx, const char *pos);
+ast_t *parse_do(parse_ctx_t *ctx, const char *pos);
+ast_t *parse_for(parse_ctx_t *ctx, const char *pos);
+ast_t *parse_if(parse_ctx_t *ctx, const char *pos);
+ast_t *parse_pass(parse_ctx_t *ctx, const char *pos);
+ast_t *parse_repeat(parse_ctx_t *ctx, const char *pos);
+ast_t *parse_return(parse_ctx_t *ctx, const char *pos);
+ast_t *parse_skip(parse_ctx_t *ctx, const char *pos);
+ast_t *parse_stop(parse_ctx_t *ctx, const char *pos);
+ast_t *parse_when(parse_ctx_t *ctx, const char *pos);
+ast_t *parse_while(parse_ctx_t *ctx, const char *pos);