Index: branches/HeuristicLab.Problems.GPDL/Examples/Artificial Ant.txt
===================================================================
--- branches/HeuristicLab.Problems.GPDL/Examples/Artificial Ant.txt	(revision 10098)
+++ branches/HeuristicLab.Problems.GPDL/Examples/Artificial Ant.txt	(revision 10099)
@@ -121,5 +121,5 @@
  
   public void TurnLeft() {
-    Steps++;
+    if(Steps++ > MaxSteps) return;
     switch(Direction) {
       case Direction.West: Direction = Direction.South; break;
@@ -130,5 +130,5 @@
   }
   public void TurnRight() {
-    Steps++;
+    if(Steps++ > MaxSteps) return;
     switch(Direction) {
       case Direction.West: Direction = Direction.North; break;
@@ -139,6 +139,6 @@
   }
   public void MoveForward() { 
+    if(Steps++ > MaxSteps) return;
     Position = NextPosition; 
-    Steps++; 
     if(World.FoodAt(Position)) {
         World.RemoveFoodAt(Position);
Index: branches/HeuristicLab.Problems.GPDL/Examples/Factorial.txt
===================================================================
--- branches/HeuristicLab.Problems.GPDL/Examples/Factorial.txt	(revision 10098)
+++ branches/HeuristicLab.Problems.GPDL/Examples/Factorial.txt	(revision 10099)
@@ -11,5 +11,5 @@
     public int GetValue(string id) {
       int val = 0;
-      values.TryGetValue(id, out val);      
+      values.TryGetValue(id, out val);
       return val;
     }
@@ -18,11 +18,10 @@
 
 NONTERMINALS
-  Program<<int n, out int r>>.                                       /* return value is the result of the last statement. */
-  StatSeq<<out int r>>.                                                  
+  Program<<int n, out int r>>.                                           /* return value is the result of the last statement. */
+  StatSeq<<out int r>>.
   AssignStat<<out int r>>.                                               /* result of assignment is the assigned value */
   IncStat<<out int r>>.
   DecStat<<out int r>>.
   WhileStat<<out int r>>.                                                /* result of while loop is the result of the last executed statement */
-  ReturnStat<<out int r>>.  
   Expr<<out int r>>.
   AdditionExpr<<out int r>>.
@@ -36,5 +35,4 @@
   AssignStatAndStatSeq<<out int r>>.
   WhileStatAndStatSeq<<out int r>>.
-  ReturnStatAndStatSeq<<out int r>>.
 
 TERMINALS
@@ -56,10 +54,9 @@
   .
   StatSeq<<out int r>> =                                                 LOCAL << r = 0; >>
-    Nothing<<out r>>                                                              
+    Nothing<<out r>>
     | AssignStatAndStatSeq<<out r>>
     | WhileStatAndStatSeq<<out r>>
-    | ReturnStatAndStatSeq<<out r>>
-	| IncStat<<out r>>
-	| DecStat<<out r>>
+    | IncStat<<out r>>
+    | DecStat<<out r>>
   .
   
@@ -69,7 +66,4 @@
   WhileStatAndStatSeq<<out int r>> = 
     StatSeq<<out r>> WhileStat<<out r>> 
-  .
-  ReturnStatAndStatSeq<<out int r>> = 
-    StatSeq<<out r>>  ReturnStat<<out r>> 
   .
 
@@ -90,6 +84,5 @@
     StatSeq<<out r>>                                                      SEM  << } >>
   .
-  ReturnStat<<out int r>> = Expr<<out r>>                                 SEM  << return; >>
-  .
+
   Expr<<out int r>> =                                                     LOCAL << string id; >>
     AdditionExpr<<out r>> 
@@ -98,17 +91,17 @@
     | DivisionExpr<<out r>> 
     | Const<<out r>> 
-    | ident<<out id>>                                                      SEM  << r = symTab.GetValue(id); >>
+    | ident<<out id>>                                                     SEM  << r = symTab.GetValue(id); >>
   .
-  AdditionExpr<<out int r>> =                                              LOCAL << int e1, e2; >>
-     Expr<<out e1>> Expr<<out e2>>                                         SEM  << r = e1 + e2; >>
+  AdditionExpr<<out int r>> =                                             LOCAL << int e1, e2; >>
+     Expr<<out e1>> Expr<<out e2>>                                        SEM  << r = e1 + e2; >>
   .
-  SubtractionExpr<<out int r>> =                                           LOCAL << int e1, e2; >>
-    Expr<<out e1>> Expr<<out e2>>                                          SEM  << r = e1 - e2; >>
+  SubtractionExpr<<out int r>> =                                          LOCAL << int e1, e2; >>
+    Expr<<out e1>> Expr<<out e2>>                                         SEM  << r = e1 - e2; >>
   .
-  MultiplicationExpr<<out int r>> =                                        LOCAL << int e1, e2; >>
-    Expr<<out e1>> Expr<<out e2>>                                          SEM  << r = e1 * e2; >>
+  MultiplicationExpr<<out int r>> =                                       LOCAL << int e1, e2; >>
+    Expr<<out e1>> Expr<<out e2>>                                         SEM  << r = e1 * e2; >>
   .
-  DivisionExpr<<out int r>> =                                              LOCAL << int e1, e2; >>
-    Expr<<out e1>> Expr<<out e2>>                                          SEM  << r = e2 == 0 ? 1 : e1 / e2; >>
+  DivisionExpr<<out int r>> =                                             LOCAL << int e1, e2; >>
+    Expr<<out e1>> Expr<<out e2>>                                         SEM  << r = e2 == 0 ? 1 : e1 / e2; >>
   .
   BooleanExpr<<out bool b>> = 
@@ -117,16 +110,16 @@
     | NotExpr<<out b>> 
   .
-  NotExpr<<out bool b>> =                                                  LOCAL << bool notB; >>
-    BooleanExpr<<out notB>>                                                SEM  << b = !notB; >>
+  NotExpr<<out bool b>> =                                                 LOCAL << bool notB; >>
+    BooleanExpr<<out notB>>                                               SEM  << b = !notB; >>
   .
-  LessThanExpr<<out bool b>> =                                             LOCAL << int lhs, rhs; >>
-    Expr<<out lhs>> Expr<<out rhs>>                                        SEM  << b = lhs < rhs; >>
+  LessThanExpr<<out bool b>> =                                            LOCAL << int lhs, rhs; >>
+    Expr<<out lhs>> Expr<<out rhs>>                                       SEM  << b = lhs < rhs; >>
   .
-  EqualExpr<<out bool b>> =                                                LOCAL << int lhs, rhs; >>
-    Expr<<out lhs>> Expr<<out rhs>>                                        SEM  << b = lhs == rhs; >>
+  EqualExpr<<out bool b>> =                                               LOCAL << int lhs, rhs; >>
+    Expr<<out lhs>> Expr<<out rhs>>                                       SEM  << b = lhs == rhs; >>
   .
   
   
-MINIMIZE                                                   /* could also use the keyword MAXIMIZE here */
+MINIMIZE
   <<
     var ns = new int[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Index: branches/HeuristicLab.Problems.GPDL/Examples/Fib.txt
===================================================================
--- branches/HeuristicLab.Problems.GPDL/Examples/Fib.txt	(revision 10098)
+++ branches/HeuristicLab.Problems.GPDL/Examples/Fib.txt	(revision 10099)
@@ -18,11 +18,10 @@
 
 NONTERMINALS
-  Program<<int n, out int r>>.                                       /* return value is the result of the last statement. */
-  StatSeq<<out int r>>.                                                  
+  Program<<int n, out int r>>.                                           /* return value is the result of the last statement. */
+  StatSeq<<out int r>>.
   AssignStat<<out int r>>.                                               /* result of assignment is the assigned value */
   IncStat<<out int r>>.
   DecStat<<out int r>>.
   WhileStat<<out int r>>.                                                /* result of while loop is the result of the last executed statement */
-  ReturnStat<<out int r>>.  
   Expr<<out int r>>.
   AdditionExpr<<out int r>>.
@@ -36,5 +35,4 @@
   AssignStatAndStatSeq<<out int r>>.
   WhileStatAndStatSeq<<out int r>>.
-  ReturnStatAndStatSeq<<out int r>>.
 
 TERMINALS
@@ -56,10 +54,9 @@
   .
   StatSeq<<out int r>> =                                                 LOCAL << r = 0; >>
-    Nothing<<out r>>                                                              
+    Nothing<<out r>>
     | AssignStatAndStatSeq<<out r>>
     | WhileStatAndStatSeq<<out r>>
-    | ReturnStatAndStatSeq<<out r>>
-	| IncStat<<out r>>
-	| DecStat<<out r>>
+    | IncStat<<out r>>
+    | DecStat<<out r>>
   .
   
@@ -69,7 +66,4 @@
   WhileStatAndStatSeq<<out int r>> = 
     StatSeq<<out r>> WhileStat<<out r>> 
-  .
-  ReturnStatAndStatSeq<<out int r>> = 
-    StatSeq<<out r>>  ReturnStat<<out r>> 
   .
 
@@ -89,6 +83,4 @@
     BooleanExpr<<out b>>                                                  SEM  << if(!b) break; >>
     StatSeq<<out r>>                                                      SEM  << } >>
-  .
-  ReturnStat<<out int r>> = Expr<<out r>>                                 SEM  << return; >>
   .
   Expr<<out int r>> =                                                     LOCAL << string id; >>
@@ -128,5 +120,5 @@
   
   
-MINIMIZE                                                   /* could also use the keyword MAXIMIZE here */
+MINIMIZE
   <<
     var ns = new int[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Index: branches/HeuristicLab.Problems.GPDL/Examples/symbreg HEAL.txt
===================================================================
--- branches/HeuristicLab.Problems.GPDL/Examples/symbreg HEAL.txt	(revision 10098)
+++ branches/HeuristicLab.Problems.GPDL/Examples/symbreg HEAL.txt	(revision 10099)
@@ -43,6 +43,6 @@
     double r = 0.0;
     num = sumxy - ( ( sumx * sumy ) / n );
-    den = Math.Sqrt( ( sumxSq - ( sumx*sumx ) / n ) *
-                     ( sumySq - ( sumy*sumy ) / n ) );
+    den = Math.Sqrt( ( sumxSq - ( sumx * sumx ) / n ) *
+                     ( sumySq - ( sumy * sumy ) / n ) );
     if(den > 0){
       r = num / den;
@@ -53,5 +53,5 @@
 
 INIT <<
-  // generate 500 case of poly-10 benchmark function
+  // generate 500 cases of poly-10 benchmark function
   int n = 500;
   variableNames = new string[] {"x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10" };
@@ -84,10 +84,10 @@
   Const<<out double val>> 
     CONSTRAINTS
-      val IN RANGE <<-100>> .. <<100>>
+      val IN RANGE <<-10.0>> .. <<10.0>>
   .
   Var<<out string varName, out double weight>>  
     CONSTRAINTS
       varName IN SET <<variableNames>>
-      weight IN RANGE <<-100>> .. <<100>>
+      weight IN RANGE <<-10.0>> .. <<10.0>>
   .
 
Index: branches/HeuristicLab.Problems.GPDL/Examples/symbreg Koza.txt
===================================================================
--- branches/HeuristicLab.Problems.GPDL/Examples/symbreg Koza.txt	(revision 10098)
+++ branches/HeuristicLab.Problems.GPDL/Examples/symbreg Koza.txt	(revision 10099)
@@ -54,5 +54,5 @@
 
 INIT <<
-  // generate 500 case of poly-10 benchmark function
+  // generate 500 cases of poly-10 benchmark function
   int n = 500;
   variableNames = new string[] {"x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10" };
@@ -73,6 +73,6 @@
   rows = System.Linq.Enumerable.Range(0, n).ToArray();
   
-  // generate 100 random constants in [-100.0 .. 100.0[
-  randomConsts = Enumerable.Range(0, 100).Select(i => rand.NextDouble()*200.0 - 100.0).ToArray();
+  // generate 100 random constants in [-10.0 .. 10.0[
+  randomConsts = Enumerable.Range(0, 100).Select(i => rand.NextDouble()*20.0 - 10.0).ToArray();
 >>
 
