tlang-interperter-cs/tlanglib/ScopeNode.cs

22 lines
516 B
C#

using System.Collections.Generic;
namespace tlang
{
public class ScopeNode : Node
{
public bool First {get;set;}
public List<Node> Body {get;set;}= new List<Node>();
public override TObject Execute(IScopeEnvironment nodeEnv)
{
var sub = First ? nodeEnv : nodeEnv.SubEnv;
TObject obj=TObject.Null;
foreach(var item in Body)
{
obj=item.Execute(sub);
}
return obj;
}
}
}