1
0

Implement USE/EXEC compilation

This commit is contained in:
otya128
2016-12-23 17:16:38 +09:00
parent 0b9fd70bcb
commit 0440c33184
4 changed files with 59 additions and 3 deletions

View File

@@ -933,6 +933,16 @@ class Compiler
{
genCode(new SetX(x.func, false));
}
void compileExec(otya.smilebasic.node.Exec exec, Scope sc)
{
compileExpression(exec.expression, sc);
genCode(new otya.smilebasic.vm.Exec);
}
void compileUse(otya.smilebasic.node.Use use, Scope sc)
{
compileExpression(use.expression, sc);
genCode(new otya.smilebasic.vm.Use);
}
void compileStatement(Statement i, Scope s)
{
switch(i.type)
@@ -1201,6 +1211,12 @@ class Compiler
case NodeType.XOff:
compileXOff(cast(XOff)i, s);
break;
case NodeType.Exec:
compileExec(cast(otya.smilebasic.node.Exec)i, s);
break;
case NodeType.Use:
compileUse(cast(otya.smilebasic.node.Use)i, s);
break;
default:
stderr.writeln("Compile:NotImpl ", i.type);
}