この規格 プレビューページの目次
※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。
序章
この国際標準の目的は、手続き呼び出しの概念に関する言語標準の共通モデルを提供することです。これは、言語に依存しないツールとサービス、共通プロシージャ ライブラリ、および混合言語プログラミングの開発を支援する有効な標準です。混合言語アプリケーションでは、サーバー プロシージャはサーバー モードで動作する言語プロセッサ上で実行され、プロシージャはクライアント モードで動作する言語プロセッサから呼び出されます。言語が異なる必要はなく、プロセッサが同じである場合、モデルは従来のシングル プロセッサ プログラミングに集約されることに注意してください。
ほとんどのプログラミング言語には、プロシージャとその呼び出しの概念が含まれています。さまざまなプログラミング言語で使用されるメソッドの主な相違点は、クライアント プロシージャとサーバー プロシージャの間でパラメータが渡される方法にあります。プロシージャー呼び出しは機能レベルでは単純な概念ですが、さまざまなプログラミング言語によって適用されるプロシージャー呼び出しの多くのバリエーションと呼び出しの制限とともに、プロシージャー呼び出しとデータタイピングおよびプログラム構造との相互作用は、プロシージャーの一見単純な概念を変換します。プログラミング言語のより複雑な機能を呼び出します。
手続き呼び出しの標準モデルの必要性は、標準化された言語での手続き呼び出しのバリエーションの多さから明らかです。この言語に依存しない手続き呼び出し (LIPC) の国際標準の存在は、すべてのプログラミング言語が手続き呼び出しの唯一の手段としてこのモデルを採用する必要があるわけではありません。名目上の要件は、プログラミング言語がネイティブのプロシージャ呼び出しメカニズムから LIPC へのマッピングを提供し、この国際標準へのマッピングを定義した他のプログラミング言語からの呼び出しを受け入れることができることです。
この国際標準は、手続き呼び出しの共通モデルの仕様です。 LIPC の実装を提供する方法の仕様を意図したものではありません。また、クライアント モード プロセッサによって開始されたプロシージャ コールがサーバー モード プロセッサにどのように伝達されるか、または結果がどのように返されるかという問題に対処していないことに注意することが重要です。この国際標準で定義されているモデルは、ネイティブの手続きモデルから標準的なマッピングを提供できるように、言語による使用を意図しています。この国際標準は、それが提供する LIPC のモデルでサポートされるデータ型の定義について、言語に依存しないデータ型の国際標準、ISO/IEC 11404 に依存しています。
Introduction
The purpose of this International Standard is to provide a common model for language standards for the concept of procedure calling. It is an enabling standard to aid in the development of language independent tools and services, common procedure libraries and mixed language programming. In mixed language applications, server procedures would execute on language processors operating in server mode, and the procedures would be called from language processors operating in client mode. Note that the languages need not be different, and if the processors are the same the model collapses into conventional single processor programming.
Most programming languages include the concepts of procedures and their invocation. The main variance between the methods used in various programming languages lies in the ways parameters are passed between the client and server procedures. Procedure calling is a simple concept at the functional level, but the interaction of procedure calling with datatyping and program structure along with the many variations on procedure calling and restrictions on calling that are applied by various programming languages transforms the seemingly simple concept of procedure calling into a more complex feature of programming languages.
The need for a standard model for procedure calling is evident from the multitude of variants of procedure calling in the standardized languages. The existence of this International Standard for Language-Independent Procedure Calling (LIPC) does not require that all programming languages should adopt this model as their sole means of procedure calling. The nominal requirement is for programming languages to provide a mapping to LIPC from their native procedure calling mechanism, and to be able to accept calls from other programming languages who have defined a mapping to this International Standard.
This International Standard is a specification of a common model for procedure calling. It is not intended to be a specification of how an implementation of the LIPC is to be provided. Also, it is important to note that it does not address the question of how the procedure call initiated by the client mode processor is communicated to the server mode processor, or how the results are returned. The model defined in this International Standard is intended for use by languages so that they may provide standard mappings from their native procedure model. This International Standard depends on the International Standard for Language-Independent Datatypes, ISO/IEC 11404, for the definition of the datatypes that are to be supported in the model for LIPC that it provides.