$subject = 'Проектирование трансляторов';
include '../utils.php';
printHeader("$subject - Дисциплины - Вега");
?>
print $subject; ?>
Содержание дисциплины
- Классификация и структура трансляторов.
- Алфавит. Операции над символами алфавита. Определение грамматики.
- Отношения и их свойства. Матрицы отношений и их построение. Отношения FIRST, LAST и их транзитивных замыканий.
- Основные определения курса. Сентенциальная форма и предложение. Вывод и непосредственный вывод. Фраза, простая фраза, основа. Язык.
- Синтаксические деревья. Неоднозначности: лексическая, синтаксическая, семантическая, грамматики, языка.
- Классификация грамматик по Хомскому.
- Операторы. Ассоциативность и приоритет.
- Разбор и распознаватель. Определение и виды разбора: лексический и синтаксический, нисходящий и восходящий.
- Лексический анализ. Сканер. Символ и лексема. Регулярные грамматики и регулярные выражения. Конечные автоматы.
- Синтаксический анализ. Классификация анализаторов. Предикативный анализ и разбор с возвратами. Нисходящий рекурсивный распознаватель.
- Семантический анализ. Атрибуты и атрибутивные грамматики. Восстановление после ошибок.
- Грамматики предшествования и грамматики предшествования операторов.
- LL(k)-грамматики. Множества FIRST и FOLLOW. Определение принадлежности грамматики LL(k) классу. Принцип работы и построение LL(k)-распознавателя.
- LR(k)-грамматики. Перенос и свертка. LR(k)-распознаватели. Принцип работы и построение SLR(1)-распознавателя. Разрешение конфликтов LR-анализа.
- Временная сложность и затраты памяти распознавателей. Распознаватели КЯК, Эрли, Ульмана, Томита, ЯНРОВ.
- Организация таблицы символов. Таблицы символов, имеющие блочную структуру. Таблица видов. Организация таблицы видов. Описатели.
- Формы записи внутреннего представления кода. Инфиксная и обратная польская запись операций. Деревья.
- Средства разработки трансляторов. Их классификации и основные представители.
- Построитель анализаторов FLEX (LEX).
- Построитель анализаторов BISON (YACC).
- Построитель анализаторов ANTLR.
- Грамматики TAG, PEG, TDPL. Построение компилятора.
Рекомендуемая литература
Основная литература
- Грис Д. Конструирование компиляторов для ЦВМ. – М.: Мир, 1975.
- Ахо А. и др. Компиляторы: принципы, технологии инструменты. - 2-е изд. – М.: Вильямс, 2008.
Дополнительная литература
- Молчанов А. Ю. Системное программное обеспечение. Лабораторный практикум. – СПб.: Питер Принт, 2005.
- Parr Terence. The Definitive ANTLR Reference: Building Domain-Specific Languages. – USA, North Carolina, Raleigh, 2007.
Интернет-ресурсы
- Формальные языки // Wikipedia.org. - URL: http://ru.wikipedia.org/wiki/Категория:Формальные языки.
- Средства проектирования и разработки трансляторов. - URL:
http://catalog.compilertools.net/.
printFooter(); ?>