PEARL(英語: Process and experiment automation realtime language)は、マルチタスク処理とリアルタイムプログラミング向けに設計されたプログラミング言語である。高水準言語であるため、あまりプラットフォームに依存しない。1977年以降、この言語はドイツ規格協会によって複数回にわたる標準化作業が行われてきた。現在の最新バージョンはPEARL-90であり、1998年にDIN 66253-2として規格化された。
特徴 PEARL は、固定小数点および浮動小数点数値、文字および文字列データ、ビット値を扱える。さらに、構造体や多次元配列を扱うための機能も備える。型付きポインタと型なしポインタの両方を扱うことができ、型変換も利用できる。
PEARLは高水準言語であり、マルチタスク処理やリアルタイム処理の開発において、快適で安全、かつほぼプロセッサ非依存のプログラミングが可能である。1977年以降、その開発段階に応じて複数回にわたり標準化が行われている。直近では1998年にPEARL-90として標準化された(DIN 66253-2 1998, Berlin, Beuth-Verlag, 1998)。
プロセス制御の問題をプログラムへ落とし込めるという機能面に加え、PEARLの開発において重視された重要な原則は、プログラマーにとっての学習容易性であった。
PEARLには、他の手続き型プログラミング言語に存在するすべての基本データ型と言語機能が網羅されている。さらに、マルチタスク処理やリアルタイム処理の効率的な処理に便利な言語機能が提供されている。
他の多くの高級言語と同様、PEARLでは手続きと関数をサポートしている。これらへパラメータを渡す際は、値渡しまたは参照渡し(ポインタ経由)を利用できる。
コード例 MODULE (HELLOWORLD); 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;
外部リンク
PEARL 90 - Language Report (PDF)