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
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
#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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user