anchor.diff:    exit JumpTable.Count -1;
   end;
   
  +
  +constructor ExecutionStep(expression: ExpressionElement;  &step: Int32);
  +begin
  +  self.Expression := expression;
  +  self.Step := step;
  +end;
  +
  +
  +constructor ExecutionStep(expression: ExpressionElement);
  +begin
  +  constructor(expression, 0);
  +end;
  +
  +
  +method ExecutionStep.NextStep(): ExecutionStep;
  +begin
  +  inc(self.Step);
  +
  +  exit self;
  +end;
  +
  +
   end.
positive.code:     method WriteStatement(El: SourceElement);
      method AllocateLocal(aType: &Type): LocalBuilder;
      method ReleaseLocal(aLocal: LocalBuilder);
      method CallGetValue(aFromElement: ElementType);
      method CallSetValue;
      method WriteExpression(aExpression: ExpressionElement);
      method RecursiveFindFuncAndVars(aElements: sequence of SourceElement): sequence of SourceElement; iterator;
      method WriteIfStatement(el: IfStatement);
      method WriteDoStatement(el: DoStatement);
  
negative.code: 
  
    CodeDelegate = public delegate (aScope: ExecutionContext; Args: array of Object): Object;
  
  
    ExecutionStep = sealed class
    public
      constructor(expression: ExpressionElement);
      constructor(expression: ExpressionElement;  step: Int32);
  
      property Expression: ExpressionElement read write;
      property Step: Int32 read write;
  
      method NextStep(): ExecutionStep;
    end;
  
  
  implementation
  