VirtualMachine


Content:

public class BytecodeCompiler

Language: C#

Пример компилятора AST → байткод для стековой виртуальной машины

public static class BytecodeRules

Language: C#

Базовые правила генерации байткода

public enum OpCode

Language: C#

Коды операций для стековой виртуальной машины

public class StackVM

Language: C#

Стековая виртуальная машина для выполнения инструкций

public class VMExecutionContext

Language: C#

Контекст выполнения виртуальной машины

public interface IVMExecutionRule

Language: C#

Правило выполнения инструкции для виртуальной машины.
Аналог ICompilerRule, но для выполнения инструкций.

public abstract class OpCodeExecutionRule : IVMExecutionRule

Language: C#

Базовое правило выполнения для определенного OpCode

public class SimpleVMExecutionRule : IVMExecutionRule

Language: C#

Правило для инструкций с одной обработкой функцией
Простое правило VM, которое делегирует выполнение переданной функции

public class VirtualMachine

Language: C#

Унифицированная виртуальная машина с поддержкой настраиваемых правил выполнения.
Аналогична Evaluator, но для выполнения инструкций вместо преобразования AST.

public class VirtualMachine<T>

Language: C#

Обобщенная виртуальная машина с типизированным результатом

public static class VMBuiltinRules

Language: C#

Встроенные правила выполнения для типичных операций