New cast '->'

This commit is contained in:
Krzosa Karol
2022-06-13 15:38:54 +02:00
parent 2503a6d680
commit f9487a2c24
6 changed files with 22 additions and 46 deletions

View File

@@ -403,6 +403,8 @@ binding_power(Binding binding, Token_Kind kind){
return {17,18};
case TK_Dot:
return {24,23};
case TK_Arrow:
return {31,30};
default: return {};
}
Postfix: switch(kind){
@@ -457,14 +459,6 @@ parse_expr(S64 min_bp){
case TK_Keyword: {
if(token->intern_val == keyword_true) left = ast_bool(token, 1);
else if(token->intern_val == keyword_false) left = ast_bool(token, 0);
else if(token->intern_val == keyword_cast){
token_expect(TK_OpenParen);
Ast_Expr *expr = parse_expr(0);
token_expect(TK_Colon);
Ast_Expr *typespec = parse_expr(0);
token_expect(TK_CloseParen);
left = ast_expr_cast(token, expr, typespec);
}
else compiler_error(token, "Unexpected keyword: [%s], expected keyword [cast]", token->intern_val.str);
}break;