示例#1
0
        public override void execute(Interpret interpreter)
        {
            List <NumericVariable> list = interpreter.getList(listIndex.eval(interpreter));

            if (list.Count > 0)
            {
                list.RemoveAt(list.Count - 1);
            }
        }
示例#2
0
        public override int eval(Interpret interpreter)
        {
            List <NumericVariable> list = interpreter.getList(listIndex.eval(interpreter));

            if (list.Count == 0)
            {
                return(0);
            }
            return(list[list.Count - 1].getValue());
        }
示例#3
0
        public override void execute(Interpret interpreter)
        {
            NumericVariable v       = interpreter.getNumVariable(varIndex.eval(interpreter));
            int             listInd = interpreter.getNumVariable(listIndex.eval(interpreter)).getValue();
            var             list    = interpreter.getList(listInd);
            int             counter = 0;
            int             index   = 0;

            while (index < list.Count)
            {
                v.assign(list[index].getValue());
                directive.executeAll(interpreter);
                index++;
                counter++;
                if (counter > LoopLimit)
                {
                    break;
                }
            }
        }
示例#4
0
 public override int eval(Interpret interpreter)
 {
     return(interpreter.getList(listIndex.eval(interpreter)).Count);
 }
示例#5
0
        public override void execute(Interpret interpreter)
        {
            List <NumericVariable> list = interpreter.getList(listIndex.eval(interpreter));

            list.Insert(0, new NumericVariable(value.eval(interpreter)));
        }