セクション 14.2 - RMの構造
RMは、唯一重要なAda文書なので、この文書の構造を理解することは重要です。RMは、13のセクションを含み(番号1から13)、14付属書(ラベルAからP)そして、索引があります。また、Ada言語を全体として簡潔に記述したイントロダクションがあります。
すべての真のAdaコンパイラーは、「core Ada language」を実装することが求められます。Ada言語のコアは、セクション(1から13)と三つの文書の付属書に定義されています。
- Annex A, ``Predefined Language Environment'' - Text_IOやAda.Strrings.Unboundedのような事前定義パッケージを定義します。
- Annex B, ``Interface to Other Languages'' - C言語やFortranのような他の計算機言語へのインターフェースを定義します。
- Annex J, ``Obsolescent Features'' - Ada 83の機能のうち、許可されるものの非推奨であるものを記述します。
ここでは、RMの13セクションを、それぞれのセクションの簡単な見出しとともに紹介します。:
- General - 標準を紹介し、いくつかの基本用語を定義します。
- Lexical Elements - キーワード、識別子、数字の書式を示します。
- Declarations and Types - 型、定数、変数、名前つき数字の宣言の仕方
- Names and Expressions - 正式な表現と、型の利用
- Statements - 文の書式 (if, loop, など)
- Subprograms - サブプログラム(プロシージャーと関数)の宣言と定義の方法
- Packages - パッケージの定義の方法
- Visibility Rules - スコープのルール、句の利用
- Tasks and Synchronization - タスクと、Protected型・オブジェクトについての全て
- Program Structure and Compilation Issues - 「with」句を用いた、プログラムのコンパイル方法
- Exceptions - 例外についての全て
- Generic Units - ジェネリックスについての全て
- Representation Issues - ロー・レベルのリクエストについての全て (特定のフォーマットで格納すべきレコード、変数のビット長、など)。
Adaコンパイラーは、特定のアプリケーション領域によって必要とされる機能を含んでいる場合があります。それは、いくつか別の付属書において定義されています。これらは「特殊ニーズ付属書」と呼ばれています。そして、付属書CからHにおいて定義されています。例えば、付属書Gは、数値に対するパッケージのサポートと追加要求を定義していますし、付属書Hは、安全性とセキュリティに対する付加的サポートを定義しています。与えられたAdaコンパイラーは、何もサポートしていないかもしれませんし、これらの付属書の選択されたセットをサポートしているかもしれません。
索引と目次が、プログラマーが探しだそうとしている特定の課題を探すのに役立つでしょう。付属書Nは、用語集であり、RMで使用されている特定の用語を理解するのに役立ちます。
RMのリファレンスは、通常、段落番号が続くセクション番号の形式で与えられます。段落番号は括弧に表記されます。このように、もしコンパイラーエラーメッセージ、あるいは、誰かがニュースグループに、リファレンス RM 7.1(3)をポストしたとすれば、彼らは、セクション7.1の第3段落を参照しています。(これは、パッケージ仕様に対する書式を与えます)。
RMは、最初に読むのに優しい文書として適しているでしょうか? いいえ、ほとんとの人々に対してそうではありません。; RMは、公式文書を読むように大量です。しかしながら、時間をかければ容易になっていきますし、役立つスキルとなります。ひとたび、プログラマーがRMにおける物事を見ることができるようになれば、プログラマーは多くのAdaに関する疑問に対しオーソライズされた答えを手に入れられます。
Magnus Kempeは、Ada RMのハイパーテキスト版を開発しました。 これは、3段階の「ズーム・レベル」の目次を持っており、非常に有益です。
出典: http://www.adahome.com/Tutorials/Lovelace/s14sf.htm