Доброго Времени суток.Создал в разделе платных,но ни кто не помог. Может вы господа посоветуете . Требуются любые советы и ссылки на примеры..

Требуется написать программу Удаление недостижимых и бесплодных символов в алфавите!!
Алгоритмы и примеры алфавита данны.

Хотел сам сделать,но увы не понимаю...

мое описание данных.
Код

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

Type

Trule= record
  Left:char;
  Right:string;
end;

Trules=array of Trule;

Talphavet=array of char;

Tgramatica=Record
  Vt,Vn:Talphavet;
  P:Trules;
  S:char;
end;


var i,k:integer;

  myling:Tgramatica;
  myling2:Tgramatica;
  v:array of char;

begin


   with myling do
   begin
   vt[1]:='a';
   vt[2]:='b';
   vt[3]:='c';
   vt[4]:='d';
   vt[5]:='e';
   vt[6]:='f';

   vn[1]:='A';
   vn[2]:='B';
   vn[3]:='C';
   vn[4]:='D';
   vn[5]:='E';
   vn[6]:='F';
   vn[7]:='S';

    p[1].left:='S';
    p[1].Right:='b';

    p[2].left:='S';
    p[2].Right:='C';

    p[3].left:='S';
    p[3].Right:='cCB';

    p[4].left:='A';
    p[4].Right:='e';

    p[5].left:='A';
    p[5].Right:='Ab';

    p[6].left:='B';
    p[6].Right:='Bb';

    p[7].left:='B';
    p[7].Right:='cB';

    p[8].left:='C';
    p[8].Right:='Ca';

    p[9].left:='C';
    p[9].Right:='Bf';

    p[10].left:='C';
    p[10].Right:='d';

   end;


   with myling2 do
   begin
   vt[1]:='a';
   vt[2]:='b';
   vt[3]:='c';
   vt[4]:='d';
   vt[5]:='e';
   vt[6]:='f';

   vn[1]:='A';
   vn[2]:='B';
   vn[3]:='C';
   vn[4]:='D';
   vn[5]:='E';
   vn[6]:='F';
   vn[7]:='S';

    p[1].left:='S';
    p[1].Right:='aABC';

    p[2].left:='S';
    p[2].Right:='aE';

    p[3].left:='A';
    p[3].Right:='SCD';

    p[4].left:='A';
    p[4].Right:='c';

    p[5].left:='B';
    p[5].Right:='bFD';

    p[6].left:='C';
    p[6].Right:='aE';

    p[7].left:='D';
    p[7].Right:='aD';

   end;


readln;
end.