Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Metodicheskie_ukazania

.pdf
Скачиваний:
7
Добавлен:
02.04.2015
Размер:
424.35 Кб
Скачать

21

три подряд пришедших символа «с».

6) Произвольная цепочка из «0» и «1» между «/*» и «*/»; произвольная цепочка символов «0» и «1», заканчивающаяся тремя символа-

ми «0»; символ «*».

7)Произвольная цепочка из «0» и «1», после которой следует «.»; цепочка четной длины из «0» и «1» между двумя символами «.»; два символа «.».

8)Цепочка четной длины из «0» между двумя «1»;

цепочка нечетной длины из «1» между двумя «0»; две «1» подряд.

9) «1» между двумя цепочками из «0»,четной длины каждая; «0» между двумя цепочками из «1»,четной длины каждая.

10) Произвольная цепочка из «0» и «1», заканчивающаяся на «101»; цепочка чередующихся «0» и «1» нечетной длины, за которой следует «.».

2.2. Программирование алгоритмов разбора на основе LL(1)- грамматик

1.Проверить, обладает ли заданная грамматика свойством LL(1), и при необходимости, выполнить ее преобразование к этому виду.

2.Построить для полученной в п.1 грамматики LL(1)-таблицу разбора. 3.Разработать программную реализацию синтаксического анализатора на

основе полученной LL(1)-грамматики и соответствующей таблицы разбора. Результат анализа представить в виде последовательности номеров правил грамматики, примененных в процессе разбора.

 

Варианты задания

 

1.

2.

3.

G::=E

O::=p|E

P::=bDfLe

E::=AT

E::=YB

D::=dcD|d

A::=E+|B

Y::=YStBe|

L::=scL|s

T::=MP

S::=iv

 

M::=T*|B

B::=p

P - аксиома

P::=x|y|(E)

 

 

B::=

O - аксиома

 

G - аксиома

 

 

4.

5.

6.

D::=(L)M

S::=caA

S::=aA|bB

L::=a,L|D,L|a|D

A::=(L)|

A::=0A1|01

M::=i|j

L::=e,L|e

B::=0B11|011

D - аксиома

S - аксиома

S - аксиома

21

22

7.

8.

9.

S::=t(L)

S::=aAd|aBc

S::=A|D

L::=E|E;L

A::=bA|b

A::=ab|ac|Ab

F::=a|a,F

B::=Bf|f

D::=cD|a

E::=iF

 

 

S - аксиома

S - аксиома

S - аксиома

10.

 

 

A::=B|D

 

 

B::=BCC|a

 

 

C::=ba

 

 

D::=CaD|b

 

 

A - аксиома

 

 

2.3. Нейтрализация ошибок при синтаксическом разборе

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

2.4. Схемы синтаксически-управляемого перевода

Разработать программную реализацию заданной схемы синтаксическиуправляемого перевода, воспользовавшись для анализа входного предложения одним из алгоритмов восходящего разбора в соответствии с вариантом задания.

Варианты задания

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

Таблица вариантов задания

Nвар.

1

2

3

4

5

6

7

8

9

10

Код

11

12

21

22

31

32

41

42

51

52

Схемы синтаксически-управляемого перевода

1.

S::=Sa,aSa

S::=Sb,bSb

S::=c,c

22

23

2.

E::=+Ea,Ea+

E::=*Ea,Ea*

E::=a,a

3.

E::=T&E,TE&

E::=T,T

T::=a,a

T::=-a,a-

T::=(E),E

T::=-(E),E-

Е = аксиома

4.

S::=aSbSc,1S2S3

S::=d,4

S::=e,5

5.

S::=S1,11S

S::=S0,00S

S::=+,*

2.5..Содержание отчета

1)Постановка задачи

2)Грамматика, по которой строится автоматная модель

3)Автоматная модель в виде графа переходов и выходов или управляющей таблицы

4)Текст программы

5)Описание тестовых примеров

Библиографический список

1.Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т.1. Синтаксический анализ. М.: Мир, 1978. - 612c.

2.Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т.2.Компиляция. М.: Мир, 1978. - 612c.

3.Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инстру-

менты. - М.: «Вильямс», 2003. – 768с.

4.Гордеев А.В., Молчанов А.Ю.. Системное программное обеспечение. – СПб.: «Питер», 2001. – 736с.

5.Грис Д. Конструирование компиляторов для ЦВМ. - М.: Мир, 1975.- 544с. 7.Р.Миллер. Теория переключательных схем. Т.1. - М.: Наука. Главная редакция физико-математической литературы, 1970. -416c.

8.Хантер Р. Основные концепции компиляторов. – М.: «Вильямс», 2002. –256с.

23

 

24

9. Хантер Р. Проектирование и конструирование компиляторов. - М.: Финансы

и статистика, 1984. - 232с.

 

Содержание

 

1.Теоретическое введение ...........................................................................................

3

1.1. Задача лексического анализа. Использование автоматной модели для

 

лексического анализа ...............................................................................................

3

1.2. Алгоритмы синтаксического анализа с использованием КС-грамматик.....

6

1.2.1.Постановка задачи синтаксического анализа. Организация данных.

 

Общая схема алгоритмов детерминированного разбора ......................................

6

1.2.2. Cинтаксический анализ для LL(1)-грамматики...........................................

8

1.2.3. Синтаксический анализ для LR(1)-грамматики ........................................

12

1.2.4. Синтаксический анализ для грамматики простого предшествования ....

15

1.2.5. Нейтрализация ошибок при LL(1)- разборе...............................................

18

1.2.6. Синтаксически-управляемый перевод........................................................

19

2. Задания на лабораторные работы.........................................................................

20

2.1. Программирование алгоритмов лексического анализа с использованием

 

автоматных грамматик...........................................................................................

20

2.2. Программирование алгоритмов разбора на основе LL(1)-грамматик........

21

2.3. Нейтрализация ошибок при синтаксическом разборе .................................

22

2.4. Схемы синтаксически-управляемого перевода ............................................

22

2.5..Содержание отчета ..........................................................................................

23

Библиографический список ......................................................................................

23

Содержание ................................................................................................................

24

24

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]