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#
Встроенные правила выполнения для типичных операций