#include "../syntax.h" bool peek_keyword_expr(struct bshell_parse_ctx *ctx) { return peek_unknown_keyword(ctx) != BSHELL_KW_NONE; } bool parse_keyword_expr(struct bshell_parse_ctx *ctx, struct bshell_ast_node **out) { switch (peek_unknown_keyword(ctx)) { case BSHELL_KW_NONE: return false; case BSHELL_KW_IF: return parse_if(ctx, out); case BSHELL_KW_FUNC: return parse_func(ctx, out); default: ctx->p_status = BSHELL_ERR_BAD_SYNTAX; return false; } }