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

UptoLike

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

- 11 -
При разработке варианта задания необходимо учитывать следующее:
1) При работе с лексемой ИМЯ ТИПА следует учесть как наличие
операторов определения типа (type - Паскаль; struct, union - Си)
и его использования (var - Пскаль; декларации - Си), так и воз-
можность ссылки в структурах на саму определяемую структуру:
struct link { char *name;
struct link *next;}
2) В вариантах задания, обрабатывающих ИМЯ ПЕРЕМЕННОЙ, сво-
еобразие вносит язык программирования.
В Паскале и Си переменные должны быть обязательно объявлены,
причем, либо со встроенным, либо с пользовательским типом.
В Клиппере имена переменных могут не декларироваться заранее
их тип распознается из контекста; глобальные же имена и массивы
декларируюся обязательно (PUBLIC, DECLАRE).
Имя переменной Пролога начинается либо с большой буквы, либо
с символа подчеркивание (_).
Имена переменных в макроассемблере - эт о имена областей па-
мяти в сегменте данных (db,dw,dd).
В Фортране кроме операторов явного объявления типов и масси-
вов имеется оператор неявного объявления IMPLICIT. Кроме этого
имена, начинающиеся с I,J,K,L,M,N, по умолчанию относятся к цело-
му типу и не требуют декларирования.
3) При обработке КОНСТАНТ должны учитываться возможность
объявления констант (const - в Паскале и Си), а также их типы
(символьные, логические и пр.).
4) При обработке МЕТОК - возможность объявления меток (label
в Паскале) и их разнообразного использования (goto <метка> или
арифметический IF в Фортране).
5) При обработке КЛЮЧЕВЫХ СЛОВ и ОПЕРАЦИЙ необходимо
учиты-
вать контекст, так как знаки операций могут использоваться в язы-
ках различно. Например, * - знак умножения и участвует в выделе-
нии комментариев (/*).
6) В вариантах задания, связанных с обработкой ФУНКЦИЙ и
ПРОЦЕДУР, следует обратить внимание как на декларации функций,
так и на их определения и вызовы.
Вызов в разных язках осуществляется по-разному: либо с по-
мощью имени функции, либо специальным оператором (do - Клиппер).