Курсовая работа: Построение распознавателя для заданной грамматики и реализация его в виде программы которая проверяет
if length (s) >2 then MessageDlg ('Нетерминалы '+s+'недостижимы. '+#13+'Все правила, их содержащие, будут удалены из грамматики. ',mtInformation, [mbOk],0)
else MessageDlg ('Нетерминал '+s+'недостижим. '+#13+'Все правила, его содержащие, будут удалены из грамматики. ',mtInformation, [mbOk],0);
Again3:
if ListBox1. Items. Count<>0 then
begin
for i: =0 to ListBox1. Items. Count-1 do
for j: =1 to length (ListBox1. Items. Strings [i]) do
if (ord (ListBox1. Items. Strings [i] [j]) in Neterminal) and
(not (ListBox1. Items. Strings [i] [j] in mn)) then
begin
ListBox1. Items. Delete (i);
goto Again3;
end;
end
else
begin
MessageDlg ('Все правила были удалены из грамматики. '+#13+'Введите новые правила. ',mtInformation, [mbOk],0);
BitBtn2. Enabled: =False;
exit;
end
end;
alfavit: = [] ;
end;
for i: =1 to length (Right) do
begin
if not (ord (Right [i]) in Neterminal) and not (ord (Right [i]) in Terminal) then
begin
ErrFlag: =True;
goto ErrorMsgRight;