diff options
Diffstat (limited to 'lparser.c')
| -rw-r--r-- | lparser.c | 10 |
1 files changed, 5 insertions, 5 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lparser.c,v 1.86 2000/05/12 18:12:04 roberto Exp roberto $ | 2 | ** $Id: lparser.c,v 1.87 2000/05/15 19:48:04 roberto Exp roberto $ |
| 3 | ** LL(1) Parser and code generator for Lua | 3 | ** LL(1) Parser and code generator for Lua |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -626,12 +626,12 @@ static int listfields (LexState *ls) { | |||
| 626 | checklimit(ls, n, MAXARG_A*LFIELDS_PER_FLUSH, | 626 | checklimit(ls, n, MAXARG_A*LFIELDS_PER_FLUSH, |
| 627 | "items in a list initializer"); | 627 | "items in a list initializer"); |
| 628 | if (++mod_n == LFIELDS_PER_FLUSH) { | 628 | if (++mod_n == LFIELDS_PER_FLUSH) { |
| 629 | luaK_code2(fs, OP_SETLIST, n/LFIELDS_PER_FLUSH - 1, LFIELDS_PER_FLUSH-1); | 629 | luaK_code2(fs, OP_SETLIST, n/LFIELDS_PER_FLUSH - 1, LFIELDS_PER_FLUSH); |
| 630 | mod_n = 0; | 630 | mod_n = 0; |
| 631 | } | 631 | } |
| 632 | } | 632 | } |
| 633 | if (mod_n > 0) | 633 | if (mod_n > 0) |
| 634 | luaK_code2(fs, OP_SETLIST, n/LFIELDS_PER_FLUSH, mod_n-1); | 634 | luaK_code2(fs, OP_SETLIST, n/LFIELDS_PER_FLUSH, mod_n); |
| 635 | return n; | 635 | return n; |
| 636 | } | 636 | } |
| 637 | 637 | ||
| @@ -911,12 +911,12 @@ static void repeatstat (LexState *ls, int line) { | |||
| 911 | 911 | ||
| 912 | static void forbody (LexState *ls, OpCode prepfor, OpCode loopfor) { | 912 | static void forbody (LexState *ls, OpCode prepfor, OpCode loopfor) { |
| 913 | FuncState *fs = ls->fs; | 913 | FuncState *fs = ls->fs; |
| 914 | int prep = luaK_code0(fs, prepfor); | 914 | int prep = luaK_code1(fs, prepfor, NO_JUMP); |
| 915 | int blockinit = luaK_getlabel(fs); | 915 | int blockinit = luaK_getlabel(fs); |
| 916 | check(ls, TK_DO); | 916 | check(ls, TK_DO); |
| 917 | block(ls); | 917 | block(ls); |
| 918 | luaK_patchlist(fs, prep, luaK_getlabel(fs)); | 918 | luaK_patchlist(fs, prep, luaK_getlabel(fs)); |
| 919 | luaK_patchlist(fs, luaK_code0(fs, loopfor), blockinit); | 919 | luaK_patchlist(fs, luaK_code1(fs, loopfor, NO_JUMP), blockinit); |
| 920 | } | 920 | } |
| 921 | 921 | ||
| 922 | 922 | ||
