PEARL

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

PEARL, или язык автоматизации процессов и экспериментов в реальном времени (англ. Process and experiment automation realtime language) — это язык программирования, предназначенный для многозадачного программирования и программирования в реальном времени. Будучи языком высокого уровня, он довольно кроссплатформенный. С 1977 года Немецкий институт по стандартизации подвергает языку несколько этапов стандартизации. Текущая версия — PEARL-90, которая была стандартизирована в 1998 году как DIN 66253-2. PEARL не следует путать с Perl, совершенно не связанным языком программирования, созданным Ларри Уоллом в 1987 году. Уолл обнаружил существующий язык программирования PEARL до официального выпуска Perl и изменил написание имени.

Особенности

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

PEARL — это более высокий язык программирования, который обеспечивает удобное, безопасное и практически независимое от процессора программирование многозадачных задач и задач реального времени. Он был стандартизирован с 1977 года на различных этапах его разработки, последний раз в 1998 году как PEARL-90 (DIN 66253-2 1998 Берлин, Беут-Верлаг, 1998).

Помимо простой возможности отобразить технические проблемы процесса, важным принципом при разработке PEARL было простое изучение программистом.

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

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

Пример

MODULE (HALLOWELT);
   SYSTEM;
       TERMINAL:DIS<->SDVLS(2);

   PROBLEM;
       SPC TERMINAL DATION INOUT ALPHIC DIM(,) TFU MAX FORWARD CONTROL (ALL);

   MAIN:TASK;
      OPEN TERMINAL;
      PUT 'Hello World!' TO TERMINAL;
      CLOSE TERMINAL;
  END;

MODEND;

Примечания

Ссылки