3.3. Результаты
Программа проводит
синтаксический анализ последовательного
набора лексем, поступающего от лексического
анализатора, на основе правил остовной
грамматики. Результатом ее работы
является дерево синтаксического разбора.
В случае ошибки на экране появляется
сообщение об ошибке.
На вход подается
следующий текстовый файл:
prog
while
( df > 0 ) do begin {
ddd
}
if
( vxb > 0 ) and ( a = b ) then begin
c
:= nb / 0110 + 101 ;
d
:= 10110 ;
end
else
c := 1011 endif
end
end.prog
if
(p=0110b) then begin y := h; end
endif;
{komment }
for
k:=0011b to u do k:=k+00101b;
end.
Результат работы
синтаксического анализатора представлены
на рис. 7.
Рис. 7. Результат построения дерева
разбора
На вход подается
следующий текстовый файл:
prog
while
( df > 0 ) do begin
if
( vxb > 0 ) and ( a = b ) then begin
c
:= nb / 0110 + 101 ;
d
:= 10110 ; )
end
else
c := 1011 endif
end
end.prog
if
(p=0110b) then begin y := h; end
endif;
{komment }
for
k:=0011b to u do k:=k+00101b;
begin
end.
Результат работы
синтаксического анализатора при подаче
на вход анализатора ошибочных конструкций
представлен на рис. 8.
Рис. 8. Результат построения дерева
разбора при подаче на вход анализатора
ошибочных конструкций
Заключение
В процессе выполнения
курсовой работы было разработано
приложение, реализующее отдельные фазы
компиляции заданного языка. Для разработки
приложения использовалась среда
программной разработки Borland
Delphi
7.
Список использованной литературы
1. Системное
программное обеспечение: Учебник для
вузов/ А.Ю. Молчанов- СПб.: Питер, 2003.- 396
с.
2. Системное
программное обеспечение. Лабораторный
практикум/ А.Ю. Молчанов- СПб.: Питер,
2005.- 284 с.