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

UptoLike

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

- 31 -
label, в Си метки не объявляются. Использование меток (go to,
арифметический if в Фортране) и помеченные операторы должны соот-
ветствовать друг другу.
Константы во многих языках программирования могут быть объ-
явлены с присвоением идентификатора (const) или использоваться
непосредственно. В любом случае необходимо отличать константы от
меток или спецификаций ввода/вывода. Специальный вид констант -
атомы Пролога - необходимо отличать от предикатов, констант, до-
менов, учитывая, что атомы встречаются в двух контекстах: как ар-
гументы предиката и операнды выражения.
Использование операций также нередко связано с контекстом.
Символы операций :,+,-,/,*,% - встречаются в операторах (коммен-
тарии, :=,..), спецификациях ввода/вывода (%), обозначениях конс-
тант (/n, /t...).
Для предикатов Пролога, макросов ассемблера, объявлений, оп-
ределений и вызовов функций и процедур необходимо соответствие
аргументов объявлений, определений и вызовов.
Порядок проектирования этапа :
1. Проанализировать контекст заданных лексем. Опредетить типы
контекстных условий. Описать программную грамматику.
2. Для выделенных контекстных условий предложить процедуру про-
верки.
3. Модифицировать лексический сканер для обработки контекстных
условий. Программа должна быть иллюстративной, т.е. осущест-
влять проверку контекстных условий для фрагментов программ,
заданных в диалоговом режиме.
4. Ответить на контрольные вопросы.
Содеpжание этапа проектирования:
1. Описание программной гамматики.
2. Спецификации процедуры проверки контекстных условий.
3. Результаты работы программы.