Построение простейшего дерева вывода

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

9;,slovo[j], ,tip_[j]);(fout,);writeln(fout,Derevo vivoda:);:=;j:=1 to 20 doa_[j]:=;t[j]:=;tt[j]:=;e[j]:=;end;:=1;j:=1 to n do((s[j]= ,tmp);

:=1;a:=1;bb:=0;aa:=3;:[b]:=length(t[b]);(nn[b]>0)theni:=nn[b] downto 1 do((t[b][i]=+)or(t[b][i]=-))begin(t[b][i-1]()theng:=i+1 to nn[b] do[a]:=e[a]+tt[b][g];:=aa+1;[aa]:=tt[b][i];g:=1 to i-1 do[b+1]:=tt[b+1]+tt[b][g];:=1;break;;end;;_tmp:=length(tmp);g:=dl_tmp downto 1 do(tmp[g]=T)thenk:=g;break;end;(tmp,k,1);(bb=0)then begin insert(E,tmp,k);e[a]:=tt[b];write(fout,tmp);bb:=0;endbegin

tmp_:=T+term[aa]+E;insert(tmp_,tmp,k);write(fout,tmp);bb:=0;end;:=a+1;;

g:=1 to length(e[ii]) do((e[ii][g]=*)or(e[ii][g]=/))begini:=1 to g-1 do_[1]:=a_[1]+e[ii][i];_[1]:=e[ii][g];i:=g+1 to length(e[ii]) do_[2]:=a_[2]+e[ii][i];:=1;break;;;g:=1 to length(tmp) do(tmp[g]=E) thendelete(tmp,g,1);break;end;(bb=0)then begin(a,tmp,g);bb:=0;begin_:=a+term_[1]+a;(tmp_,tmp,g);bb:=0;;:=ii+1;g:=1 to length(e[ii]) do((e[ii][g]=*)or(e[ii][g]=/))begini:=1 to g-1 do_[1]:=a_[1]+e[ii][i];_[1]:=e[ii][g];i:=g+1 to length(e[ii]) do_[2]:=a_[2]+e[ii][i];:=1;break;;;g:=1 to length(tmp) do(tmp[g]=E) thendelete(tmp,g,1);break;end;(bb=0)then begin(a,tmp,g);bb:=0;begin_:=a+term_[1]+a;(tmp_,tmp,g);bb:=0;;:=0;ii:=ii+1;;

((length(t[b])>0)or(length(tt[b])>0))b:=b+1;goto TX;end;g:=length(tmp) downto 1 do(tmp[g]=>)then begin delete(tmp,g-1,10);break;end;;(fout,tmp,-> ,s);

(fout);:if(j=1)writeln(Leksicheskaya oshibka!);(j=2)readln;..

 

Вывод

 

При выполнении лабораторной работы изучили основные понятия теории грамматик простого и операторного предшествования, ознакомились с алгоритмами синтаксического анализа для некоторых классов КС-грамматик, получили практические навыки создания простейшего синтаксического анализатора для заданной грамматики операторного предшествия.

Написали программу, которая выполняет лексический анализ входного текста в соответствии с заданием, порождает таблицу лексем и выполняет синтаксический разбор текста по заданной грамматике с построением дерева разбора. Текст задаётся в виде текстового файла.