1. Молчанов А.Ю. Системное программное обеспечение. Лабораторный практикум. – СПб.: Питер, 2005 – 284 с.
2. Молчанов А.Ю. Системное программное обеспечение: Учебник для вузов. 3-е изд. — СПб.: Питер, 2010 — 400 с.
3. Свердлов С.З. Языки программирования и методы трансляции: учеб. пособие. — СПб.: Питер, 2007 — 400 с.
4. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение – СПб.: Питер, 2001 (2002) - 736 с.
5. Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструменты: Пер. с англ. — М.: Издательский дом «Вильямс», 2003 — 768 с.
6. Робин Хантер Основные концепции компиляторов – М.: Издательский дом «Вильямс», 2002 – 256 с.
7. Бржезовский А.В., Корсакова Н.В., Фильчаков В.В. Лексический и синтаксический анализ. Формальные языки и грамматики - Л.: ЛИАП, 1990.
8. Льюис Ф. и др. Теоретические основы построения компиляторов - М.: Мир, 1979.
9. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции - М.: Мир, 1978, т.1.
Лабораторная работа №3.
Тема: Построение синтаксического анализатора
Цель работы:
Научиться создавать на основе правил грамматики синтаксические графы.
Задание:
Построить синтаксическую конструкцию внутреннего представления данных
Построение синтаксического графа
Написать подпрограмму синтаксического анализатора
*** индивидуальные задания от 2 лабораторной работы
Пример.
А::=х| (B),
B::=AC
C::={+A}*
Здесь “+”, “x”,”(“ ва “)” – терминальные символы, а { и } являются метасимволами. Язык порождаемый из А , состоит из выражений с операндами х , знаком операции “+” и скобками.
Примеры предложений.
х (х) (х+х) ((х))
Графы полученные с помощью применения шести правил построения графов показаны на след. рисунке.
Эту систему можно свести в один граф, подставив соответственно С в В и В в А.
А1. Каждый нетерминальный символ А с соответствующим множеством порождающих правил А::=b1|b 2| ….|b n отображается в синтаксический граф А , структура которого определяется правой частью порождающего правила в соответствии с А2-А6.
А2. Каждое появление терминального символа х в bi соответствует оператору распознавания этого символда во входном предложении. На графе это изображается ребром.помеченном символом х .заключеннқм в кружок или овал:
А3. Каждому появлению нетерминального символа B в bi соответствует обращение к процедуре распознавания В. На графе это изображается ребром. Помеченным символом В.заключенным в прямоугольник:
А4: Порождающее правило, имеющее вид А::=b1| b2| ….|b n отображается в граф, где каждое bi получено применением правил А2-А6:
А5: Строка b, имеющая вид b=а1,а2 ,…,а m отображается в граф
А6: Строка b, имеющая вид b={}* отображается в граф
Do'stlaringiz bilan baham: |