Files
bshell/bshell.runtime/parse/syntax/keyword.c
T
wash edfb3e24a3 bshell: re-organise build into three separate components
bshell: the front-end binary
bshell.runtime: contains the parser, compiler, and classes needed to run bshell scripts
bshell.core: contains the builtin commandlets and aliases
2026-05-25 10:33:29 +01:00

22 lines
471 B
C

#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;
}
}