diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1999-02-08 15:07:59 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1999-02-08 15:07:59 -0200 |
commit | fb1cf6ab2d12bd61e3d429830ab20d4ff3c39fd9 (patch) | |
tree | 20aa6d78060600e477164e8d032fd8c33aa7c6d4 /lparser.c | |
parent | 19ca2087de4002600b891cf78b3c9b1d939ba2ca (diff) | |
download | lua-fb1cf6ab2d12bd61e3d429830ab20d4ff3c39fd9.tar.gz lua-fb1cf6ab2d12bd61e3d429830ab20d4ff3c39fd9.tar.bz2 lua-fb1cf6ab2d12bd61e3d429830ab20d4ff3c39fd9.zip |
clearer way to set tables.
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); |