spoPresentation2
.pdfБелорусский государственный университет информатики и радиоэлектроники
Факультет компьютерных систем и сетей кафедра ЭВМ
специальность 40 02 01 «Вычислительные машины, системы и сети»
Системное программное обеспечение ЭВМ
Доцент кафедры ЭВМ, к.т.н. Прытков Валерий Александрович а. 201 – 4, 507 – 5
1
Системное программное обеспечение ЭВМ
3 курс, 6 семестр экзамен, курсовая работа
17 лекций, 4 лабораторных работы
Теория построения компиляторов
2
Теория проектирования компиляторов
Формальные грамматики, языки и распознаватели
Регулярные грамматики и конечные автоматы
Контекстно-свободные грамматики и автоматы с магазинной памятью
Синтаксически-управляемый перевод и генерация кода
3
Теория проектирования компиляторов
Учебники по всему курсу
Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение. Учебник для ВУЗов. СПб., Питер, 2003
Учебники по теории проектирования компиляторов
Компаниец Р.И., Маньков Е.В., Филатов Н.Е. Системное программирование. Основы построения трансляторов. СПб., Корона принт, 2004
Соколов А.П. Системы программирования: теория, методы, алгоритмы. Учеб. пособие. М., Финансы и статистика, 2004
4
Теория проектирования компиляторов
Ахо А., Сети Р., Ульман Д. Компиляторы. Принципы, технологии, инструменты. Вильямс, 2003
5
Теория проектирования компиляторов
Молчанов А.Ю. Системное программное обеспечение. Учебник для ВУЗов. СПб., Питер, 2003
Карпов Ю.Г. Теория автоматов. Учебник для ВУЗов. СПб., Питер, 2003
Опалева Э.А., Самойленко В.П. Языки программирования и методы трансляции. СПб, БХВ-Петербург, 2005
Мозговой М.В. Классика программирования: алгоритмы, языки, автоматы, компиляторы. Практический подход. СПб, Наука и техника, 2006
6
Теория проектирования компиляторов
Методические пособия
Уваров А.А., Прытков В.А., Самаль Д.А. Лабораторный практикум по курсу «Системное программное обеспечение ЭВМ» для студентов специальности 1 –
40 02 01 «Вычислительные машины, системы и сети». Ч.2. Компиляторы. Мн., БГУИР, 2009
7
История возникновения трансляторов
Машинные коды (Pentium):
CLC |
F8 |
Сброс флага переноса |
CPUID |
0F A2 |
Информация о процессоре |
INC AX |
40 |
Инкремент AX |
INC BX |
41 |
|
MOV OP1, OP2 … |
Пересылки |
Использование разных методов адресации (явной, неявной, прямой, косвенной…) – каждый вариант по разному кодируется
8
История возникновения трансляторов
Трудоемкость программирования непосредственно в машинных кодах
Каждый МП имеет свою собственную систему команд
ÎПрограмма, написанная для одного МП не переносима на другой МП
ÎПереход на новую архитектуру МП требует переобучения персонала
ÎПервые языки Assembler, использующие мнемонические обозначения команды
9
История возникновения трансляторов
Программы с мнемоническими обозначениями значительно нагляднее, хотя язык ассемблера по-прежнему низкоуровневый и ориентирован на архитектуру конкретного МП
ÎНеобходимость в программах-переводчиках с языка Assemblera, а в дальнейшем и с языков более высокого уровня, в машинные коды
Эти программы получили название транслятора ( translate – переводить)
10