Ejemplo n.º 1
0
 public override void execute(GlobalParameters globalParameters)
 {
     while (Test.evaluate(globalParameters) != 0)
     {
         Body.execute(globalParameters);
     }
 }
Ejemplo n.º 2
0
 public override void execute(GlobalParameters globalParameters)
 {
     foreach (Command item in items)
     {
         item.execute(globalParameters);
     }
 }
Ejemplo n.º 3
0
        public override void execute(GlobalParameters globalParameters)
        {
            double repetitionNumber = repetition.evaluate(globalParameters);

            for (int i = 0; i < repetitionNumber; i++)
            {
                commands.execute(globalParameters);
            }
        }
Ejemplo n.º 4
0
 public SyntaxAnalyser(Turtle turtle, Form1 form, TextBox textBox)
 {
     lexi             = new LexicalAnalyser();
     this.turtle      = turtle;
     this.form        = form;
     this.textBox     = textBox;
     globalParameters = new GlobalParameters(turtle, textBox);
     globalNamespace  = new Dictionary <string, int>();
     localNamespace   = new Dictionary <string, int>();
     variables        = new Dictionary <string, double>();
 }
Ejemplo n.º 5
0
 public override double evaluate(GlobalParameters globalParameters)
 {
     if (left.evaluate(globalParameters) > right.evaluate(globalParameters))
     {
         return(1);
     }
     else
     {
         return(0);
     }
     //TODO return true/false, not 0/1
 }
Ejemplo n.º 6
0
 public override double evaluate(GlobalParameters globalParameters)
 {
     if (left.evaluate(globalParameters) == 1 ||
         right.evaluate(globalParameters) == 1)
     {
         return(1);
     }
     else
     {
         return(0);
     }
 }
Ejemplo n.º 7
0
        public override void execute(GlobalParameters globalParameters)
        {
            List <double> mem = new List <double>();
            List <double> old;

            for (int i = 0; i < sub.subroutineNamespace.Count; i++)
            {
                mem.Add(args[i].evaluate(globalParameters));
            }
            old = globalParameters.localMemory;
            globalParameters.localMemory = mem;
            sub.body.execute(globalParameters);
            globalParameters.localMemory = old;
        }
 public override void set(double value, GlobalParameters globalParameters)
 {
     globalParameters.localMemory[address] = value;
 }
Ejemplo n.º 9
0
 public abstract void set(double value, GlobalParameters globalParameters);
 public override double get(GlobalParameters globalParameters)
 {
     return(globalParameters.localMemory[address]);
 }
Ejemplo n.º 11
0
 public abstract double evaluate(GlobalParameters globalParameters);
Ejemplo n.º 12
0
 public override double evaluate(GlobalParameters globalParameters)
 {
     return(variable.get(globalParameters));
 }
Ejemplo n.º 13
0
 public override double evaluate(GlobalParameters globalParameters)
 {
     return(Math.Pow(left.evaluate(globalParameters), right.evaluate(globalParameters)));
 }
Ejemplo n.º 14
0
 public override double evaluate(GlobalParameters globalParameters)
 {
     return(left.evaluate(globalParameters) / right.evaluate(globalParameters));
 }
Ejemplo n.º 15
0
 public override void execute(GlobalParameters globalParameters)
 {
     globalParameters.turtle.forward(param.evaluate(globalParameters));
 }
Ejemplo n.º 16
0
 public abstract double get(GlobalParameters globalParameters);
Ejemplo n.º 17
0
 public override void execute(GlobalParameters globalParameters)
 {
     variable.set(expr.evaluate(globalParameters), globalParameters);
 }
Ejemplo n.º 18
0
 public override double evaluate(GlobalParameters globalParameters)
 {
     return(subExpression.evaluate(globalParameters));
 }
Ejemplo n.º 19
0
 public override double evaluate(GlobalParameters globalParameters)
 {
     return(value);
 }
Ejemplo n.º 20
0
 public abstract void execute(GlobalParameters globalParameters);
Ejemplo n.º 21
0
 public override void execute(GlobalParameters globalParameters)
 {
     globalParameters.textBox.AppendText(Expr.evaluate(globalParameters).ToString() + Environment.NewLine);
 }