Главная
Дисциплины (2009-2010)
Дисциплины (2010-2011)
Разное
Популярные

Внутреннее представление исходной программы.

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

Классификация языков.

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

Машинно-зависимые, машинно-независимые и машинно-ориентированные языки.

Машинно-зависимые или, как их еще называют, мнемокоды или языки Ассемблера характеризуются тем, что синтаксис операторов в них соответствует структуре команды манинного языка. Основным отличием их от машинных языков является - мнемоника. Введение мнемоники заменяет характерное для машинных языков упоминания элементов программы и данных с помощью адресации именования этих элементов мнемонически удобными идентификаторами. Кодировка операций машинного языка заменяется указанием некоторого привычного символа или мнемонически удобным именем (add, sub, mov).
Средством часто используемым для повышения уровня машинно-зависимых языков является механизм текстовых макросов. Этот механизм позволяет вводить обозначения для часто встречающихся последовательностей операторов Ассемблера.
Мнемокоды, использующие механизм макроссов, называются языками макро-ассемблера.
Основным свойством машинно-независимых языков или языков высокого уровня является то, что они позволяют разработчику абстрагироваться от конкретных свойств и характеристик вычислительной машины.
Машинно-ориентированные языки используют весь арсенал повышения уровня языка, присутствующий в языках высокого уровня, вместе с тем сохраняет учет свойств любо конкретной ЭВМ, либо класса конкретных ЭВМ. В семантике машинно-ориентированных языков явно участвуют такие свойства машинных языков, как фиксированность машинного слова, наличие разноуровневой памяти, возможность размещения нескольких значений в одном машинном слове и так далее. Для большинства машинно-ориентированных языков характерно отсутствие типизации элементов памяти.

Языки спецификации, описания алгоритмов и реализации.

Языки спецификации предназначены для описания самой задачи, а не алгоритма ее решения. Примерами являются: язык Сетл и ряд специализированных языков для пакетов прикладных программ.
Задачей языка описания алгоритмов является фиксация алгоритма решения задачи вне зависимости от конкретной его реализации на какой-либо вычислительной машине. К этому классы ЯП относится большинство наиболее распространенных сейчас языков (Фортран, Паскаль). Обычно языки описания алгоритмов носят универсальных характер: допускаем одинаково высокий уровень формирования алгоритмов решения разнообразных задач. В то же время для более удобного представления задач из некоторого четко определенного класса создают проблемно-ориентированные языки, которые предоставляют существенно различающиеся средства по уровню задач.
Языки реализации служат для описания алгоритмов решения задачи в терминах машинно-ориентированных понятий, так что реализация этого алгоритма уже явно и сознательно выбрана. Языками этого класса являются, с одной стороны, такие примитивные языки, как языки Ассемблера для различных машин, а с другой, - так называемые машинно-ориентированные языки высокого уровня (Алма, Эпсилон).
Ряду языков реализации присущи свойства системной ориентируемости. Она заключается в том, что в семантике языка присутствует на достаточно высоком уровне понятия, связанные с ОС.
Системную ориентируемость следует отличать от системной зависимости. Связь с ОС осуществляется прямым употреблением разрешенных в языке примитивов работы с ОС. В отличие от этого системно-ориентируемые языки содержат возможности определения средствами языка высокого уровня объектов ОС и возможности операции над ними в стиле языка высокого уровня.

Диалоговые языки.

Налицие большого числа задач, требующих для своего решения оперативного взаимодействия с ЭВМ, привело к появлению диалоговых ЯП. Диалоговые языки обладают рядом особенностей по отношению к обычным ЯП.
Описание данных в них либо полностью отсутстует, либо существенно упрощено; нет иерархии операторов и, как следствие, линейная структура программ.
Как правило, язык диалога содержит средства для описания алгоритмов и средства, обеспечивающие оперативное взаимодействие с программистом. К последним отностится набор запросов, посылаемых пользователю в диалоговой системе при своей работе, а также набор директив и операторов, набираемых пользователем в качестве ответа и подлежащих выполнению. Это директивы инициализации и окончания работы, редактирования текстов программы, работа с архивами и т. п.
Среда исполнения, которая в обычных языках задается контекстом, в диалоговых - формируется в процессе диалогов.
Одним из примеров диалоговых языков является Бэйсик. Бэйсик использует обозначения подобные обычным математическим выражениям. Многие операторы являются упрощенными вариантами операторов языка Фортран. Поэтому этот язык позволяет решать достаточно широкий круг задач.


Последнее обновление:
Copyright (C) 2009-2011 by RA0LHS
Hosted by uCoz