Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Структура исходной программы на ЯП.



· Раздел идентификации - область, содержащая наименование программ, а также дополнительную информацию для программистов или пользователей.

· Раздел связи – фрагмент текста, описывающий внешние переменные, передаваемые вызывающей программой, если таковая имеется. То есть та часть исходных данных, которая обязательно поступает на вход программы при ее запуске. Эти переменные часто называются параметрами программы.

· Раздел оборудования (среды) – описание типа ЭВМ, процессора, требования к ОЗУ и внешней памяти, существенных с точки зрения выполнимости программ. Дело в том, что даже среди семейства однотипных ЭВМ могут существовать отличия в наборе машинных инструкций (команд), средств программирования ввода вывода, кодированного представления данных. В связи с этим описание среды, приводимой в данном разделе, оказывается необходимым транслятором с языка с точки зрения оптимизации выполнения или вообще оценки возможности создания рабочей программы.

· Раздел данных – идентификация (декларация, объявление, описание) переменных, используемых в программе и их типов. Понятие типа позволяет осуществлять проверку данных на совместимость в операциях еще на этапе трансляции программы и отвергнуть недопустимые преобразования.

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

 

СИСТЕМЫ ПРОГРАММИРОВАНИЯ.

 

Система программирования (СП) является инструментальным средством программиста – разработка системных или прикладных программ. Первоначально, в ранних ОС, системы программирования входили в состав ОС и были доступны только «избранным».

 

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

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

· Создание и редактирование текстов программ;

· Компилятор или интерпретатор;

· Библиотеки стандартных процедур и функций;

· Утилиты (вспомогательные рабочие программы);

· Отладчик (средство, помогающее находить и устранять ошибки в программе);

· Редактор связи;

· Встроенная справочная служба.

Эти инструменты взаимодействуют между собой через обычные файлы с помощью стандартных возможностей файловой системы.

 

Классификации СП

Признак классификации Типы
Набор исходных языков Одноязыковые Многоязыковые
Возможности расширения Замкнутые Открытые
Трансляция Компиляция Интерпретация

 

Различают системы общего назначения и языково-ориентированные системы.

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

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

 

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

 

Каждый конкретный язык программирования ориентирован либо на компиляцию, либо на интерпретацию – в зависимости от того, для каких целей он создавался. Например, Pascal обычно используется для решения довольно сложных задач, в которых важна скорость работы программ. Поэтому данных язык обычно реализуется с помощью компилятора. С другой стороны, Basic создавался как язык для обучения алгоритмизации и программированию, в этом случае построчное выполнение программы делает процесс обучения более наглядным. Иногда для одного языка имеется и компилятор, и интерпретатор. В этом случае для разработки и тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость её выполнения.

 

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

Популярные системы программирования: Turbo Basic, Quick Basic. Turbo Pascal, Turbo C.

 

Структура абстрактной многоязыковой, открытой, компилирующей СП и процесс разработки приложений:

· Ввод. Программа на исходном языке (исходный модуль) готовится с помощью текстовых редакторов и в виде текстового файла или раздела библиотеки поступает на вход компилятора.

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

Препроцессинг – необязательная фаза, состоящая в анализе исходного текста, извлечения из него директив препроцессора и их выполнения.

Директивы предпроцессора представляют собой помеченные спецсимволы (обычно %, #, & ) строки, содержащие аббревиатуры, символические обозначения и т.д., конструкций, включаемых в состав исходной программы перед её обработкой компилятором.

Данные для расширения исходного текста могут быть стандартными, определяться пользователем либо содержаться в системных библиотеках ОС.

В качестве примера рассмотрим директивы, определяющие функционирование компилятора в СП Pascal.

 

Каждая директива компилятор заключается в фигурные скобки, и начинаются с символа «$», после которого без пробела должно быть указано имя директивы: ($I+), ($IFDEF), (@ELSE).

 

Различают 3 вида директив препроцессора:

· Ключевые директивы;

· Директивы параметров;

· Директивы условной компиляции.

 

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

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

Примеры ключевых директив:

· { $I+ } или { $I - } – соответственно включает или отключает контроль ошибок файлового ввода-вывода;

· { $R + } или {$R - } – директивы компилятора, включающие и отключающие проверку диапазона целочисленных значений и индексов.

 

Директивы параметров задают значения различных параметров, например имена файлов, размеры отводимой памяти. Ключевые директивы и директивы параметров обычно имеют установки по умолчанию.

 

Директивы условной компиляции позволяют в зависимости от задания тех или иных условий компилировать или исключать из программы на стали компиляции отдельные фрагменты кода. Условная компиляция даёт возможность программисту управлять компиляцией программного кода, например, использование во фрагменте кода директив:

{ $iFOPT Q+ }

{ $ENDIF }

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

 

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

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

· Синтаксический анализ – проверка правильности конструкций, использованных программистом при подготовке текста;

· Семантический анализ – выявление несоответствий типов и структур переменных, функций и процедур;

· Генерация объектного кода – завершающая фаза трансляции.

 

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

 

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

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

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-04-10; Просмотров: 1399; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.022 с.)
Главная | Случайная страница | Обратная связь