diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2018-03-07 12:55:38 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2018-03-07 12:55:38 -0300 |
commit | 4a1612ff9b968fe446bc4dd20460bfaccabeb3b3 (patch) | |
tree | aef8f8c476e0814c357ead6248a614fb0ca07eac /lvm.c | |
parent | 464658b16a1a539fd590e1696bfcfb572a77fe13 (diff) | |
download | lua-4a1612ff9b968fe446bc4dd20460bfaccabeb3b3.tar.gz lua-4a1612ff9b968fe446bc4dd20460bfaccabeb3b3.tar.bz2 lua-4a1612ff9b968fe446bc4dd20460bfaccabeb3b3.zip |
new experimental syntax using reserved word 'undef'
Diffstat (limited to '')
-rw-r--r-- | lvm.c | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lvm.c,v 2.348 2018/02/26 14:16:05 roberto Exp roberto $ | 2 | ** $Id: lvm.c,v 2.349 2018/03/02 18:59:19 roberto Exp roberto $ |
3 | ** Lua virtual machine | 3 | ** Lua virtual machine |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -1552,6 +1552,18 @@ void luaV_execute (lua_State *L, CallInfo *ci) { | |||
1552 | } | 1552 | } |
1553 | vmbreak; | 1553 | vmbreak; |
1554 | } | 1554 | } |
1555 | vmcase(OP_UNDEF) { | ||
1556 | TValue *rb = vRB(i); | ||
1557 | luaT_keydef(L, vra, rb, 1); | ||
1558 | vmbreak; | ||
1559 | } | ||
1560 | vmcase(OP_ISDEF) { | ||
1561 | TValue *rb = vRB(i); | ||
1562 | TValue *rc = vRC(i); | ||
1563 | int res = luaT_keydef(L, rb, rc, 0); | ||
1564 | setbvalue(vra, res == GETARG_k(i)); | ||
1565 | vmbreak; | ||
1566 | } | ||
1555 | vmcase(OP_CALL) { | 1567 | vmcase(OP_CALL) { |
1556 | int b = GETARG_B(i); | 1568 | int b = GETARG_B(i); |
1557 | int nresults = GETARG_C(i) - 1; | 1569 | int nresults = GETARG_C(i) - 1; |