Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТАФЯ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
350.45 Кб
Скачать

Теория автоматов и формальных языков (бакалавриат и спец.)

Лекция 1. Лексический анализатор.

2) Лексический анализатор. Назначение, способы реализации. Первая часть транслятора. Описание лексики применительно к реализации транслирующих средств. В каких случаях при реализации транслирующих средств без него можно обойтись.

Вход, выход (на входе тексты на исходном проблемно-ориентированном языке; на выходе – лексемы). Анализирующая и генерирующая части (анализирующая часть – проверка всех лексических ошибок; генерирующая часть – формирование лексем). Избавление входного текста от комментария. Необходимость перехода от смешенного буквенно-цифрового исходного текста к однородной цифровой информации. Неудобство работы со словами разной длины. Лексемы. Два правила лексемы: одинаковая длина и однородная цифровая информация.

текст на входном языке

Лексический анализатор

набор лексемм

Лексема может, например, состоять из двух байтов. Первая часть лексемы показывает «Тип» данной части текста, например:

Тип Содержание

1 – служебное слово;

2 – целое число

3 – специальный символ и т.д.

Во второй части лексемы «Содержание», например, если это служебное слово, то 1 - “Begin”, 2 - “End” и т.п.

Лексические ошибки: четыре наиболее распространенные (неправильная буква в слове, отсутствует одна буква, одна лишняя буква, две рядом стоящие буквы переставлены в тексте. Возможность их исправления.

Лекция 2. Синтаксический анализатор.

1) Синтаксический анализатор. Назначение, способы реализации. Вход и выход (на входе – лексемы; на выходе – промежуточные таблицы). Анализирующая и генерирующая части (анализирующая часть проверяет все синтаксические ошибки; генерирующая часть – строит промежуточные таблицы). Обоснование максимального использования ветви ИНАЧЕ в качестве ошибочной.

набор лексемм

Синтаксический анализатор

промежуточные таблицы

2) Синтаксически-управляемый перевод. Примеры (соответствий блок-схем исходным предложениям БНФ). Соответствие числа предложений БНФ числу б/с и, соответственно, предопределение структуры транслятора видом описания проблемно-ориентированного входного языка программирования, заданного предложениями БНФ. Контекстно-свободные грамматики. Контекстные ограничения.

Пример:

Язык = “Начало” Множества Операторы “Конец”

Множества = Множ “;” . . . Множ.

Операторы = Опер . . . Опер

Язык Множества Операторы

Вход

Вход

Вход

Начало

Мно-жества

Опер

Множ

Опера-

раторы