parse.y: move numbered parameter indexing to lexer.

This commit is contained in:
Yukihiro "Matz" Matsumoto
2022-01-11 14:32:37 +09:00
parent 5dfbfb3ecd
commit 3a30cc27da
2 changed files with 1056 additions and 1057 deletions
+3 -4
View File
@@ -712,10 +712,6 @@ new_cvar(parser_state *p, mrb_sym sym)
static node*
new_nvar(parser_state *p, int num)
{
if (p->nvars) {
int nvars = intn(p->nvars->car);
p->nvars->car = nint(nvars > num ? nvars : num);
}
return cons((node*)NODE_NVAR, nint(num));
}
@@ -6429,6 +6425,9 @@ parser_yylex(parser_state *p)
if (nvar == -1) {
yywarning(p, "numbered parameter used in inner block");
}
else {
p->nvars->car = nint(nvar > n ? nvar : n);
}
pylval.num = n;
p->lstate = EXPR_END;
return tNUMPARAM;
File diff suppressed because it is too large Load Diff