Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Упражнения к первой главе




1.1. Дайте определение грамматике. Перечислите классы грамматик по Хомскому и дайте их определения. Как определить, содержит ли язык, порождаемый грамматикой, бесконечное число цепочек?

1.2. Что общего в А- и КС- грамматиках? Какие грамматики являются частным случаем других грамматик?

1.3. Постройте КС- и А- грамматики для цепочек вида x n y m z k, где n,k > 0 и m ³ 0. Покажите деревья вывода цепочк xxxyyz, xxzzz и xyz по полученной КС-грамматике.

1.4. Приведите граф состояний для A-грамматики из упр. 1.3. Введите признак конца цепочки, например символ “;”, и преобразуйте граф к детерминированной форме. Напишите программу синтаксического анализа цепочек x n y m z k, в качестве семантики подсчитайте количество x, y и z.

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

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

1.7. Постройте КС-грамматику, детерминированную А-грамматику и граф состояний для языка индексов ФОРТРАНа. При построении грамматики терминалами считать { a b c ...y z 0 1 2...8 9 ( ) + - * }. Индексы ФОРТРАНа - это ограниченное арифметическое выражение, заключенное в круглые скобки. Ниже перечислены все возможные варианты этих индексов: (И) (К) (К*И) (И+К) (И-К) (К*И+К) (К*И-К), где И - идентификатор, а К - целая константа без знака.

1.8. Напишите процедуру анализа идентификатора с предупреждением в случае, когда количество символов в нем больше шести; процедуру анализа целой константы без знака с преобразованием символьного представления в число и предупреждением о переполнении (максимальное значение - 65535). Используя эти процедуры, напишите по А-грамматике программу анализа индексов ФОРТРАНа из упражнения 1.7.

1.9. Постройте КС - грамматики для цепочек ( n > 0, m ³ 0 )

(а) x n y n z m,

(б) x m y n z n,

(в) x n y m z n.

1.10. Постройте КС - грамматики для следующих цепочек в бинарном алфавите (S={0,1}, n, m > 0):

(a) 0 n 1 m 0 m 1 n;

(б) aaaR, где a - любая цепочка из нулей и единиц, а aR- обращение (сим­мет­рич­ный поворот) цепочки a;

(в) 0 n 1 2n+3;

(г) всех цепочек, содержащих равное количество нулей и единиц;

(д) всех цепочек, содержащих равное количество нулей и единиц и такие, у которых количество нулей в каждой левой подцепочке не меньше чем единиц;

(е) 1n0m1p, где n+p>m>0.

1.11.Опишите языки, порождаемые следующими грамматиками с начальным нетерминалом S:

(a) S ® 10S0 S ® aA

A ® bA A ® a

(б) S ® SS S ® 1A0

A ® 1A0 A ® e

(в) S ® 1A S ® B0

A ® 1A A ® C

B ® B0 B ® C

C ® 1C0 C ® e

(г) S ® aSS S ® a

(д) S ® bADc D ® Gl

A ® aGs G ® e .

1.12. Какие из приведенных ниже цепочек можно вывести в данной грамматике? В каждом случае постройте левый вывод, правый вывод и дерево вывода.

S ® aAcB S ® BdS

B ® aScA B ® cAB

A ® BaB A ® aBc

A ® a B ® b

(a) aacb

(б) aaacbdaacb

(в) aabcbd

(г) acabaaaacbcacb

(д) aaaaacbcacccab .

1.13.(а) Найдите КС-грамматику для логических выражений, составленных из логических переменных, констант, скобок и знаков операций отрицания (Ø), дизъюнкции (Ú) и конъюнкции (Ù). Приоритеты обычные: Ø выполняется перед Ù, а Ù - перед Ú.

(б) Добавьте к указанному языку первичные логические выражения, каждое из которых представляет собой арифметическое выражение, за которым следует знак отношения ( >, ³, =, ¹, <, £) и еще одно арифметическое выражение, и постройте соответствующую грамматику.

1.14. Постройте КС-грамматику оператора FORMAT языка ФОРТРАН, ограничиваясь форматами A, X, I, F. Примеры правильных цепочек:

10 FORMAT(I5)

100 FORMAT (X10,A5,3A4,I6,4(I3,X2,5(F8.3,X4,3A2,I6),X2,2(3A3,I4)),I7)


Поделиться:

Дата добавления: 2014-11-13; просмотров: 145; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты