39 lines
338 B
D
39 lines
338 B
D
module otya.smilebasic.VM;
|
|
class VM
|
|
{
|
|
}
|
|
enum CodeType
|
|
{
|
|
PushI,
|
|
PushD,
|
|
PushS,
|
|
Operate,
|
|
Return,
|
|
Goto,
|
|
Gosub,
|
|
}
|
|
abstract class Code
|
|
{
|
|
CodeType type;
|
|
abstract void execute(VM vm);
|
|
}
|
|
/*
|
|
* スタックにPush
|
|
*/
|
|
class Push : Code
|
|
{
|
|
|
|
}
|
|
class Operate : Code
|
|
{
|
|
|
|
}
|
|
class Goto : Code
|
|
{
|
|
|
|
}
|
|
class Gosub : Code
|
|
{
|
|
|
|
}
|