aboutsummaryrefslogtreecommitdiff
path: root/src/parse/controlflow.h
blob: 2ef093d47e75ae99a4e8952f0811da9c2b4bb006 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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);