X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser_proc.y;h=c90062a365e1b1cd2b18a105337b87d797668dc2;hp=0dc928f86d9d84106d0db790693a73fa6a3abc5c;hb=bd7cdec42afa560883c47f3803a30cb580cf152f;hpb=756a2c4350162a9a7f930bdc0ec7718ff13ea48c diff --git a/src/parser_proc.y b/src/parser_proc.y index 0dc928f..c90062a 100644 --- a/src/parser_proc.y +++ b/src/parser_proc.y @@ -412,13 +412,23 @@ set_stmt(set) ::= SET impl_var(var) EQUALS set_value(val) EOS. { %type set_value {set_value*} %destructor set_value {free_set_value($$);} -set_value(val) ::= set_func(func) LPAREN decl_vars(vars) RPAREN. { - val = init_set_value(func, vars); +set_value(val) ::= set_func(func) LPAREN decl_var(var) RPAREN. { + val = init_set_value(func, init_decl_vars(var)); } -set_value(val) ::= set_func(func_) LPAREN decl_vars(vars_) COMMA set_vals(vals) RPAREN. { +set_value(val) ::= set_func(func) LPAREN decl_var(var) COMMA num_exp(num_) RPAREN. { + val = init_set_value(func, init_decl_vars(var)); + val->num = num_; +} +set_value(val) ::= set_func(func_) LPAREN decl_var(var) COMMA set_vals(vals) RPAREN. { + val = vals; + val->func = func_; + val->vars = init_decl_vars(var); +} +set_value(val) ::= set_func(func_) LPAREN decl_var(var) COMMA num_exp(num_) COMMA set_vals(vals) RPAREN. { val = vals; val->func = func_; - val->vars = vars_; + val->num = num_; + val->vars = init_decl_vars(var); } %type set_vals {set_value*} %destructor set_vals {free_set_value($$);}