X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser_proc.y.bak;h=20b4e68a9a131eb694329ffe975cac108e30d45c;hp=b46053a108832a148d48b3a0cb9f83978a036ea1;hb=ddeb4918bce67ed63c5f4c8c4e250e92ebdef89d;hpb=2f5af21b263403997e154658635d6b6e6eaab453 diff --git a/src/parser_proc.y.bak b/src/parser_proc.y.bak index b46053a..20b4e68 100644 --- a/src/parser_proc.y.bak +++ b/src/parser_proc.y.bak @@ -728,14 +728,14 @@ num_exp(exp) ::= num_exp(exp_) num_exp_op_token(operator_) num_exp(operand_). { %type let_stmt {let_stmt*} %destructor let_stmt {free_let_stmt($$);} let_stmt(let) ::= LET decl_var(var) EOS. { - let = init_let_stmt(var, init_let_val(PSI_LET_NULL, NULL)); + let = init_let_stmt(var, init_let_exp(PSI_LET_NULL, NULL)); } -let_stmt(let) ::= LET decl_var(var) EQUALS reference(r) let_val(val) EOS. { +let_stmt(let) ::= LET decl_var(var) EQUALS reference(r) let_exp(val) EOS. { val->flags.one.is_reference = r ? 1 : 0; let = init_let_stmt(var, val); } let_stmt(let) ::= TEMP decl_var(var) EQUALS decl_var(val) EOS. { - let = init_let_stmt(var, init_let_val(PSI_LET_TMP, val)); + let = init_let_stmt(var, init_let_exp(PSI_LET_TMP, val)); } %type let_calloc {let_calloc*} @@ -767,22 +767,22 @@ callback_args(args) ::= callback_args(args_) COMMA set_value(val). { args = add_set_value(args_, val); } -%type let_val {let_val*} -%destructor let_val {free_let_val($$);} -let_val(val) ::= NULL. { - val = init_let_val(PSI_LET_NULL, NULL); +%type let_exp {let_exp*} +%destructor let_exp {free_let_exp($$);} +let_exp(val) ::= NULL. { + val = init_let_exp(PSI_LET_NULL, NULL); } -let_val(val) ::= num_exp(exp). { - val = init_let_val(PSI_LET_NUMEXP, exp); +let_exp(val) ::= num_exp(exp). { + val = init_let_exp(PSI_LET_NUMEXP, exp); } -let_val(val) ::= CALLOC LPAREN let_calloc(alloc) RPAREN. { - val = init_let_val(PSI_LET_CALLOC, alloc); +let_exp(val) ::= CALLOC LPAREN let_calloc(alloc) RPAREN. { + val = init_let_exp(PSI_LET_CALLOC, alloc); } -let_val(val) ::= let_func(func). { - val = init_let_val(PSI_LET_FUNC, func); +let_exp(val) ::= let_func(func). { + val = init_let_exp(PSI_LET_FUNC, func); } -let_val(val) ::= CALLBACK let_func_token(F) LPAREN impl_var(var) LPAREN callback_arg_list(args_) RPAREN RPAREN. { - val = init_let_val(PSI_LET_CALLBACK, init_let_callback( +let_exp(val) ::= CALLBACK let_func_token(F) LPAREN impl_var(var) LPAREN callback_arg_list(args_) RPAREN RPAREN. { + val = init_let_exp(PSI_LET_CALLBACK, init_let_callback( init_let_func(F->type, F->text, var), args_)); free(F); }