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

Уфимский Государственный Авиационный Технический Университет

кафедра ТК

Лабораторная работа №3

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

Выполнил

студент гр. T28-421

Проверил

ассистент кафедры ТК

Пузырникова Е.А.

Уфа 2006

Задание

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

Для выполнения лабораторной работы требуется написать программу, которая выполняет лексический анализ входного текста в соответствии с заданием, порождает таблицу лексем и выполняет синтаксический разбор текста по заданной грамматике с построением дерева разбора. Текст на входном языке задается в виде символьного (текстового) файла. Допускается исходить из условия, что текст содержат не более одного предложения входного языка. Программа должна выдавать сообщения о наличие во входном тексте ошибок.

a:=F;

F®F+T|TT®T*E|T/E|EE® (F)|-(F)|a

 

варианта

варианта грамматики

Допустимые лексемы входного языка

9

1

Идентификаторы, шестнадцатеричные числа

Множества левых и правых символов

L(U)

R(U)

S

a

;

F

F, T

T

T

T, E

E

E

(, – , a

), a

L(U)

R(U)

S

a

;

F

F, T, E

T, E

T

T, E, (, –, a

E, ), a

E

(, – , a

), a


L(U)

R(U)

S

a

;

F

F, T, E, (, –, a

T, E, ), a

T

T, E, (, –, a

E, ), a

E

(, – , a

), a


Lt (U)

Rt (U)

S

a

;

F

+

+

T

*, /

*, /

E

(, – , a

), a

Lt (U)

Rt (U)

S

a

;

F

+, *, /, (, -, a

+,*, /, ), a

T

*, /, (, -, a

*, /, ), a

E

(, – , a

), a


Множества левых и правых терминальных символов для грамматики

Матрица операторного предшествования

a

:=

;

+

*

/

(

)

-

к

a

=.

.>

.>

.>

.>

.>

:=

<.

=.

<.

<.

<.

<.

<.

;

<.

+

<.

.>

.>

<.

<.

<.

.>

<.

*

<.

.>

.>

<.

.>

<.

.>

<.

/

<.

.>

.>

<.

.>

<.

.>

<.

(

<.

<.

<.

<.

<.

=.

<.

)

.>

.>

.>

.>

.>

-

=.

н

<.