Index: branches/PushGP/HeuristicLab.Algorithms.PushGP/HeuristicLab.Algorithms.PushGP/Expressions/IntegerExpressions.cs
===================================================================
--- branches/PushGP/HeuristicLab.Algorithms.PushGP/HeuristicLab.Algorithms.PushGP/Expressions/IntegerExpressions.cs	(revision 14513)
+++ branches/PushGP/HeuristicLab.Algorithms.PushGP/HeuristicLab.Algorithms.PushGP/Expressions/IntegerExpressions.cs	(revision 14602)
@@ -1,197 +1,185 @@
 ﻿namespace HeuristicLab.Algorithms.PushGP.Expressions
 {
-  using System;
+    using System;
+    using HeuristicLab.Algorithms.PushGP.Interpreter;
 
-  using HeuristicLab.Algorithms.PushGP.Interpreter;
+    /// <summary>
+    ///     Pushes the sum of the top two items.
+    /// </summary>
+    public class IntegerAddExpression : PushResultExpression<long>
+    {
+        public IntegerAddExpression() : base("INTEGER.+")
+        {
+        }
 
-  /// <summary>
-  ///     Pushes the sum of the top two items.
-  /// </summary>
-  public class IntegerAddExpression : PushResultExpression<long>
-  {
-    protected override string InitStringRepresentation()
-    {
-      return "INTEGER.+";
+        public override void Eval(IPushGpInterpreter interpreter)
+        {
+            this.Eval(interpreter.IntegerStack, 2, values => values[0] + values[1]);
+        }
     }
 
-    public override void Eval(IPushGpInterpreter interpreter)
+    /// <summary>
+    ///     Pushes the difference of the top two items; that is, the second item minus the top item.
+    /// </summary>
+    public class IntegerSubtractExpression : PushResultExpression<long>
     {
-      this.Eval(interpreter.IntegerStack, 2, values => values[0] + values[1]);
-    }
-  }
+        public IntegerSubtractExpression() : base("INTEGER.-")
+        {
+        }
 
-  /// <summary>
-  ///     Pushes the difference of the top two items; that is, the second item minus the top item.
-  /// </summary>
-  public class IntegerSubtractExpression : PushResultExpression<long>
-  {
-    protected override string InitStringRepresentation()
-    {
-      return "INTEGER.-";
+        public override void Eval(IPushGpInterpreter interpreter)
+        {
+            this.Eval(interpreter.IntegerStack, 2, values => values[0] - values[1]);
+        }
     }
 
-    public override void Eval(IPushGpInterpreter interpreter)
+    /// <summary>
+    ///     Pushes the product of the top two items.
+    /// </summary>
+    public class IntegerMultiplyExpression : PushResultExpression<long>
     {
-      this.Eval(interpreter.IntegerStack, 2, values => values[0] - values[1]);
-    }
-  }
+        public IntegerMultiplyExpression() : base("INTEGER.*")
+        {
+        }
 
-  /// <summary>
-  ///     Pushes the product of the top two items.
-  /// </summary>
-  public class IntegerMultiplyExpression : PushResultExpression<long>
-  {
-    protected override string InitStringRepresentation()
-    {
-      return "INTEGER.*";
+        public override void Eval(IPushGpInterpreter interpreter)
+        {
+            this.Eval(interpreter.IntegerStack, 2, values => values[0] * values[1]);
+        }
     }
 
-    public override void Eval(IPushGpInterpreter interpreter)
+    /// <summary>
+    ///     Pushes the quotient of the top two items; that is, the second item divided by the top item.
+    ///     If the top item is zero this acts as a NOOP.
+    /// </summary>
+    public class IntegerDivideExpression : PushResultExpression<long>
     {
-      this.Eval(interpreter.IntegerStack, 2, values => values[0] * values[1]);
-    }
-  }
+        public IntegerDivideExpression() : base("INTEGER./")
+        {
+        }
 
-  /// <summary>
-  ///     Pushes the quotient of the top two items; that is, the second item divided by the top item.
-  ///     If the top item is zero this acts as a NOOP.
-  /// </summary>
-  public class IntegerDivideExpression : PushResultExpression<long>
-  {
-    protected override string InitStringRepresentation()
-    {
-      return "INTEGER./";
+        public override void Eval(IPushGpInterpreter interpreter)
+        {
+            this.Eval(interpreter.IntegerStack, 2, values => values[0] / values[1], 0);
+        }
     }
 
-    public override void Eval(IPushGpInterpreter interpreter)
+    /// <summary>
+    ///     Pushes the second stack item modulo the top stack item. If the top item is zero this acts as a NOOP. The modulus is
+    ///     computed as the
+    ///     remainder of the quotient, where the quotient has first been truncated toward negative infinity. (This is taken
+    ///     from the definition
+    ///     for the generic MOD function in Common Lisp, which is described for example at
+    ///     http://www.lispworks.com/reference/HyperSpec/Body/f_mod_r.htm.)
+    /// </summary>
+    public class IntegerModuloExpression : PushResultExpression<long>
     {
-      this.Eval(interpreter.IntegerStack, 2, values => values[0] / values[1], 0);
-    }
-  }
+        public IntegerModuloExpression() : base("INTEGER.%")
+        {
+        }
 
-  /// <summary>
-  ///     Pushes the second stack item modulo the top stack item. If the top item is zero this acts as a NOOP. The modulus is
-  ///     computed as the
-  ///     remainder of the quotient, where the quotient has first been truncated toward negative infinity. (This is taken
-  ///     from the definition
-  ///     for the generic MOD function in Common Lisp, which is described for example at
-  ///     http://www.lispworks.com/reference/HyperSpec/Body/f_mod_r.htm.)
-  /// </summary>
-  public class IntegerModuloExpression : PushResultExpression<long>
-  {
-    protected override string InitStringRepresentation()
-    {
-      return "INTEGER.%";
+        public override void Eval(IPushGpInterpreter interpreter)
+        {
+            this.Eval(interpreter.IntegerStack, 2, values => values[0] % values[1], 0);
+        }
     }
 
-    public override void Eval(IPushGpInterpreter interpreter)
+    /// <summary>
+    ///     Pushes the minimum of the top two items.
+    /// </summary>
+    public class IntegerMinExpression : PushResultExpression<long>
     {
-      this.Eval(interpreter.IntegerStack, 2, values => values[0] % values[1], 0);
-    }
-  }
+        public IntegerMinExpression() : base("INTEGER.MIN")
+        {
+        }
 
-  /// <summary>
-  ///     Pushes the minimum of the top two items.
-  /// </summary>
-  public class IntegerMinExpression : PushResultExpression<long>
-  {
-    protected override string InitStringRepresentation()
-    {
-      return "INTEGER.MIN";
+        public override void Eval(IPushGpInterpreter interpreter)
+        {
+            this.Eval(interpreter.IntegerStack, 2, values => Math.Min(values[0], values[1]));
+        }
     }
 
-    public override void Eval(IPushGpInterpreter interpreter)
+    /// <summary>
+    ///     Pushes the maximum of the top two items.
+    /// </summary>
+    public class IntegerMaxExpression : PushResultExpression<long>
     {
-      this.Eval(interpreter.IntegerStack, 2, values => Math.Min(values[0], values[1]));
-    }
-  }
+        public IntegerMaxExpression() : base("INTEGER.MAX")
+        {
+        }
 
-  /// <summary>
-  ///     Pushes the maximum of the top two items.
-  /// </summary>
-  public class IntegerMaxExpression : PushResultExpression<long>
-  {
-    protected override string InitStringRepresentation()
-    {
-      return "INTEGER.MAX";
+        public override void Eval(IPushGpInterpreter interpreter)
+        {
+            this.Eval(interpreter.IntegerStack, 2, values => Math.Max(values[0], values[1]));
+        }
     }
 
-    public override void Eval(IPushGpInterpreter interpreter)
+    /// <summary>
+    ///     Pushes TRUE onto the BOOLEAN stack if the second item is less than the top item, or FALSE otherwise.
+    /// </summary>
+    public class IntegerSmallerThanExpression : PushResultExpression<long>
     {
-      this.Eval(interpreter.IntegerStack, 2, values => Math.Max(values[0], values[1]));
-    }
-  }
+        public IntegerSmallerThanExpression() : base("INTEGER.<")
+        {
+        }
 
-  /// <summary>
-  ///     Pushes TRUE onto the BOOLEAN stack if the second item is less than the top item, or FALSE otherwise.
-  /// </summary>
-  public class IntegerSmallerThanExpression : PushResultExpression<long>
-  {
-    protected override string InitStringRepresentation()
-    {
-      return "INTEGER.<";
+        public override void Eval(IPushGpInterpreter interpreter)
+        {
+            this.Eval(interpreter.IntegerStack, interpreter.BooleanStack, 2, values => values[0] < values[1]);
+        }
     }
 
-    public override void Eval(IPushGpInterpreter interpreter)
+    /// <summary>
+    ///     Pushes TRUE onto the BOOLEAN stack if the second item is greater than the top item, or FALSE otherwise.
+    /// </summary>
+    public class IntegerGreaterThanExpression : PushResultExpression<long>
     {
-      this.Eval(interpreter.IntegerStack, interpreter.BooleanStack, 2, values => values[0] < values[1]);
-    }
-  }
+        public IntegerGreaterThanExpression() : base("INTEGER.>")
+        {
+        }
 
-  /// <summary>
-  ///     Pushes TRUE onto the BOOLEAN stack if the second item is greater than the top item, or FALSE otherwise.
-  /// </summary>
-  public class IntegerGreaterThanExpression : PushResultExpression<long>
-  {
-    protected override string InitStringRepresentation()
-    {
-      return "INTEGER.>";
+        public override void Eval(IPushGpInterpreter interpreter)
+        {
+            this.Eval(interpreter.IntegerStack, interpreter.BooleanStack, 2, values => values[0] > values[1]);
+        }
     }
 
-    public override void Eval(IPushGpInterpreter interpreter)
+    /// <summary>
+    ///     Pushes 1 if the top BOOLEAN is TRUE, or 0 if the top BOOLEAN is FALSE.
+    /// </summary>
+    public class IntegerFromBooleanExpression : StatelessExpression
     {
-      this.Eval(interpreter.IntegerStack, interpreter.BooleanStack, 2, values => values[0] > values[1]);
-    }
-  }
+        public IntegerFromBooleanExpression() : base("INTEGER.FROMBOOLEAN")
+        {
+        }
 
-  /// <summary>
-  ///     Pushes 1 if the top BOOLEAN is TRUE, or 0 if the top BOOLEAN is FALSE.
-  /// </summary>
-  public class IntegerFromBooleanExpression : StatelessExpression
-  {
-    protected override string InitStringRepresentation()
-    {
-      return "INTEGER.FROMBOOLEAN";
+        public override void Eval(IPushGpInterpreter interpreter)
+        {
+            if (interpreter.BooleanStack.Count == 0) return;
+
+            var condition = interpreter.BooleanStack.Pop();
+            var value = condition ? 1 : 0;
+
+            interpreter.IntegerStack.Push(value);
+        }
     }
 
-    public override void Eval(IPushGpInterpreter interpreter)
+    /// <summary>
+    ///     Pushes the result of truncating the top FLOAT.
+    /// </summary>
+    public class IntegerFromFloatExpression : StatelessExpression
     {
-      if (interpreter.BooleanStack.Count == 0) return;
+        public IntegerFromFloatExpression() : base("INTEGER.FROMFLOAT")
+        {
+        }
 
-      var condition = interpreter.BooleanStack.Pop();
-      var value = condition ? 1 : 0;
+        public override void Eval(IPushGpInterpreter interpreter)
+        {
+            if (interpreter.FloatStack.Count == 0) return;
 
-      interpreter.IntegerStack.Push(value);
+            var value = (int) interpreter.FloatStack.Pop();
+
+            interpreter.IntegerStack.Push(value);
+        }
     }
-  }
-
-  /// <summary>
-  ///     Pushes the result of truncating the top FLOAT.
-  /// </summary>
-  public class IntegerFromFloatExpression : StatelessExpression
-  {
-    protected override string InitStringRepresentation()
-    {
-      return "INTEGER.FROMFLOAT";
-    }
-
-    public override void Eval(IPushGpInterpreter interpreter)
-    {
-      if (interpreter.FloatStack.Count == 0) return;
-
-      var value = (int)interpreter.FloatStack.Pop();
-
-      interpreter.IntegerStack.Push(value);
-    }
-  }
 }
