public AST Get(AST i) { Tree.List list = env.Get(this.listName); int index = int.Parse(i.Evaluate(env).Value.ToString()); return(list.Get(index)); }
public override dynamic Evaluate(Env.Environment env) { this.env = env; Tree.List list = env.Get(this.listName); int index = int.Parse(this.index.Evaluate(env).Value.ToString()); this.Value = list.Get(index); return(this.Value); }
public override dynamic Evaluate(Env.Environment env) { if (this.right.Type == TreeType.LIST) { Tree.List right = this.right as List; List <AST> items = new List <AST>(); foreach (AST item in right.Items) { items.Add(item.Evaluate(env)); } this.right = new Tree.List(items); } AST final = this.right.Evaluate(env); if (final.Type == TreeType.LIST_ACCESS) { final = final.Evaluate(env); } env.Set(this.left, final); return(this.right); }
public override dynamic Evaluate(Env.Environment env) { Tree.List list = env.Get(this.listName); this.Value = list.Get(this.index.Evaluate(env).Value); return(this.Value); }