(Translated by https://www.hiragana.jp/)
Modula-2 - Wikipedia

Modula-2(モジュラ・ツー)は、コンピュータプログラミング言語げんご一種いっしゅで、1978ねんごろチューリッヒ工科こうか大学だいがくニクラウス・ヴィルトにより、先立さきだって構想こうそうされたプログラミング言語げんごModula」の後継こうけいとして創案そうあんされたものである。汎用はんよう手続てつづがた言語げんごで、構文こうぶんおおくは同様どうようにヴィルトの手掛てがけたPascal言語げんごもとづいたものとなっている。名前なまえ「Modula-2」は「モジュールの」を意味いみする英語えいごmodular」に由来ゆらいする。

Modula-2
パラダイム 手続てつづがた
登場とうじょう時期じき 1978ねんごろ
設計せっけいしゃ ニクラウス・ヴィルト
型付かたつ つよ静的せいてき型付かたつ
おも処理しょりけい XDS, MacMETH
影響えいきょうけた言語げんご MesaPascal
テンプレートを表示ひょうじ

カテゴリ / テンプレート

特徴とくちょう

編集へんしゅう

Pascal との上位じょうい互換ごかんにはなっていない。Pascal にモジュールの概念がいねん追加ついかし、分割ぶんかつコンパイルやソフトウェア部品ぶひんのライブラリによるさい利用りよう可能かのうである。また、単一たんいつ処理しょり装置そうちでの並行へいこう処理しょり可能かのうにするコルーチンや、データ抽象ちゅうしょう機能きのうつ。一方いっぽうでは、ハードウェアへの直接ちょくせつアクセスなども可能かのうにしている。かくライブラリは、定義ていぎモジュールと実現じつげんモジュールのふたつのファイルから構成こうせいされ、ライブラリの整合せいごうせいはリンク厳密げんみつ検査けんさされる。全体ぜんたいとして、Ada縮小しゅくしょうばんのような仕様しようである。

ヴィルト自身じしんビットスライスプロセッサ使用しようし、ハードウェア管理かんりから、独自どくじのウインドウシステムをオペレーティングシステムふくめたオリジナルのワークステーションシステム Lilith全体ぜんたいを Modula-2 だけで構築こうちくしてせ、その実用じつようせい強力きょうりょくさをしめした。

発表はっぴょう当時とうじは、究極きゅうきょく手続てつづがた言語げんごともてはやされたが、現在げんざいでは、Ada と同様どうよう、あまりひろ使用しようされているとはえない。

Pascal との共通きょうつうてん

編集へんしゅう
  • 配列はいれつ範囲はんいとう実行じっこう検査けんさ可能かのうである。
  • 手続てつづきや関数かんすうにできる。
  • 引数ひきすうわたしと参照さんしょうわたしが使用しようできる。
  • 手続てつづきや関数かんすう内部ないぶ定義ていぎされた名前なまえはその外部がいぶからは参照さんしょうできない。

Pascalとの相違そういてん

編集へんしゅう
  • 大文字おおもじ小文字こもじ区別くべつされる、予約よやくすべ大文字おおもじ
  • 予約よやく AND(論理ろんりせき) のかわりに「&」、NOT(否定ひてい) のかわりに「~」が使つかえる。不等号ふとうごうは「#」を使つかう。
  • 部分ぶぶん範囲はんいがたは "[..]" でくくる。集合しゅうごうがたは "{..}" でくくる。注釈ちゅうしゃくは "(*..*)" でくくる。注釈ちゅうしゃくにできる。
  • 整数せいすうがた符号ふごうのある INTEGER と符号ふごうなしの CARDINAL を区別くべつする。
  • じゅう進数しんすう以外いがいに、しんはちしんじゅうろく進数しんすう定数ていすう指定していすることができる。
  • 文字もじれつ定数ていすうは「'以外いがいに「"」でかこむこともでき、 0 からはじまる文字もじ配列はいれつとしてあつかわれる。文字もじれつC言語げんご同様どうよう、コード 0 の文字もじ(0C)によって終了しゅうりょうする。
  • IF ぶんなどの制御せいぎょぶん複数ふくすうぶん対象たいしょうとするため、明示めいじてき予約よやく ENDじる。else if のかわりに ELSIF をもちいる。
  • CASEぶんかく選択肢せんたくしには複数ふくすうぶんくことができ、選択肢せんたくし|区切くぎる。ELSE も存在そんざいする。RECORD CASE のかたすこことなる。
  • GOTO ぶんはない。わりに無限むげんループを構成こうせいする LOOP ぶんとそれから脱出だっしゅつする EXIT ぶんつ。
  • FORぶん予約よやく BY によって増分ぞうぶんを 1 か -1 以外いがいにもできる。予約よやく DOWNTO はない。
  • 手続てつづきと関数かんすう定義ていぎおな予約よやく PROCEDURE開始かいしする。関数かんすうは RETURN ぶんかえすことができる。手続てつづきのわりをしめす END のうしろには手続てつづめい必要ひつようがある。手続てつづがた変数へんすう存在そんざいする。
  • 手続てつづきの引数ひきすうとして整合せいごう配列はいれつ使用しようできる。整合せいごう配列はいれついち次元じげんかぎられ、 0 からはじまる。配列はいれつ a の最大さいだいは HIGH(a) によって取得しゅとくできる。
  • 標準ひょうじゅん手続てつづきは原則げんそくとしてライブラリとして提供ていきょうされる。ただし CHR, ORD などは Modula-2 でも標準ひょうじゅん手続てつづきである。
  • モジュールが存在そんざいする。モジュールは初期しょき部分ぶぶんち、どの識別子しきべつしをモジュールがいから参照さんしょうできるかを定義ていぎできる。分割ぶんかつコンパイルもモジュールを単位たんいおこなう。
  • 絶対ぜったい参照さんしょう出入でいりりょくポート制御せいぎょ、ビットがたなどの、ハードウェアを直接ちょくせつ操作そうさするていレベル機能きのうつ。
  • コルーチンをつ。
 MODULE sample ;
 FROM InOut IMPORT WriteLn,WriteString ;
 BEGIN
    WriteString('This is Modula-2') ;
    WriteLn
 END sample.

標準ひょうじゅん

編集へんしゅう

Modula-2 は、ISO 10514 として規格きかくされている。対応たいおうする日本工業規格にほんこうぎょうきかく存在そんざいしない。

ヴィルトの著作ちょさく『Programming in Modula-2』(Springer-Verlag, 1982ねん初版しょはん、1988ねん4はん)は、Modula-2 の紹介しょうかいとレポートから構成こうせいされ、あまり厳密げんみつではないが標準ひょうじゅんてきなものとしてあつかわれる。3はん邦訳ほうやくている。

  • Niklaus Wirth ちょ斎藤さいとう信男のぶお やく『Modula-2プログラミング』(改訂かいていだい3はん)マイクロソフトウェア、1986ねん 

ほかに、ヴィルトによる Modula-2 の著作ちょさくで、邦訳ほうやくされているものに以下いかのものがある。

  • N. ヴィルト ちょうら昭二しょうじ; 國府こくぶほう久史ひさし やく『アルゴリズムとデータ構造こうぞう近代きんだい科学かがくしゃ、1990ねんISBN 4764901625 
  • ニクラウス・ヴィルト ちょかけいとしやく翻訳ほんやくけい構成こうせいほう序論じょろん近代きんだい科学かがくしゃ、1986ねん 

関連かんれん項目こうもく

編集へんしゅう

外部がいぶリンク

編集へんしゅう