Книга: Системное программное обеспечение. Лабораторный практикум
Листинг П3.8. Описание допустимых типов триад
Листинг П3.8. Описание допустимых типов триад
unit TrdType; {!!! Зависит от входного языка!!!}
interface
{ Модуль для описания допустимых типов триад }
const { Имена предопределенных функций и переменных }
NAME_PROG = 'MyCurs';
NAME_INPVAR = 'InpVar';
NAME_RESULT = 'Result';
NAME_FUNCT = 'CompileTest';
NAME_TYPE = 'integer';
type { Типы триад, соответствующие типам допустимых
операций, а также три дополнительных типа триад:
– CONST – для алгоритма свертки объектного кода;
– SAME – для алгоритма исключения лишних операций;
– NOP (No OPerations) – для ссылок на конец списка триад. }
TTriadType = (TRD_IF,TRD_OR,TRD_XOR,TRD_AND,TRD_NOT,
TRD_LT,TRD_GT,TRD_EQ,TRD_NEQ,TRD_ADD,TRD_SUB,TRD_UMIN,
TRD_ASSIGN,TRD_JMP,TRD_CONST,TRD_SAME,TRD_NOP);
{Массив строковых обозначений триад для вывода их на экран}
TTriadStr = array[TTriadType] of string;
const TriadStr: TTriadStr =('if','or','xor','and','not',
'<, >, =, <>, +, -, -,
':=,'jmp','C','same','nop');
{ Множество триад, которые являются линейными операциями }
TriadLineSet: set of TTriadType =
[TRD_OR, TRD_XOR, TRD_AND, TRD_NOT, TRD_ADD, TRD_SUB,
TRD_LT, TRD_GT, TRD_EQ, TRD_NEQ, TRD_UMIN];
implementation
end.
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- Использование типов содержимого и столбцов
- Листинг 15.11. Код для загрузки файла с Web-сервера
- 5.3 Классификация типов резервного копирования
- 2.7 Преобразования типов
- Описание работы МП
- Описание разъемов МП
- Описание программы настройки BIOS
- Описание работы ЦПУ
- Описание типов модулей оперативной памяти
- Описание работы накопителя на жестком магнитном диске
- Описание работы CD-DVD-приводов