Компонентный Паскаль

Компонентный Паскаль
Component Pascal
Класс языка:

императивный, струтурный, модульный,компонентный, объектный

Появился в:

2001[1]

Автор(ы):

Oberon Microsystems

Типизация данных:

сильная, статическая

Испытал влияние:

Цепочка наследования: ПаскальМодулаМодула-2ОберонОберон-2

Компонентный Паскальязык программирования c парадигмой компонентно-ориентированного программирования. Создан на основе языка Оберон-2 компанией Oberon microsystems, Inc. Является прямым наследником языка Паскаль[2].

Содержание

Синтаксис языка

Основные уточнения Компонентного Паскаля по сравнению с Обероном-2 касаются следующего:

  1. Главная идея уточнений по сравнению с Обероном-2 была в том, чтобы дать проектировщику компонентного каркаса (т.е. интерфейсов модулей, определяющих абстрактные классы для конкретной проблемной области) более полный контроль над ее проектируемыми свойствами в плане безопасности[3]. Введены специальные атрибуты для типов (ABSTRACT, EXTENSIBLE, LIMITED)[1] и методов (ABSTRACT, EMPTY, EXTENSIBLE)[1], позволяя автору программной компоненты (группы модулей) осуществлять контроль в плане того, разрешать или нет модулям-клиентам расширять предлагаемые им типы.
  2. Модернизирована несколько устаревшая система основных типов Оберона: теперь набор основных типов Компонентного Паскаля является надмножеством[4] для основных типов языка Java. Основные «рабочие» типы INTEGER, REAL и CHAR соответствуют 32-, 64- (т. н. двойная точность) и 16-(Unicode)-битовым переменным, что позволяет уменьшить разнообразие основных типов, реально используемых в большинстве случаев; использование других типов (LONGINT, SHORTREAL, SHORTCHAR и т. д.) ограничивается специальными приложениями.
  3. Добавлены базовые средства для работы с цепочками литер (неявный тип String), что вместе со стандартным модулем Strings в системе программирования BlackBox делает Компонентный Паскаль более удобным, чем Паскаль или Оберон, для работы со строками. Цепочки литер представляются массивами литер (ARRAY OF CHAR или ARRAY OF SHORTCHAR), причем значением считается последовательность литер до первого вхождения специальной литеры-ограничителя 0X. Цепочки литер можно сравнивать (подразумевается лексикографическое сравнение) и складывать (конкатенация). Конструкция a := b$ позволяет скопировать в массив литер a цепочку, хранящуюся в массиве литер b (включая литеру-ограничитель 0X), даже если присваивание a := b запрещено (например, из-за разной длины массивов a и b).

Полное описание синтаксиса языка в расширенной форме Бэкуса-Наура приведено на страницах Сообщения о языке Компонентный Паскаль[1]. Оно содержит 34 грамматических выражения, что лишь на одно больше чем для Oberon-2.

Реализации компиляторов для Компонентного Паскаля

BlackBox Component Builder

Система программирования BlackBox Component Builder (производитель Oberon microsystems) работает под ОС Microsoft Windows и Mac OS. Включает среду разработки, компилятор (exe и dll), среду поддержки выполнения (виртуальную машину), профилировщик, и набор готовых компонентов для возможности обращаться к интерфейсам ОС (WinApi, WinOle, COM), средства работы с базами данных, поддержку коммуникационных протоколов TCP/IP и т.д. Включает компонентный каркас для создания диалоговых систем, интерактивной графики, а также составных документов. Версия под Microsoft Windows поддерживает механизм OLE. Компилятор и каркас «шлифуются» с 1993 года, при этом развитие идет, в основном, через добавление новых компонентов в стиле Оберона и Компонентного паскаля. Недостатком является отсутствие подробного «щадящего» описания каркаса, хотя в дистрибуции имеется большой набор нетривиальных примеров программ и выпущено несколько учебников посвященных работе в BlackBox (см. раздел. Литература). Начиная с версии 1.6 BlackBox полностью поддерживает юникод.

В России разработкой, русификацией и улучшением среды BlackBox занимается сообщество программистов OberonCore, развивая проект Oberon2005[5] и Информатика-21. В рамках работы сообщества переведен полностью пакет документации и разработаны русифицированые сборки среды[6].

Gardens Point Component Pascal[7][8][9]

Второй компилятор для языка Компонентный Паскаль выполнен в австралийском Квинслендском Технологический Университете[10] (место работы со-основателя Oberon microsystems Клеменса Шиперского до его перехода в Microsoft Research). Имеющиеся ограничения: нет указателей на функции и нет доступа к не-локальным переменным во вложенных процедурах[11]. Компилятор gpcp Квинслендского Технологического Университета имеет версию как для среды .NET, так и для виртуальной Java-машины (JVM)[12]. Компилятор написан на Компонентном Паскале[11]. Здесь же, Компонентный Паскаль был интегрирован в Visual Studio[13] и в межплатформенную среду разработки Eclipse[13].

Примечания

  1. 1 2 3 4 Сообщение о языке Компонентный Паскаль
  2. Цепочка наследования: ПаскальМодулаМодула-2ОберонОберон-2 → Компонентный Паскаль
  3. Ткачёв Ф.В. Краткая история Паскаля // МИР ПК. Диск. 2005. С. 2–5.
  4. The Evolution of Oberon-2 to Component Pascal (Технический отчет Oberon Microsystems) (2001), раздел "Specified Domains of Types"
  5. Россия, имеющая блестящие достижения научных школ математики, физики и инженерного дела, ныне остается едва ли не единственным оазисом неремесленного программирования / РИА «Сибирь», 2005-09-30 13:58:00
  6. BlackBox Component Builder
  7. Gough K.J. Stacking them up: a comparison of virtual machines // Proceedings 6th Australasian Computer Systems Architecture Conference. ACSAC 2001. IEEE Comput. Soc. P. 55–61.
  8. Gough K.J. Parameter passing for the Java virtual machine // Proceedings 23rd Australasian Computer Science Conference. ACSC 2000 (Cat. No.PR00518). IEEE Comput. Soc. P. 81–87.
  9. Gough J. Virtual Machines, Managed Code and Component Technology // 2005 Australian Software Engineering Conference. Ieee. P. 5–12.
  10. Component Pascal on .NET
  11. 1 2 John Gough, Queensland University of Technology.The .NET Runtime as a Compiler Target
  12. Download Gardens Point Component Pascal
  13. 1 2 Component Pascal for IDEs

Литература

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Компонентный Паскаль" в других словарях:

  • Компонентный Паскаль (язык программирования) — Компонентный Паскаль язык программирования, созданный на основе языка Оберон 2 компанией Oberon microsystems, Inc.. Компонентный Паскаль является прямым наследником легендарного Паскаля, Модулы 2 и диалектом Оберона. Основные уточнения… …   Википедия

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

  • Оберон-2 — Оберон  язык программирования высокого уровня, разработанный Никлаусом Виртом, а также одноимённая операционная система, разработанная Виртом и Юргом Гуткнехтом. Это также родовое имя для всего семейства близкородственных языков, производных от… …   Википедия

  • Оберон (язык программирования) — У этого термина существуют и другие значения, см. Оберон. Oberon Класс языка: императивный, структурированный, модульный Появился в: 1986 Автор(ы) …   Википедия

  • Хронология языков программирования — Списки языков программирования По категориям Хронологический Генеалогический Хронология языков программирования  упорядоченный в хронологическом порядке список языков программирования. Содержание …   Википедия

  • Список языков программирования по категориям — Списки языков программирования По категориям Хронологический Генеалогический Приведён список языков программирования, сгруппированных по категориям. Некоторые языки попали в несколько категорий. Содержание …   Википедия

  • Active Oberon — Класс языка: императивный, структурированный, модульный Появился в: 2000 Автор(ы): Patrik Reali, B. Meyer, Brinch Hansen, Pieter Muller, Jurg Gutknecht (Юрг Гуткн …   Википедия

  • Оберон-2 (язык программирования) — Oberon 2 Класс языка: императивный, структурированный, модульный, объектно ориентированный Появился в: 1991 Автор(ы): Никлаус Вирт, Ханспетер Мёссенбёк …   Википедия

  • Модула-2 — Modula 2 Класс языка: императивный, структурированный, модульный, data and method hiding Появился в: 1978 Автор(ы): Никлаус Вирт Типизация данных: статическая, сильная …   Википедия

  • Delphi (язык программирования) — У этого термина существуют и другие значения, см. Delphi. Эта статья  о языке программирования. Об интегрированной среде разработки см. Delphi (среда разработки). Delphi …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»