Конструирование трансляторов для языков программирования высокого уровня. Ярушкина Н.Г. - 4 стр.

UptoLike

Составители: 

- 5 -
ЭТАП ПРОЕКТИРОВАНИЯ N 1
Изучение блока лексического анализа тpанслятоpов
языков пpогpаммиpования
Цель этапа проектирования:
Изучить методы постpоения лексических сканеpов, модели лек-
сического анализа на основе конечных автоматов и фоpмальных гpам-
матик, pазpаботать лексический сканеp-анализатоp в соответствии с
заданием.
Теоретическая часть:
Функции лексического анализатора
Лексический анализатор выполняет следующие функции:
1. посимвольное чтение или сканирование текста программы;
2. поиск отдельных лексем в тексте программы и соотнесение
их с классами лексем языка программирования;
3. кодирование выявленных лексем;
4. заполнение вспомогательных таблиц для последующих этапов
трансляции.
В современных языках программирования выделяют следующие
классы лексем:
- идентификаторы
- константы
- ключевые слова операторов
- знаки операций
- метки
- наименования абстрактных типов данных
- имена процедур и функций (или внешние ссылки)
- служебные лексемы
В языках высокого уровня первого поколения (PL/1, Фортран)
отсутствуют абстрактные типы данных, в новейших объектно-ориенти-
рованных языках (С++, Smalltalk, Algol-68) имеются новые классы
лексем - имена объектов, классов, определяемых операций. Практи-
чески каждый язык программирования содержит специфические классы
лексем: ассемблеры - макросы; пролог - атомы, предикаты; Клиппер
- имена баз данных, рабочих областей и т.д.