Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 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);
 }