Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

46 Zeilen
810 B

using System;
using System.Collections.Generic;
using System.Text;
namespace SuperBASIC
{
public class Runtime
{
public float register;
internal Library lib;
Bytecode code;
internal int pc = 0;
public Runtime(Library library)
{
lib = library;
}
public void OpenFile(string path)
{
code = new Parser(this).ParseFile(path);
}
public void Run()
{
for(pc = 0; pc < code.bytecode.Count;)
{
int opcode = code.bytecode[pc].GetOperand();
int arity = lib.arities[opcode];
IFunction op = lib.functions[opcode];
var args = code.bytecode.GetRange(pc + 1, arity);
SetRegister(op.Apply(args));
pc += arity + 1;
}
}
internal void SetRegister(float value)
{
register = value;
}
internal float GetRegister()
{
return register;
}
}
}