Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

spoPresentation2

.pdf
Скачиваний:
8
Добавлен:
11.05.2015
Размер:
4.74 Mб
Скачать

Классификация трансляторов

Трансляторы

Ассемблеры

Кросс-

Дизассемблеры

 

компиляторы

 

 

 

Макрогенератор

Компиляторы

 

 

 

компиляторов

 

 

 

11

Классификация трансляторов

Трансляторы – это программные средства, выполняющие преобразование программ, представленных на одном языке, в эквивалентную ей программу на другом языке

Компилятор переводит программу с исходного языка на язык более низкого уровня. На входе компиляторы получают исходный текст программы, а на выходе выдают готовую программу в машинном, объектном или ином промежуточном коде.

C, C++, Pascal

12

 

Классификация трансляторов

Компилятор с языка Assembler называется

ассемблером

Кросс-компилятор выполняет трансляцию

программы на одной платформе, формирую объектный код для другой платформы

Компилятор компиляторов на вход

получает описание языка в терминах формальных грамматик, а на выходе формирует текст программы на языке высокого уровня, например, С, позволяющей выполнять компиляцию программ на

разрабатываемом языке (LEX, FLEX, YACC,

13

Bison)

Классификация трансляторов

Интерпретаторы – это компиляторы, которые не формируют готовой программы, а выполняют исходный текст программы по частям (Visual Basic)

Препроцессор – это транслятор макрорасширений языка, который переводит их в программу на входном языке. Макрогенератор - препроцессор ассемблера

Детранслятор преобразует программу с языка более низкого уровня к языку более высокого уровня. Дизассемблер – детрансля-тор на язык ассемблера

14

Этапы трансляции

Препроцессор

Лексический анализ

Синтаксический анализ

Семантический анализ

Распределение памяти

Оптимизация

Генерация кода

15

Структура современных систем программирования

Редактор ресурсов

 

 

 

Текстовый редактор

 

Описание

 

 

 

 

файлы

4 GL

 

 

 

ресурсов

 

 

Исходный

 

 

 

Транслятор ресурсов

 

Транслятор

 

файлы

 

 

 

 

 

Ресурсы

 

Объектный

интерфейса

Редактор связей (компоновщик)

 

Загрузочный файл Загрузчик Выполнение

16

Современные системы программирования

Система программирования – это комплекс программных средств, предназначенных для кодирования, тестирования и отладки программного обеспечения

Лексический анализ на лету (подсветка синтаксиса), контекстная справка

Редактор связей - связывание между собой объектных файлов и библиотек, определение адресов внешних для модуля вызовов. Трансляцию относительных адресов в абсолютные выполняет загрузчик

17

Классификация языков программирования

Кроссплатформенные

 

Генераторы

 

приложений

 

4GL

Машинно-

Языки

независимые

 

представления

 

 

информации

Высокого уровня

Непроцедурные

Машинно-

Процедурные

Ассемблеры с

ориентированные

макрогенераторами

 

Низкого уровня

 

Ассемблеры

Машинные коды

 

 

 

18

Классификация программирования

While not (Money.Eof) do begin

If Money[‘Salary’]>100 then begin

Money.Edit;

Money[‘Salary’]:= Money[‘Salary’]+10;

Money.Post;

End;

Money.Next;

End;

update money

set salary=salary+10 where salary>100

19

Понятие алфавита

В общем случае язык состоит из знаковой системы (множество допустимых последовательностей знаков), множества смыслов этой системы, соответствия между последовательностями знаков и смыслами

Символ (буква) – это простой неделимый знак

Алфавит – это счетное множество допустимых символов языка

Алфавит A

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]