using System.Collections.Generic; using NTERA.Engine.Compiler; namespace NTERA.Engine.Runtime { public class StackFrame { public Dictionary LocalVariables { get; set; } public Dictionary 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; } } }