REXX
パラダイム | 手続き型, 構造化 |
---|---|
登場時期 | 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、Rexx (レックス) はIBM社が開発した汎用プログラミング言語である。ANSI の規格もある(X3.274-1996)。
概要
[編集]REXX 言語は、英国IBMに所属する開発者のマイク・カウリシャーによって、1979年3月20日に考案された。この言語は、バッチ言語やマクロ言語と汎用のプログラミング言語とを巧妙に結合させた言語で、IBMの各種オペレーティングシステム上で広く用いられている。REXX はメインフレームのVM(CMS)で生まれたが、IBM SAAで標準の手続き型言語として採用され、MVSやミッドレンジコンピュータのAS/400だけでなく、OS/2 や PC DOS 7 にも搭載され、家庭用、個人用としてもユーザの間で愛用された。MS-DOS や Amiga でも用いられた。Macintosh用の処理系もあった。後にオブジェクト指向を取り入れた Object REXX が開発され、今はオープンソースとなっている。あまり知られていないが Rexx/gci を使用することにより各種APIを制御することも可能である。現在では UNIX、Linux 用の処理系もある。代表的な処理系としては Regina や Open Object REXX などがある。
この言語の名前は英語の「restructured extended executor language」に由来している。
特徴
[編集]REXX言語の特徴は以下のとおりである。
- 習得が容易である。初心者でも、おおよそ3~7日間程度あれば簡単なテキスト・フィルタを作れるようになる。
- 構造化された制御文(
DO
ループ、サブルーチンのCALL
、IF
文、SELECT
文(多重分岐))と変数のスコープ。 - 名前を宣言無しに用いると、大文字化された名前の変数として扱われる。
- 数値型と文字列型は自動的に変換される。
- 変数は動的に生成、消滅される。
- 文字列型を添字とした配列(連想配列)を利用できる。
- テンプレートマッチングによるパージングを標準で利用できる。
- シェルコマンドを容易に実行できる。
- 用意されているデータ構造はスタックとキューのみ。リスト構造は提供されていない。
コード例
[編集]say 'あいうえお'
主な解説書
[編集]現在、REXX 関連書籍の和書は4冊程度しかなくすべて絶版であり2000年以降新刊がない。 また、1990年代に刊行されたものは入手性の問題から主にIBMのサイトから入手できる資料[2]を用いるか洋書を取り寄せるのが適切である。なお、以下は過去に刊行された書籍のリストの一部である。
- REXX による OS/2 入門 山下 直彦・CQ出版
- やさしい Rexx 入門 山田文人・ダイワアート
また、IBMから入手可能な和訳資料の一例は下記のとおりである。
- Japanese:Object REXX(Win) リファレンス V.2.1(SH88-5503-00)
- Japanese:Object REXX(Win) プログラミング・ガイド バージョン2.1(SH88-5504-00)
脚注
[編集]- ^ Mark Hessling (October 25, 2012). “Regina Rexx Interpreter”. SourceForge project regina-rexx. 2014年2月10日閲覧。
- ^ 製本版は現在でもInfoCreateから購入可能