parse: implement parsing of function definitions

This commit is contained in:
2026-05-12 22:57:42 +01:00
parent 7d2e45edcb
commit 227e73853c
2 changed files with 106 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
#include "../syntax.h"
bool peek_keyword_expr(struct parse_ctx *ctx)
{
return peek_unknown_keyword(ctx) != KW_NONE;
}
bool parse_keyword_expr(struct parse_ctx *ctx, struct ast_node **out)
{
switch (peek_unknown_keyword(ctx)) {
case KW_NONE:
return false;
case KW_IF:
return parse_if(ctx, out);
case KW_FUNC:
return parse_func(ctx, out);
default:
ctx->p_status = BSHELL_ERR_BAD_SYNTAX;
return false;
}
}