BytecodeRules

public static Func<AbstractSyntaxTree, List<Instruction>> PushNumber()

Language: C#

Правило для числовых литералов: генерирует PUSH значения

public static Func<AbstractSyntaxTree, List<Instruction>> BinaryOp(OpCode opCode)

Language: C#

Правило для бинарной операции: дети уже на стеке, применяем оператор

public static Func<AbstractSyntaxTree, List<Instruction>> UnaryOp(OpCode opCode)

Language: C#

Правило для унарной операции

public static Func<AbstractSyntaxTree, List<Instruction>> LoadVariable()

Language: C#

Правило для загрузки переменной

public static Func<AbstractSyntaxTree, List<Instruction>> StoreVariable()

Language: C#

Правило для сохранения переменной