Министерство Образования и Науки Российской Федерации
Федеральное Агентство по Образованию
Государственное Образовательное Учреждение
Высшего Профессионального Образования
Новосибирский Государственный Технический Университет
Кафедра Вычислительной Техники
Пояснительная записка к курсовой работе
по дисциплине «Системное программное обеспечение»
Факультет: АВТ Преподаватель:
Группа: АМ-710 Малявко А.А.
Вариант: 3243311
Студент: Беззубов М.С.
Новосибирск, 2010
Содержание
1. Цель работы.. 3
2. Задание. 3
2.1. Содержание работы.. 3
2.2. Краткое описание учебного языка, варианты заданий. 4
3. Описание заданного варианта языка.. 6
4. Пример тестовой программы.. 7
5. Правила лексики.. 8
6. Формальная грамматика.. 10
7. Фрагменты управляющих таблиц.. 14
8. Разработка лексического и синтаксического анализаторов.. 15
9. Результаты проверки тестовой программы.. 17
10. Заключение. 18
11. Литература.. 19
· Практическое применение теоретических основ проектирования трансляторов с языков программирования.
· Освоение средств автоматизации построения трансляторов.
· Разработка элементов транслятора для учебного языка.
· Разработать словесное описание лексики, синтаксиса и семантики заданного варианта языка. Написать простую тестовую программу (программы), содержащую все заданные элементы и конструкции языка. Вручную выполнить интерпретацию программы. Эту программу (программы) использовать впоследствии для проверки элементов разрабатываемого транслятора.
· Разработать систему регулярных выражений, определяющую лексику заданного варианта языка. Используя пакет WebTransLab, построить автоматную реализацию лексического акцептора. Убедиться в работоспособности акцептора.
· Разработать совокупность действий, т.е. расширение системы регулярных выражений, реализующую:
- поиск в таблицах идентификаторов / констант и пополнение таблиц;
- формирование лексем,
и построить лексический анализатор. Проверить его работоспособность.
· Разработать формальную грамматику класса LL(1), определяющую синтаксис заданного языка. Используя пакет WebTransLab, построить автоматную реализацию нисходящего синтаксического акцептора, проверить его работоспособность.
· Разработать формальную грамматику класса не выше, чем LALR(1). Используя пакет WebTransLab, построить автоматную реализацию восходящего синтаксического акцептора, проверить его работоспособность.
· Разработать расширение синтаксического акцептора (по собственному выбору – нисходящего или восходящего) для преобразования последовательности лексем в постфиксную запись.
· Разработать семантический анализатор и преобразователь ПФЗ в последовательность тетрад (или триад).
· Разработать интерпретатор последовательности тетрад (или триад).
· Оформить расчетно-пояснительную записку следующего содержания:
o Данное задание; Оглавление; Введение; Описание заданного варианта языка;
o По каждому из пунктов 2, 4, 5:
o система регулярных выражений (п.2 ) или формальная грамматика ( п.п. 4,5 );
o фрагменты управляющих таблиц конечных автоматов, построенные WebTransLab’ом. Пояснить содержание фрагментов, приведенных в записке.
o примеры результатов работы автоматов с тестовыми примерами; объяснение и анализ этих результатов.
o По каждому из пунктов 3, 6, 7, 8:
o полное описание алгоритма, тексты разработанных программ (выборочно по усмотрению студента; не требуется включать в записку тексты всех программ).
o примеры результатов работы компонент транслятора с правильными и ошибочными входными программами; объяснение и анализ этих результатов.
o Заключение.
Объем записки не должен превышать 20-30 страниц.
Лексика, синтаксис и семантика учебного языка основаны на языках типа Java и C#. Любые конструкции, не оговоренные явно в задании, можно заимствовать из этих языков или определять самостоятельно.
Ключевые слова (выделены жирным шрифтом, например: число, строка, данные …) должны быть нечувствительны к регистру.
Обозначения:
[] |
Необязательная часть |
… |
часть, повторяющаяся произвольное количество раз |
< > |
описание конструкции |
<Б> |
буква |
<Ц> |
цифра |
<пБ> |
последовательность букв |
<пЦ> |
последовательность цифр |
<пБЦ> |
последовательность букв и/или цифр или пусто |
<И> |
<имя объекта> |
<В> |
<выражение> |
<ЛВ> |
<ЛогическоеВыражение> |
<О> |
< одиночный оператор > |
<ОБ> |
<ОператорИлиБлок> |
<К> |
<константа> |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.