aboutsummaryrefslogtreecommitdiff
path: root/src/parse/controlflow.h
diff options
context:
space:
mode:
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);