diff options
Diffstat (limited to 'lparser.c')
-rw-r--r-- | lparser.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lparser.c,v 1.15 1999/02/04 16:36:16 roberto Exp roberto $ | 2 | ** $Id: lparser.c,v 1.16 1999/02/04 17:47:59 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 | */ |
@@ -490,7 +490,7 @@ static void genstorevar (LexState *ls, vardesc *var, OpCode *codes) { | |||
490 | 490 | ||
491 | 491 | ||
492 | static void storevar (LexState *ls, vardesc *var) { | 492 | static void storevar (LexState *ls, vardesc *var) { |
493 | static OpCode codes[] = {SETLOCAL, SETGLOBAL, SETTABLE0}; | 493 | static OpCode codes[] = {SETLOCAL, SETGLOBAL, SETTABLEPOP}; |
494 | genstorevar(ls, var, codes); | 494 | genstorevar(ls, var, codes); |
495 | } | 495 | } |
496 | 496 | ||
@@ -954,7 +954,7 @@ static void exp0 (LexState *ls, vardesc *v) { | |||
954 | 954 | ||
955 | static void Gexp (LexState *ls, vardesc *v) { | 955 | static void Gexp (LexState *ls, vardesc *v) { |
956 | /* Gexp -> exp0 | var '=' exp1 */ | 956 | /* Gexp -> exp0 | var '=' exp1 */ |
957 | static OpCode codes[] = {SETLOCALDUP, SETGLOBALDUP, SETTABLEDUP}; | 957 | static OpCode codes[] = {SETLOCALDUP, SETGLOBALDUP, SETTABPPDUP}; |
958 | exp0(ls, v); | 958 | exp0(ls, v); |
959 | if (v->k != VEXP && optional(ls, '=')) { /* assignment expression? */ | 959 | if (v->k != VEXP && optional(ls, '=')) { /* assignment expression? */ |
960 | unloaddot(ls, v); | 960 | unloaddot(ls, v); |