1
0

Implement LINPUT

This commit is contained in:
otya128
2016-12-29 17:59:47 +09:00
parent c0f1e4e9e5
commit 20889c28e1
5 changed files with 80 additions and 0 deletions

View File

@@ -941,6 +941,15 @@ class Compiler
compileExpression(use.expression, sc);
genCode(new otya.smilebasic.vm.Use);
}
void compileLinput(otya.smilebasic.node.Linput linput, Scope sc)
{
if (linput.hasGuide)
compileExpression(linput.guide, sc);
else
genCodeImm(Value(""));
genCode(new otya.smilebasic.vm.Linput);
compilePopVar(linput.expression, sc);
}
void compileStatement(Statement i, Scope s)
{
switch(i.type)
@@ -1215,6 +1224,9 @@ class Compiler
case NodeType.Use:
compileUse(cast(otya.smilebasic.node.Use)i, s);
break;
case NodeType.Linput:
compileLinput(cast(otya.smilebasic.node.Linput)i, s);
break;
default:
stderr.writeln("Compile:NotImpl ", i.type);
}