じゃ具体的にする為に、こんなヘタレなクラスがあったとします。

type TCharPipe=Class
protected
 FisEOF:boolean;
public
 Result:Char;
 property isEOF:boolean read FisEOF;
 function get:Char;virtual;abstract ;
 procedure put(c:Char);virtual;abstract ;
 procedure BracketBeakUp(left,right:Char);
end;

procedure TCharPipe.BracketBeakUp(left, right: Char);
var c:Char;
begin
 while True do begin
  while True do begin
   c:=get;if isEOF then exit;
   if c=left then break;
  end;
  while True do begin
   c:=get;if isEOF then exit;
   if c=right then break;
   put(c);
  end;
 end;
end;
単に、getで順に読んで 左括弧から右括弧の範囲の文字なら put するだけのクラスです
get/putは純粋仮想メソッドなので誰か定義しろよという事です。

この put を外から呼び出す形にFiberで変更してみます