Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания к курсовой работе СПО.rtf
Скачиваний:
1
Добавлен:
13.07.2019
Размер:
152.32 Кб
Скачать

Литература

1. Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструменты: Пер. с англ. - М.: Издательский дом "Вильямс", 2003. - 768 с.

2. Молчанов А.Ю. Системное программное обеспечение: Учебник для вузов. - СПб.: Питер, 2003. - 396 с.

3. Молчанов А.Ю. Системное программное обеспечение. Лабораторный практикум. - СПб.: Питер, 2005. - 284 с.

4. Хохлов Д.Г. Системное программное обеспечение: Учебное пособие.- Казань: КГТУ (КАИ), Кафедра АСОИУ, 2006. - 136 с.

5. Хохлов Д.Г., Захарова З.Х. Введение в системное программирование: Учебное пособие.- Казань: Изд-во Казан. техн. ун-та, 2005. - 163 с.

6. Хохлов Д.Г. Программирование на языке высокого уровня. Часть 2: Методы программирования: Учебник. - Казань: Мастер Лайн, 2006. - 266 с.

7. Хохлов Д.Г. Основы технологии модульного программирования: Учебное пособие.- Казань: КГТУ (КАИ), Кафедра АСОИУ, 2005. - 63 с.

8. Хохлов Д.Г. Структуры данных и комбинаторные алгоритмы: Учебное пособие.- Казань: Изд-во Казан. техн. ун-та, 2006. - 100 с.

9. Хохлов Д.Г., Захарова З.Х. Практикум по структурам данных и комбинаторным алгоритмам: Учебное пособие. - Казань: Изд-во Казан. техн. ун-та, 2005. - 48 с.

10. Хохлов Д.Г., Захарова З.Х. Операционные системы: Учебное пособие. - Казань: КГТУ (КАИ), Кафедра АСОИУ, 2005. - 154 с.

11. Зубков С.В. Assembler для DOS, Windows и UNIX. М.: ДМК Пресс, 2000. - 608 с.

12. Хохлов Д.Г. Лабораторный практикум по методам трансляции: Методические указания.- Казань: КГТУ (КАИ), Кафедра АСОИУ, 1995. - 34 с.

13. Шень А. Программирование: теоремы и задачи. – М.: МЦНМО, 2004. – 296 с.

Задание на курсовую работу

Разработать, отладить и документировать транслятор для заданного входного языка в соответствии с вариантом задания.

Дополнительный тип данных (с минимальным набором операций):

с – char;

u – unsigned;

i32 – int 4-байтовый вместо 2-байтового;

L – long int (4 байта);

f – float ;

b – локальные переменные блока - составного оператора;

p - указатель;

a – массив (многомерный);

ag – глобальный одномерный массив;

al – локальный одномерный массив;

str – строка (не более 255 символов), как в языке Pascal (длина в нулевом элементе);

set – множество до 256 элементов (например, как в языке Pascal).

Дополнительный тип констант:

2 – двоичная;

8 – восьмеричная;

16 – шестнадцатеричная;

с – символьная;

f – вещественная с фиксированной точкой, например 3.14;

e – вещественная экспоненциальная (с плавающей точкой), например 31.4Е-1;

str – строковая, например ‘КАИ’, операция + - сцепление строк;

set – множество, как в языке Pascal, например [‘A’..’Z’, ‘0’..’9’] , операция + - объединение, - - вычитание, in - принадлежность.

Дополнительные операции:

++ - инкремент (увеличение переменной на 1);

-- - декремент (уменьшение переменной на 1);

& - битовая И;

| - битовая ИЛИ;

~ - битовое отрицание;

^ - битовое исключающее ИЛИ;

&& - логическая И;

|| - логическая ИЛИ;

! - логическое отрицание;

>> << - сдвиг вправо и влево арифметический или логический (по выбору);

& - определение адреса;

? : - условная операция;

+= -= *= /= %= <<= >>= &= ^= |= - присваивание с операцией.

Дополнительные операторы:

1 – цикл с постусловием do оператор while (выражение);

2 – цикл for (выражение; выражение; выражение) оператор

3 - цикл с параметром как в языке Pascal

for переменная := выражение {to | downto} выражение do оператор

4 – условный оператор if (выражение) оператор else [оператор]

5 – переключатель как в языке С

switch (выражение)

{ [case константа: [оператор]…] …

[default: [оператор]…]

}

и оператор выхода из переключателя break;

6 – new и delete.

Тип комментария:

1 – комментарий от двойной косой черты до конца строки: // … ;

2 - комментарий в “скобках” из косой черты и звездочки: /* … */;

3 - комментарий в круглых скобках со звездочкой: (* … *);

4 - комментарий в фигурных скобках: { … }. Операторные скобки -

begin … end.