Реферат: Построение функции предшествования по заданной КС-грамматике

If (i-1)=Len Then {после := или после | только один терминал}

Complete(RTN,tmp);

End;

If i>Len Then Goto Next;{последний в строке был терминал}

While (i<Len) and (S[i+1]<>'|') Do inc(i);{до конца правила}

If s[i]='>' Then {последний в правиле нетерминал}

Begin

While (i>1) and (s[i]<>'<') Do dec(i);

inc(i);

Blank;

Terminal(term);{последний нетерминал}

tmp.Name:='<'+term+'>';

If (SearchInBlock(y,RTN,tmp)=0) and (term>'') Then

Complete(RTN,tmp);{добавляем правый}

inc(i);{пропуск >}

If s[i]='|' Then

Begin

inc(i);

Goto More;

End;

End

Else{последний в правиле терминал}

Begin

While (i>1) and not((s[i]=' ') or (s[i]='|') or (s[i]='>')) Do dec(i);

inc(i);

Blank;

Terminal(term);

tmp.Name:=term;

If (SearchInBlock(y,RTN,tmp)=0) and (term>'') Then

К-во Просмотров: 743
Бесплатно скачать Реферат: Построение функции предшествования по заданной КС-грамматике