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;