Implement CHKVAR

This commit is contained in:
otya128 committed 2016-12-24 19:34:48 +09:00
1 parent d3c4392087
commit ce71082b29
2 files changed
+22 -1

No files matched your search

+16
View File
@@ -319,6 +319,22 @@ class VM
return true; return true;
return false; return false;
} }
bool chklabel(wstring label)
{
if (label in currentSlot.globalLabel)
return true;
if (currentFunction && label in currentFunction.label)
return true;
return false;
}
bool chkvar(wstring var)
{
if (var in currentSlot.globalTable)
return true;
if (currentFunction && var in currentFunction.variable)
return true;
return false;
}
} }
enum CodeType enum CodeType
{ {
+6 -1
View File
@@ -2382,7 +2382,12 @@ class BuiltinFunction
static int CHKLABEL(PetitComputer p, wstring label) static int CHKLABEL(PetitComputer p, wstring label)
{ {
label = label.toUpper; label = label.toUpper;
return (label in p.vm.currentSlot.globalLabel) != null; return p.vm.chklabel(label);
}
static int CHKVAR(PetitComputer p, wstring var)
{
var = var.toUpper;
return p.vm.chkvar(var);
} }
static wstring INKEY(PetitComputer p) static wstring INKEY(PetitComputer p)
{ {