rename r type to v
parent
5d4bcaf797
commit
9c14e6ca65
|
@ -300,7 +300,7 @@ struct LIBCUBESCRIPT_EXPORT state {
|
||||||
* * `a` - any (passed as is)
|
* * `a` - any (passed as is)
|
||||||
* * `b` - bytecode/block
|
* * `b` - bytecode/block
|
||||||
* * `c` - condition (see below)
|
* * `c` - condition (see below)
|
||||||
* * `r` - ident
|
* * `v` - ident (variable/alias/any kind)
|
||||||
* * `#` - number of real arguments passed up until now
|
* * `#` - number of real arguments passed up until now
|
||||||
* * `$` - self ident (the command, except for special hooks)
|
* * `$` - self ident (the command, except for special hooks)
|
||||||
*
|
*
|
||||||
|
|
|
@ -938,7 +938,7 @@ static bool parse_cmd_arg(parser_state &ps, char s, bool more, bool rep) {
|
||||||
more = ps.parse_arg(VAL_CODE);
|
more = ps.parse_arg(VAL_CODE);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'r': /* ident */
|
case 'v': /* variable/alias/other ident */
|
||||||
if (more) {
|
if (more) {
|
||||||
more = ps.parse_arg(VAL_IDENT);
|
more = ps.parse_arg(VAL_IDENT);
|
||||||
}
|
}
|
||||||
|
|
|
@ -602,7 +602,7 @@ LIBCUBESCRIPT_EXPORT command &state::new_command(
|
||||||
case '#':
|
case '#':
|
||||||
case 's':
|
case 's':
|
||||||
case 'b':
|
case 'b':
|
||||||
case 'r':
|
case 'v':
|
||||||
case '$':
|
case '$':
|
||||||
++nargs;
|
++nargs;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -99,7 +99,7 @@ void exec_command(
|
||||||
args[i].force_code(*ts.pstate);
|
args[i].force_code(*ts.pstate);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'r':
|
case 'v':
|
||||||
if (set_fake()) {
|
if (set_fake()) {
|
||||||
args[i].force_ident(*ts.pstate);
|
args[i].force_ident(*ts.pstate);
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,7 @@ LIBCUBESCRIPT_EXPORT void std_init_base(state &gcs) {
|
||||||
throw error{cs, args[0].get_string(cs)};
|
throw error{cs, args[0].get_string(cs)};
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "pcall", "brr", [](auto &cs, auto args, auto &ret) {
|
new_cmd_quiet(gcs, "pcall", "bvv", [](auto &cs, auto args, auto &ret) {
|
||||||
auto &cret = args[1].get_ident(cs);
|
auto &cret = args[1].get_ident(cs);
|
||||||
auto &css = args[2].get_ident(cs);
|
auto &css = args[2].get_ident(cs);
|
||||||
if (!cret.is_alias()) {
|
if (!cret.is_alias()) {
|
||||||
|
@ -159,7 +159,7 @@ LIBCUBESCRIPT_EXPORT void std_init_base(state &gcs) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "pushif", "rab", [](auto &cs, auto args, auto &res) {
|
new_cmd_quiet(gcs, "pushif", "vab", [](auto &cs, auto args, auto &res) {
|
||||||
alias_local st{cs, args[0]};
|
alias_local st{cs, args[0]};
|
||||||
if (st.get_alias().is_arg()) {
|
if (st.get_alias().is_arg()) {
|
||||||
throw error{cs, "cannot push an argument"};
|
throw error{cs, "cannot push an argument"};
|
||||||
|
@ -170,28 +170,28 @@ LIBCUBESCRIPT_EXPORT void std_init_base(state &gcs) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loop", "rab", [](auto &cs, auto args, auto &) {
|
new_cmd_quiet(gcs, "loop", "vab", [](auto &cs, auto args, auto &) {
|
||||||
do_loop(
|
do_loop(
|
||||||
cs, args[0].get_ident(cs), 0, args[1].get_integer(), 1,
|
cs, args[0].get_ident(cs), 0, args[1].get_integer(), 1,
|
||||||
bcode_ref{}, args[2].get_code()
|
bcode_ref{}, args[2].get_code()
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loop+", "riib", [](auto &cs, auto args, auto &) {
|
new_cmd_quiet(gcs, "loop+", "viib", [](auto &cs, auto args, auto &) {
|
||||||
do_loop(
|
do_loop(
|
||||||
cs, args[0].get_ident(cs), args[1].get_integer(),
|
cs, args[0].get_ident(cs), args[1].get_integer(),
|
||||||
args[2].get_integer(), 1, bcode_ref{}, args[3].get_code()
|
args[2].get_integer(), 1, bcode_ref{}, args[3].get_code()
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loop*", "riib", [](auto &cs, auto args, auto &) {
|
new_cmd_quiet(gcs, "loop*", "viib", [](auto &cs, auto args, auto &) {
|
||||||
do_loop(
|
do_loop(
|
||||||
cs, args[0].get_ident(cs), 0, args[1].get_integer(),
|
cs, args[0].get_ident(cs), 0, args[1].get_integer(),
|
||||||
args[2].get_integer(), bcode_ref{}, args[3].get_code()
|
args[2].get_integer(), bcode_ref{}, args[3].get_code()
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loop+*", "riiib", [](auto &cs, auto args, auto &) {
|
new_cmd_quiet(gcs, "loop+*", "viiib", [](auto &cs, auto args, auto &) {
|
||||||
do_loop(
|
do_loop(
|
||||||
cs, args[0].get_ident(cs), args[1].get_integer(),
|
cs, args[0].get_ident(cs), args[1].get_integer(),
|
||||||
args[3].get_integer(), args[2].get_integer(),
|
args[3].get_integer(), args[2].get_integer(),
|
||||||
|
@ -199,28 +199,28 @@ LIBCUBESCRIPT_EXPORT void std_init_base(state &gcs) {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loopwhile", "ribb", [](auto &cs, auto args, auto &) {
|
new_cmd_quiet(gcs, "loopwhile", "vibb", [](auto &cs, auto args, auto &) {
|
||||||
do_loop(
|
do_loop(
|
||||||
cs, args[0].get_ident(cs), 0, args[1].get_integer(), 1,
|
cs, args[0].get_ident(cs), 0, args[1].get_integer(), 1,
|
||||||
args[2].get_code(), args[3].get_code()
|
args[2].get_code(), args[3].get_code()
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loopwhile+", "riibb", [](auto &cs, auto args, auto &) {
|
new_cmd_quiet(gcs, "loopwhile+", "viibb", [](auto &cs, auto args, auto &) {
|
||||||
do_loop(
|
do_loop(
|
||||||
cs, args[0].get_ident(cs), args[1].get_integer(),
|
cs, args[0].get_ident(cs), args[1].get_integer(),
|
||||||
args[2].get_integer(), 1, args[3].get_code(), args[4].get_code()
|
args[2].get_integer(), 1, args[3].get_code(), args[4].get_code()
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loopwhile*", "riibb", [](auto &cs, auto args, auto &) {
|
new_cmd_quiet(gcs, "loopwhile*", "viibb", [](auto &cs, auto args, auto &) {
|
||||||
do_loop(
|
do_loop(
|
||||||
cs, args[0].get_ident(cs), 0, args[2].get_integer(),
|
cs, args[0].get_ident(cs), 0, args[2].get_integer(),
|
||||||
args[1].get_integer(), args[3].get_code(), args[4].get_code()
|
args[1].get_integer(), args[3].get_code(), args[4].get_code()
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loopwhile+*", "riiibb", [](
|
new_cmd_quiet(gcs, "loopwhile+*", "viiibb", [](
|
||||||
auto &cs, auto args, auto &
|
auto &cs, auto args, auto &
|
||||||
) {
|
) {
|
||||||
do_loop(
|
do_loop(
|
||||||
|
@ -245,7 +245,7 @@ end:
|
||||||
return;
|
return;
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loopconcat", "rib", [](
|
new_cmd_quiet(gcs, "loopconcat", "vib", [](
|
||||||
auto &cs, auto args, auto &res
|
auto &cs, auto args, auto &res
|
||||||
) {
|
) {
|
||||||
do_loop_conc(
|
do_loop_conc(
|
||||||
|
@ -254,7 +254,7 @@ end:
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loopconcat+", "riib", [](
|
new_cmd_quiet(gcs, "loopconcat+", "viib", [](
|
||||||
auto &cs, auto args, auto &res
|
auto &cs, auto args, auto &res
|
||||||
) {
|
) {
|
||||||
do_loop_conc(
|
do_loop_conc(
|
||||||
|
@ -263,7 +263,7 @@ end:
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loopconcat*", "riib", [](
|
new_cmd_quiet(gcs, "loopconcat*", "viib", [](
|
||||||
auto &cs, auto args, auto &res
|
auto &cs, auto args, auto &res
|
||||||
) {
|
) {
|
||||||
do_loop_conc(
|
do_loop_conc(
|
||||||
|
@ -272,7 +272,7 @@ end:
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loopconcat+*", "riiib", [](
|
new_cmd_quiet(gcs, "loopconcat+*", "viiib", [](
|
||||||
auto &cs, auto args, auto &res
|
auto &cs, auto args, auto &res
|
||||||
) {
|
) {
|
||||||
do_loop_conc(
|
do_loop_conc(
|
||||||
|
@ -282,7 +282,7 @@ end:
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loopconcatword", "rib", [](
|
new_cmd_quiet(gcs, "loopconcatword", "vib", [](
|
||||||
auto &cs, auto args, auto &res
|
auto &cs, auto args, auto &res
|
||||||
) {
|
) {
|
||||||
do_loop_conc(
|
do_loop_conc(
|
||||||
|
@ -291,7 +291,7 @@ end:
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loopconcatword+", "riib", [](
|
new_cmd_quiet(gcs, "loopconcatword+", "viib", [](
|
||||||
auto &cs, auto args, auto &res
|
auto &cs, auto args, auto &res
|
||||||
) {
|
) {
|
||||||
do_loop_conc(
|
do_loop_conc(
|
||||||
|
@ -300,7 +300,7 @@ end:
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loopconcatword*", "riib", [](
|
new_cmd_quiet(gcs, "loopconcatword*", "viib", [](
|
||||||
auto &cs, auto args, auto &res
|
auto &cs, auto args, auto &res
|
||||||
) {
|
) {
|
||||||
do_loop_conc(
|
do_loop_conc(
|
||||||
|
@ -309,7 +309,7 @@ end:
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "loopconcatword+*", "riiib", [](
|
new_cmd_quiet(gcs, "loopconcatword+*", "viiib", [](
|
||||||
auto &cs, auto args, auto &res
|
auto &cs, auto args, auto &res
|
||||||
) {
|
) {
|
||||||
do_loop_conc(
|
do_loop_conc(
|
||||||
|
@ -319,7 +319,7 @@ end:
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "push", "rab", [](auto &cs, auto args, auto &res) {
|
new_cmd_quiet(gcs, "push", "vab", [](auto &cs, auto args, auto &res) {
|
||||||
alias_local st{cs, args[0]};
|
alias_local st{cs, args[0]};
|
||||||
if (st.get_alias().is_arg()) {
|
if (st.get_alias().is_arg()) {
|
||||||
throw error{cs, "cannot push an argument"};
|
throw error{cs, "cannot push an argument"};
|
||||||
|
|
|
@ -204,7 +204,7 @@ LIBCUBESCRIPT_EXPORT void std_init_list(state &gcs) {
|
||||||
res.set_string(make_str_view(list, qend), cs);
|
res.set_string(make_str_view(list, qend), cs);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "listfind", "rsb", [](auto &cs, auto args, auto &res) {
|
new_cmd_quiet(gcs, "listfind", "vsb", [](auto &cs, auto args, auto &res) {
|
||||||
alias_local st{cs, args[0]};
|
alias_local st{cs, args[0]};
|
||||||
any_value idv{};
|
any_value idv{};
|
||||||
auto body = args[2].get_code();
|
auto body = args[2].get_code();
|
||||||
|
@ -221,7 +221,7 @@ LIBCUBESCRIPT_EXPORT void std_init_list(state &gcs) {
|
||||||
res.set_integer(-1);
|
res.set_integer(-1);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "listassoc", "rsb", [](auto &cs, auto args, auto &res) {
|
new_cmd_quiet(gcs, "listassoc", "vsb", [](auto &cs, auto args, auto &res) {
|
||||||
alias_local st{cs, args[0]};
|
alias_local st{cs, args[0]};
|
||||||
any_value idv{};
|
any_value idv{};
|
||||||
auto body = args[2].get_code();
|
auto body = args[2].get_code();
|
||||||
|
@ -286,7 +286,7 @@ LIBCUBESCRIPT_EXPORT void std_init_list(state &gcs) {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "looplist", "rsb", [](auto &cs, auto args, auto &) {
|
new_cmd_quiet(gcs, "looplist", "vsb", [](auto &cs, auto args, auto &) {
|
||||||
alias_local st{cs, args[0]};
|
alias_local st{cs, args[0]};
|
||||||
any_value idv{};
|
any_value idv{};
|
||||||
auto body = args[2].get_code();
|
auto body = args[2].get_code();
|
||||||
|
@ -303,7 +303,7 @@ LIBCUBESCRIPT_EXPORT void std_init_list(state &gcs) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "looplist2", "rrsb", [](auto &cs, auto args, auto &) {
|
new_cmd_quiet(gcs, "looplist2", "vvsb", [](auto &cs, auto args, auto &) {
|
||||||
alias_local st1{cs, args[0]};
|
alias_local st1{cs, args[0]};
|
||||||
alias_local st2{cs, args[1]};
|
alias_local st2{cs, args[1]};
|
||||||
any_value idv{};
|
any_value idv{};
|
||||||
|
@ -327,7 +327,7 @@ LIBCUBESCRIPT_EXPORT void std_init_list(state &gcs) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "looplist3", "rrrsb", [](auto &cs, auto args, auto &) {
|
new_cmd_quiet(gcs, "looplist3", "vvvsb", [](auto &cs, auto args, auto &) {
|
||||||
alias_local st1{cs, args[0]};
|
alias_local st1{cs, args[0]};
|
||||||
alias_local st2{cs, args[1]};
|
alias_local st2{cs, args[1]};
|
||||||
alias_local st3{cs, args[2]};
|
alias_local st3{cs, args[2]};
|
||||||
|
@ -358,7 +358,7 @@ LIBCUBESCRIPT_EXPORT void std_init_list(state &gcs) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "looplistconcat", "rsb", [](
|
new_cmd_quiet(gcs, "looplistconcat", "vsb", [](
|
||||||
auto &cs, auto args, auto &res
|
auto &cs, auto args, auto &res
|
||||||
) {
|
) {
|
||||||
loop_list_conc(
|
loop_list_conc(
|
||||||
|
@ -367,7 +367,7 @@ LIBCUBESCRIPT_EXPORT void std_init_list(state &gcs) {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "looplistconcatword", "rsb", [](
|
new_cmd_quiet(gcs, "looplistconcatword", "vsb", [](
|
||||||
auto &cs, auto args, auto &res
|
auto &cs, auto args, auto &res
|
||||||
) {
|
) {
|
||||||
loop_list_conc(
|
loop_list_conc(
|
||||||
|
@ -376,7 +376,7 @@ LIBCUBESCRIPT_EXPORT void std_init_list(state &gcs) {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "listfilter", "rsb", [](
|
new_cmd_quiet(gcs, "listfilter", "vsb", [](
|
||||||
auto &cs, auto args, auto &res
|
auto &cs, auto args, auto &res
|
||||||
) {
|
) {
|
||||||
alias_local st{cs, args[0]};
|
alias_local st{cs, args[0]};
|
||||||
|
@ -397,7 +397,7 @@ LIBCUBESCRIPT_EXPORT void std_init_list(state &gcs) {
|
||||||
res.set_string(r.str(), cs);
|
res.set_string(r.str(), cs);
|
||||||
});
|
});
|
||||||
|
|
||||||
new_cmd_quiet(gcs, "listcount", "rsb", [](auto &cs, auto args, auto &res) {
|
new_cmd_quiet(gcs, "listcount", "vsb", [](auto &cs, auto args, auto &res) {
|
||||||
alias_local st{cs, args[0]};
|
alias_local st{cs, args[0]};
|
||||||
any_value idv{};
|
any_value idv{};
|
||||||
auto body = args[2].get_code();
|
auto body = args[2].get_code();
|
||||||
|
@ -608,7 +608,7 @@ static void list_sort(
|
||||||
}
|
}
|
||||||
|
|
||||||
static void init_lib_list_sort(state &gcs) {
|
static void init_lib_list_sort(state &gcs) {
|
||||||
new_cmd_quiet(gcs, "sortlist", "srrbb", [](
|
new_cmd_quiet(gcs, "sortlist", "svvbb", [](
|
||||||
auto &cs, auto args, auto &res
|
auto &cs, auto args, auto &res
|
||||||
) {
|
) {
|
||||||
list_sort(
|
list_sort(
|
||||||
|
@ -616,7 +616,7 @@ static void init_lib_list_sort(state &gcs) {
|
||||||
args[2].get_ident(cs), args[3].get_code(), args[4].get_code()
|
args[2].get_ident(cs), args[3].get_code(), args[4].get_code()
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
new_cmd_quiet(gcs, "uniquelist", "srrb", [](
|
new_cmd_quiet(gcs, "uniquelist", "svvb", [](
|
||||||
auto &cs, auto args, auto &res
|
auto &cs, auto args, auto &res
|
||||||
) {
|
) {
|
||||||
list_sort(
|
list_sort(
|
||||||
|
|
Loading…
Reference in New Issue