Скачиваний:
23
Добавлен:
02.05.2014
Размер:
208.38 Кб
Скачать

tek:=SymbStack[j];

gamma:=SymbStack[j]+gamma;

SymbStack.Delete(j)

end

else break;

if findnt(gamma)<>''

then

begin

SymbStack.Add(findnt(gamma));

k:=k+1;

CepofV[k]:=NomRul(gamma);

{ ShowMessage('Цепочка '+gamma+' заменяется на '+findnt(gamma)+' по правилу '+inttostr(Nomrul(gamma))); }

cep:=inttostr(CepofV[k])+' '+cep;

end

else

begin {ошибка}

ShowMessage('Ошибка! Цепочка '+gamma+' недопустима');

goto tree

end;

end;

if mycase=' ' then

begin {ошибка}

ShowMessage('Ошибка! Символы '+Symbstack[verh]+' и '+InputString[i]+' не могут следовать друг за другом');

goto tree;

end;

end;

Myend:Edit1.Text:=cep;

{вывод дерева}

tree:n:=k;

with TreeView1 do

begin

Items.Add(Nil,'E');

vetv:=0;

for k:=n downto 1 do begin

m:=Items.Count;

if k<n then

for i:=m-1 downto 0 do

if Items[i].Text=notterm[CepofV[k]] then

if Items[i].HasChildren=False then

begin

vetv:=i;

goto zap

end;

zap: for i:=1 to 7 do

if CanonO[CepofV[k],i]<>'' then

Items.AddChild(Items[vetv],CanonO[CepofV[k],i])

end;

FullExpand

end;

InputString.Destroy;

SymbStack.Destroy;

end;

end.

Соседние файлы в папке ПЗ