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


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



2019-08-13 258 Обсуждений (0)
Синтаксические расширения языков программирования высокого уровня 0.00 из 5.00 0 оценок




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

•модификация существующего транслятора;

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

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

Примером синтаксического расширения является графическая библиотека языка FORTRAN.

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

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

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

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

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

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

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

•обеспечением адаптируемости прикладных программ, т.е. легкости приспособления к новым функциональным требованиям;

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

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

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

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

На втором – среднем уровне – находится аппаратнонезависимый графпакет общего назначения.

На третьем – верхнем уровне – находятся проблемноориентированные графпакеты.

Основные преимущества подхода с использованием графпакетов состоят в следующем:

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

2.Легкая расширяемость за счет написания самим пользователем подпрограмм, необходимых для его приложения. Задача системных программистов состоит в том, чтобы дать "базисный" пакет, пригодный для многих пользователей и многих приложений.

3.Легкая переносимость прикладной программы на другие ЭВМ.

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

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

Очевидными недостатками такого подхода являются:

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

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

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

 

НАЗАД

 

Вот и всё ребята!



2019-08-13 258 Обсуждений (0)
Синтаксические расширения языков программирования высокого уровня 0.00 из 5.00 0 оценок









Обсуждение в статье: Синтаксические расширения языков программирования высокого уровня

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

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

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



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

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

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

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

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

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



(0.009 сек.)