SYMPLは、コントロール・データ・コーポレーション(CDC)が1970年代から1980年代にかけてCDC 6000シリーズコンピュータシステム向けに開発した、現在は廃止されているプログラミング言語です。アセンブリ言語の代替として、 CDC版JOVIALのサブセットをベースに開発されました。コンパイラ、ライブラリ、フルスクリーンエディタ、主要なサブシステムなど、CDCの重要なソフトウェア製品の多くがSYMPLで実装されました。
SYMPLは、コンパイル型、命令型、手続き型言語です。当時の Fortranと比較すると、SYMPLは以下の機能をサポートしています。
- 強力なデータ型: すべての変数は使用前に宣言する必要があります
- ブール変数
- 可変ビット幅整数(符号付きと符号なしの両方)
- 「ステータス」(列挙整数)変数
- データ構造- 動的に割り当てられた「ベース」構造を含む
- 構造化プログラミング構造
- ネストされたプロシージャ
- 固定長の「ビーズ」(ビット)と文字操作
- シンプルなマクロ機能
SYMPLの特徴的な機能は、JOVIALテーブルにも見られますが、複数項目変数の配列を「シリアル」または「パラレル」メモリレイアウトで指定できることです。「シリアル」レイアウトでは、ほとんどのコンピュータ言語と同様に、配列エントリがメモリ内で連続して配置されます。「パラレル」レイアウトでは、各配列エントリ内の個々の項目がグループ化されます。例えば、各配列エントリにx、y、zという項目がある場合、パラレルレイアウトではメモリ内でx[0]...x[n]がグループ化され、続いてy[0]...y[n]、そしてz[0]...z[n]がグループ化されます。これにより、配列内の同じ項目へのアクセスが高速化される可能性があります。なぜなら、これらの項目はすべて互いに連続しているからです。
JOVIALと比較した簡素化点としては、固定小数点データ型、テーブル構造、そしてCOMPOOL概念が存在しないことが挙げられます。ただし、sの代わりにCOMPOOLCDC固有のシステムテキスト機能を使用することで、一般的なデータ宣言をカプセル化できます。
外部リンク
- 99本のビールのプログラム - SYMPLで記述
- SYMPLコーディング標準
- SYMPLリファレンスマニュアル
- SYMPL ユーザーガイド