REXXRexx (レックス) はIBM社が開発した汎用プログラミング言語である。ANSI の規格もある(X3.274-1996)。

REXX
パラダイム

マルチパラダイム:

手続き型, 構造化
登場時期 1979年 (45年前) (1979)
設計者 マイク・カウリシャー(en)
最新リリース ANSI X3.274 / 1996
型付け 動的
主な処理系 VM/SP R3, TSO/E V2, SAAREXX, ARexx, BREXX, Regina,[1] Personal REXX, REXX/imc
方言 NetRexx, Object REXX, now ooREXX, KEXX
影響を受けた言語 PL/I, ALGOL, EXEC, EXEC 2
影響を与えた言語 NetRexx, Object REXX
拡張子 .cmd, .bat, .exec, .rexx, .rex, EXEC
テンプレートを表示

概要

編集

REXX 言語は、英国IBMに所属する開発者のマイク・カウリシャーによって、1979年3月20日に考案された。この言語は、バッチ言語やマクロ言語と汎用のプログラミング言語とを巧妙に結合させた言語で、IBMの各種オペレーティングシステム上で広く用いられている。REXXメインフレームVM(CMS)で生まれたが、IBM SAAで標準の手続き型言語として採用され、MVSミッドレンジコンピュータAS/400だけでなく、OS/2 PC DOS 7 にも搭載され、家庭用、個人用としてもユーザの間で愛用された。MS-DOSAmiga でも用いられた。Macintosh用の処理系もあった。後にオブジェクト指向を取り入れた Object REXX が開発され、今はオープンソースとなっている。あまり知られていないが Rexx/gci を使用することにより各種APIを制御することも可能である。現在では UNIXLinux 用の処理系もある。代表的な処理系としては ReginaOpen Object REXX などがある。

この言語の名前は英語の「restructured extended executor language」に由来している。

特徴

編集

REXX言語の特徴は以下のとおりである。

  • 習得が容易である。初心者でも、おおよそ3~7日間程度あれば簡単なテキスト・フィルタを作れるようになる。
  • 構造化された制御文(DOループ、サブルーチンのCALLIF文、SELECT文(多重分岐))と変数のスコープ。
  • 名前を宣言無しに用いると、大文字化された名前の変数として扱われる。
  • 数値型と文字列型は自動的に変換される。
  • 変数は動的に生成、消滅される。
  • 文字列型を添字とした配列(連想配列)を利用できる。
  • テンプレートマッチングによるパージングを標準で利用できる。
  • シェルコマンドを容易に実行できる。
  • 用意されているデータ構造はスタックとキューのみ。リスト構造は提供されていない。

コード例

編集
say 'あいうえお'

主な解説書

編集

現在、REXX 関連書籍の和書は4冊程度しかなくすべて絶版であり2000年以降新刊がない。 また、1990年代に刊行されたものは入手性の問題から主にIBMのサイトから入手できる資料[2]を用いるか洋書を取り寄せるのが適切である。なお、以下は過去に刊行された書籍のリストの一部である。

また、IBMから入手可能な和訳資料の一例は下記のとおりである。

脚注

編集
  1. ^ Mark Hessling (October 25, 2012). “Regina Rexx Interpreter”. SourceForge project regina-rexx. 2014年2月10日閲覧。
  2. ^ 製本版は現在でもInfoCreateから購入可能

外部リンク

編集