using NTERA.Engine.Compiler; namespace NTERA.Engine.Runtime { public class StackFrame { public VariableDictionary LocalVariables { get; set; } public VariableDictionary GlobalVariables { get; set; } public FunctionDefinition SelfDefinition { get; set; } } public enum ExecutionResultType { None, FunctionReturn } public class ExecutionResult { public static ExecutionResult None { get; } = new ExecutionResult(ExecutionResultType.None); public ExecutionResultType Type { get; } public Value? Result { get; } public ExecutionResult(ExecutionResultType type, Value? value = null) { Type = type; Result = value; } } }