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); |
