Мегаобучалка Главная | О нас | Обратная связь


Лекция 8. Инструментальные средства разработки программ



2019-07-03 1112 Обсуждений (0)
Лекция 8. Инструментальные средства разработки программ 0.00 из 5.00 0 оценок




Инструментальные средства разработки программ принято делить на две группы:

1) локальные средства, обеспечивающие выполнение отдельных стадий по созданию программ. В их составе трансляторы, компоновщики, библиотекари, библиотеки подпрограмм, отладчики;

2) интегрированные среды для разработки программ, обеспечивающие выполнение всего комплекса взаимосвязанных работ по созданию программ за счет объединения локальных средств программирования.

 

Транслятор – это программа, которая переводит входную программу в эквивалентную ей выходную программу на выходном языке, к примеру с языка Visual Basic на язык С++.

Трансляторы делятся на компиляторы и интерпретаторы.

Компилятор (англ. compiler – составитель, собиратель) транслятор, который осуществляет перевод исходной программы в объектную программу на языке машинных команд или ассемблера. Результатом работы компилятора будет файл, содержащий объектный код, поэтому файл обычно имеет расширение *.obj. Объектный код не является готовой для исполнения программой, требуется еще работа редактора связей (компоновщика).

Интерпретатор (англ. interpreter – истолкователь, устный переводчик) – программа, которая осуществляет пошаговую трансляцию и немедленное выполнение операторов исходной программы. При этом каждый оператор входного языка программирования транслируется в одну или несколько команд машинного языка. Этот метод требует значительно большего времени процессора, внесение изменений в программу значительно проще. Интерпретаторы по многим параметрам уступают компиляторам.

Преимущества компиляторов:

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

откомпилированный код оптимизирован и, следовательно, рациональнее использует ресурсы компьютера.

В то же время компиляторы сложнее в разработке и имеют один существенный недостаток: откомпилированный код всегда привязан к системе команд данного компьютера (построен с учетом особенностей данной ВС). В компьютерных сетях требуется единообразное выполнение программ на всех подключенных машинах. Поэтому во многих языках программирования, использующихся в Internet, практикуется интерпретация текста или сочетание компиляции и интерпретации (например, С#, Java и JavaScript).

Транслирование программы состоит из следующих этапов.

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

Синтаксический анализ. Синтаксический анализатор получает от сканера лексемы и располагает их в виде структуры, позволяющей компьютеру разобраться в логике программы. Группы лексем объединяются в операторы – основные структурные единицы программы. Построением структуры управляет набор явно записанных правил; каждой последовательности лексем соответствует один единственный способ размещения их в структуре. Встречая последовательность лексем, которая не укладывается ни в одно правило, синтаксический анализатор выдает предупреждение об ошибке. В интерпретаторе отбирается ровно столько лексем, сколько надо для обработки логически связанного фрагмента программы.

Контроль типов. Этот этап направлен на выявление ошибок, связанных с несовместимостью типов данных.

Генерация кода. Генератор превращает лексемы в последовательность машинных команд.

Редактор связей (компоновщик) программа, связывающая между собой объектные файлы, порождаемые компилятором, файлы библиотек подпрограмм. Обычное имя данной программы – LINK. Результатом работы компоновщика является исполняемый файл с расширением .EXE или сообщение об ошибке, если компоновщик не обнаружит какой–либо необходимый модуль программы или библиотечную функцию.

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

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

установку в программе контрольных точек, то есть точек, в которых программа временно прекращает свое выполнение, так что можно оценить промежуточные результаты, и др.

 

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

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

Следующим шагом в развитии систем программирования стало появление интегрированных средств разработки (ИСР). Интегрированные системы, помимо набора обычных инструментальных средств (компилятор, компоновщик, библиотекарь, отладчик), включают:

средства оптимизации кода программ;

набор библиотек (возможно с исходными текстами программ);

справочные системы;

документатор исходного кода программы;

систему поддержки и управления проектом программного комплекса.

 

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

для отслеживания изменений, выполненных разработчиками программ;

поддержки версий программы с автоматической разноской изменений;

получения статистики о ходе работ проекта.

 

Интегрированные системы отличаются от инструментальных средств программирования повышением дружественности и сервиса для программиста, что позволяет снизить трудозатраты, связанные с разработкой программ. В настоящее время наиболее эффективными и современными являются интегрированные системы программирования, обеспечивающие поддержку развитого графического интерфейса пользователя и взаимодействие с функциями API (прикладного программного интерфейса) операционных систем. В таких системах внедрены средства разработки на основе языков 4–го поколения, которые позволяют программисту при написании программы оперировать графическими образами необходимых объектов программы.

Примерами таких популярных систем являются разработки фирмы Microsoft (Visual Studio). Среда сочетает в себе разнообразные возможности повторного использования кода, открытую архитектуру и высокопроизводительные компиляторы языков C++ и Object Pascal, а также масштабируемый доступ к данным, хранящимся в различных СУБД, как настольных, так и серверных.



2019-07-03 1112 Обсуждений (0)
Лекция 8. Инструментальные средства разработки программ 0.00 из 5.00 0 оценок









Обсуждение в статье: Лекция 8. Инструментальные средства разработки программ

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1112)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)