Exemple #1
0
 public override void execute(Interpret interpreter)
 {
     foreach (var item in sequence)
     {
         item.execute(interpreter);
     }
 }
Exemple #2
0
 public override void execute(Interpret interpreter)
 {
     if (expression.eval(interpreter))
     {
         directive.executeAll(interpreter);
     }
 }
Exemple #3
0
        public override void execute(Interpret interpreter)
        {
            List <NumericVariable> list = interpreter.getList(listIndex.eval(interpreter));

            if (list.Count > 0)
            {
                list.RemoveAt(list.Count - 1);
            }
        }
        public override int eval(Interpret interpreter)
        {
            int secondVal = second.eval(interpreter);

            if (secondVal == 0)
            {
                return(0);
            }
            return(first.eval(interpreter) / secondVal);
        }
        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());
        }
Exemple #6
0
        /// <summary>
        /// Executes this directive together with all other directives that are conected to it by "nextDirective".
        /// </summary>
        /// <param name="interpreter"></param>
        public virtual void executeAll(Interpret interpreter)
        {
            execute(interpreter);
            var nextDirective = getNextDirective();

            if (nextDirective != null)
            {
                nextDirective.executeAll(interpreter);
            }
        }
        public override int eval(Interpret interpreter)
        {
            int argument = experssion.eval(interpreter);

            if (argument < 0)
            {
                return(0);
            }
            return((int)Math.Round(Math.Sqrt(argument)));
        }
Exemple #8
0
        public override void execute(Interpret interpreter)
        {
            int counter = 0;

            while (expression.eval(interpreter) && counter < LoopLimit)
            {
                dir.executeAll(interpreter);
                counter++;
            }
        }
        public override int eval(Interpret interpreter)
        {
            int limit = experssion.eval(interpreter);

            if (limit <= 0)
            {
                return(0);
            }
            return(r.Next(limit));
        }
Exemple #10
0
        public override void execute(Interpret interpreter)
        {
            int limit         = limitVal.eval(interpreter),
                counter       = 0;
            NumericVariable v = interpreter.getNumVariable(varIndex.eval(interpreter));

            while (v.getValue() < limit && counter < LoopLimit)
            {
                directive.executeAll(interpreter);
                v.increment();
                counter++;
            }
        }
Exemple #11
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;
                }
            }
        }
 public override int eval(Interpret interpreter)
 {
     return(interpreter.getList(listIndex.eval(interpreter)).Count);
 }
 public override int eval(Interpret interpreter)
 {
     return(interpreter.getValueFromList(this.listIndex.eval(interpreter), this.itemIndex.eval(interpreter)).eval(interpreter));
 }
 public override int eval(Interpret interpreter)
 {
     return(interpreter.getNumVariable(variableIndex.eval(interpreter)).getValue());
 }
Exemple #15
0
 public BooleanVariable getVariable(Interpret interpreter)
 {
     return(interpreter.getBoolVariable(variableIndex));
 }
Exemple #16
0
 public NumericVariable getVariable(Interpret interpreter)
 {
     return(interpreter.getNumVariable(variableIndex));
 }
        public override int eval(Interpret interpreter)
        {
            int value = experssion.eval(interpreter);

            return(value * value);
        }
 public override int eval(Interpret interpreter)
 {
     return((int)Math.Round(Math.Tan(experssion.eval(interpreter))));
 }
 public abstract int eval(Interpret interpreter);
 public override int eval(Interpret interpreter)
 {
     return(interpreter.getInput(inputIndex));
 }
Exemple #21
0
        public void assign(bool value, Interpret interpreter)
        {
            BooleanVariable var = interpreter.getBoolVariable(variableIndex);

            var.assign(value);
        }
Exemple #22
0
 public override bool eval(Interpret interpreter)
 {
     return(value);
 }
Exemple #23
0
        public void assign(int value, Interpret interpreter)
        {
            NumericVariable var = interpreter.getNumVariable(variableIndex);

            var.assign(value);
        }
Exemple #24
0
 public override bool eval(Interpret interpreter)
 {
     return(interpreter.logicalInputs[inputIndex]);
 }
Exemple #25
0
 public override bool eval(Interpret interpreter)
 {
     return(!exp.eval(interpreter));
 }
 public override int eval(Interpret interpreter)
 {
     return(first.eval(interpreter) * second.eval(interpreter));
 }
Exemple #27
0
 public override bool eval(Interpret interpreter)
 {
     return(first.eval(interpreter) ^ second.eval(interpreter));
 }
 public override int eval(Interpret interpreter)
 {
     return(number);
 }
Exemple #29
0
 public abstract bool eval(Interpret interpreter);
 public override int eval(Interpret interpreter)
 {
     return(expression.eval(interpreter) ? 1 : 0);
 }