Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Билет №1 Системы программирования. Основные определения и классификация .

Читайте также:
  1. A. 2.4. Показатели активности мышечной системы
  2. A1. Сущность и классификация организаций. Жизненный цикл организации и специфика управления на различных его этапах.
  3. b. 2.5. Показатели активности дыхательной системы
  4. CASE-средства. Общая характеристика и классификация
  5. Cпектральный анализ - способ определения химического состава вещества по его спектру.
  6. I. Генеалогическая классификация индоевропейских языков А. Мейе.
  7. I. Классификация лекарственных форм по агрегатному состоянию.
  8. I. Общая характеристика жанровой системы связей с общественностью.
  9. I. Общее положение современной системы международных отношений.
  10. I. Основные богословские положения

Системы программирования представляют одну из важнейших составляющих программного обеспечения компьютерных технологий.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Системы про- граммирования
Операци-онные системы
Проблемно-ориентированное ПО
Системное ПО
Место систем программирования в общей классификации

программного обеспечения показано на рис. 2.1-1.

 

       
   
 

 

 


Рис.2.1-1.Классификация программного обеспечения.

 

Система программирования определяется следующими составными частями: язык программирования,транслятор и интегрированная среда разработки.

Язык программирования - это формальный язык, предназначенный для

описания (кодирования) алгоритмов решения различных задач.

Транслятор - это программа, которая переводит текст исходной программы в эквивалентную объектную программу. Если объектный язык представляет собой ассемблер или некоторый машинный язык, то транслятор называется компилятором.

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

программирования и отладки (понятие интегрированной среды

разработки возникло с появлением объектно-ориентированного программирования, однако в том или ином виде это понятие

присутствует также в процедурно-ориентированных системах программирования).

 

Билет №2 Процесс компиляции. Основные понятия об этапах компиляции.

Процесс компиляции обычно принято делить на три основных этапа:

предварительная обработка, анализ и синтез.

Предварительная обработка предусматривает выполнение так

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

Этап анализа включает в себя три фазы.

 

1) Лексический анализ;

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

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

 

 

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

семантического анализов. Кроме этого лексический анализатор осуществляет обработку пробелов, удаление комментариев и некоторые другие действия, необходимые для подготовки текста программы к последующим фазам. При формировании символов языка лексический анализатор не учитывает их последовательность, то есть как правило не работает с контекстом. Например, если в программе на языке PASCAL появится некорректная конструкция вида if b while P вместо if b then P, лексический анализатор не обнаружит никакой ошибки.

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

В отличие от лексического анализа, синтаксический анализатор полностью работает с контекстом. Например при анализе упомянутой выше некорректной конструкции синтаксический анализатор обнаружит ошибку.

Семантический анализ ориентирован на проверку тех свойств текста исходной программы, которые не могут быть проверены синтаксическим анализатором простым сканированием слева направо. Например, проверка корректного использования типов данных в операциях, функциях и операторах (проверка совместимости типов), для которой необходимо предварительно построить таблицу переменных.

 

Этап синтеза состоит из следующих фаз.

 

1) Генерация машинно-независимого кода;

2) Оптимизация машинно-независимого кода;

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

4) Генерация машинного кода;

1) Оптимизация машинного кода.

 

Если компиляция осуществляется непосредственно в машинный код,

то первые две фазы отсутствуют. Однако часто в компиляторах

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

Оптимизация кода позволяет получить эффективный код,

обеспечивающий оптимальное сочетание двух важных свойств объектного кода: максимально возможная скорость выполнения и минимально возможный объем используемой памяти.

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

 




Дата добавления: 2015-02-16; просмотров: 40 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.013 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав