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

Материал из Википедии — свободной энциклопедии
Component Pascal
Класс языка императивный, структурный, модульный,компонентный, объектный
Появился в 2001[1]
Автор Oberon Microsystems
Система типов
сильная, статическая
Испытал влияние Цепочка наследования:
Модула → Модула-2ОберонОберон-2
Сайт oberon.ch

Компонентный Паскаль (англ. Component Pascal) — язык программирования c парадигмой компонентно-ориентированного программирования. Входит в семейство языков Оберон и создан на основе языка Оберон-2 компанией Oberon microsystems, Inc и, соответственно, является наследником языка Паскаль[2].

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

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

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

Полное описание синтаксиса языка в

Oberon-2
.

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

BlackBox Component Builder

Среда разработки

каркас «шлифуются» с 1993 года, и в настоящий момент[когда?] поддерживается и развивается сообществом пользователей (BlackBox Framework Center, OberonCore, командой кросс-платформенной сборки). В дистрибутив встроена документация и набор примеров. Выпущено несколько учебников, посвященных работе с Блэкбоксом. Блэкбокс полностью поддерживает юникод
, в том числе (в последних версиях) юникодные идентификаторы для модулей, процедур, констант, типов и переменных.

Gardens Point Component Pascal

Gardens Point Component Pascal

Visual Studio[11] и в межплатформенную среду разработки Eclipse[11]
.

Примечания

  1. 1 2 3 4 Сообщение о языке Компонентный Паскаль. Дата обращения: 21 августа 2012. Архивировано из оригинала 16 августа 2012 года.
  2. Модула → Модула-2ОберонОберон-2
    → Компонентный Паскаль
  3. Ткачёв Ф.В. Краткая история Паскаля Архивная копия от 12 марта 2013 на Wayback Machine // МИР ПК. Диск. 2005. С. 2–5.
  4. The Evolution of Oberon-2 to Component Pascal (Технический отчет Oberon Microsystems) (2001), раздел "Specified Domains of Types". Дата обращения: 25 августа 2012. Архивировано 12 марта 2013 года.
  5. 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.
  6. 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.
  7. Gough J. Virtual Machines, Managed Code and Component Technology // 2005 Australian Software Engineering Conference. Ieee. P. 5-12.
  8. Component Pascal on .NET. Дата обращения: 1 февраля 2011. Архивировано из оригинала 18 февраля 2011 года.
  9. 1 2 John Gough, Queensland University of Technology.The .NET Runtime as a Compiler Target. Дата обращения: 2 февраля 2011. Архивировано из оригинала 16 февраля 2011 года.
  10. Download Gardens Point Component Pascal. Дата обращения: 2 февраля 2011. Архивировано из оригинала 20 августа 2006 года.
  11. 1 2 Component Pascal for IDEs. Дата обращения: 1 февраля 2011. Архивировано из оригинала 18 февраля 2011 года.

Литература

  • Компания Oberon microsystems. «Сообщение о языке Компонентный Паскаль», перевод Ф. В. Ткачева
  • Никлаус Вирт. Алгоритмы и структуры данных. Новая версия для Оберона. — ДМК Пресс, 2010. — 272 с. — 1000 экз., примеры к книге (для BlackBox Component Builder), английский оригинал
  • Виталий Потопахин. Современное программирование с нуля!. — ДМК Пресс, 2011. — 240 с. — 1000 экз. — ISBN 978-5-94074-665-2.
  • Виталий Потопахин. Современный самоучитель по алгоритмам. — ДМК Пресс, 2012. — 320 с. — 500 экз. — ISBN 978-5-94074-804-5. (старое издание Виталий Потопахин. Искусство алгоритмизации. — ДМК Пресс, 2011. — 320 с. — 1000 экз. — ISBN 978-5-94074-621-8.)

Ссылки