Adding struts

This commit is contained in:
Krzosa Karol
2022-05-29 12:30:02 +02:00
parent 07b793aacc
commit ea1b74cda0
7 changed files with 112 additions and 44 deletions

View File

@@ -204,9 +204,10 @@ parse_block(){
do{
Token *token = token_get();
if(token_match_keyword(keyword_return)){
AST_NEW(Return, RETURN, token);
if(!token_is_scope()) result->expr = parse_expr();
stmts.add(result);
Ast_Expr *expr = 0;
if(!token_is_scope()) expr = parse_expr();
Ast_Return *return_stmt = ast_return(token, expr);
stmts.add(return_stmt);
}
else if(token_match_keyword(keyword_if)){
Array<Ast_If_Node *> if_nodes = {scratch};
@@ -396,6 +397,7 @@ parse_struct(Token *pos){
Token *token = token_get();
Ast_Named *named = parse_named(false);
if(!named) parsing_error(token, "Failed to parse struct member");
members.add(named);
}while(token_match(SAME_SCOPE));
token_expect(CLOSE_SCOPE);