Лекция: Приложение 2. Список подпрограмм компилятора С0
(по алфавиту)
| Номер строки | Имя | Назначение | Вызываемые модули |
| adrper | Формирование адреса переменной. | ||
| chleks | Чтение очередной лексемы и присваивание ее значения переменной leksema. | chsim, oshibka | |
| chsim | Чтение символа (для подпрограммы chleks). | ||
| gen_kom | Генерация команды (с удалением PUSH AX, POP AX). | ||
| kodret | Генерация кода оператора return. | gen_kom | |
| main | Трансляция конструкции “программа”. | chleks, gen_kom, opisper, oprfun, oshibka, test | |
| operac | Компиляция / интерпретация операции выражения. | gen_kom, oshibka, zopreg | |
| operatr | Трансляция конструкции “оператор”. | chleks, gen_kom, kodret, operatr, oshibka, poslop, test, virag | |
| opisper | Трансляция конструкции “описание-переменных”. | chleks, oshibka, pozic, test, vkluch | |
| oprfun | Трансляция конструкции “описание (определение) функции”. | chleks, gen_kom, opisper, oshibka, poslop, pozic, vkluch | |
| oshibka | Генерация сообщения о типе и позиции ошибки. | ||
| poslop | Трансляция последовательности операторов вида “[оператор] …}”. | chleks, operatr, test | |
| pozic | Поиск позиции (индекса) имени в таблице имен. | ||
| test | Проверка лексемы. В случае ошибки – выдача сообщения и пропуск части текста программы. | chleks, oshibka | |
| virag | Трансляция выражения (определение порядка операций). | chleks, gen_kom, operac, oshibka, pozic, test, vitsk, vkluch, zopreg | |
| vitsk | Выталкивание из стека скобки “(” или “имя (“. | gen_kom, oshibka | |
| vkluch | Включение имени в таблицу имен. | oshibka | |
| zopreg (z,t,r) | Генерация кода загрузки в регистр r операнда z типа t. | gen_kom, oshibka |