ISO 1538:1984 プログラミング言語— ALGOL 60 | ページ 2

※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。

序文

ISO (国際標準化機構) は、各国の標準化団体 (ISO メンバー団体) の世界的な連合です。国際規格の作成作業は、通常、ISO 技術委員会を通じて行われます。技術委員会が設立された主題に関心のあるすべての会員団体は、その委員会に代表される権利を有します。 ISOと連携して、政府および非政府の国際機関もこの作業に参加しています。

技術委員会によって採択された国際規格の草案は、ISO 理事会によって国際規格として承認される前に、承認のためにメンバー団体に回覧されます。それらは、投票するメンバー団体による少なくとも 75% の承認を必要とする ISO 手順に従って承認されます。

国際規格 ISO 1538 は、技術委員会 ISO/TC 97, 情報処理システムによって作成されました。

この国際規格は、ISO/R 1538 (1977 年に撤回) の改訂版を構成するものに取って代わります。

ISO 勧告 1538 は、いくつかのソース ドキュメントをまとめたものです。基本的なもの [国際情報処理連盟 (IFIP) の後援で開発され、その貢献が認められている] は、アルゴリズム言語 ALGOL 60 に関する改訂レポートでした。

この国際規格に示されているテキストは、アルゴリズム言語 ALGOL 60 に関する修正レポートに基づいています。これは、IFIP によって確立された改訂レポートのマイナーな技術的改訂およびテキストの明確化です。 ISO の編集方針の理由から、国際規格に関係のない元の序文は削除され、代わりにいくつかの序文節が追加されました。

0 はじめに

この国際規格では、完全に異なる言語である ALGOL 68 との混同を避けるために、ALGOL だけでなく ALGOL 60 を言語の名前として一貫して使用しています。この国際規格で定義された言語を STANDARD ALGOL 60 と呼ぶことをお勧めします。

ALGOL という名前がこの国際規格で使用されている場合は常に、特定の言語が示されていないことが文脈から明らかでない限り、ALGOL 68 ではなく ALGOL 60 を意味します。

1 適用範囲と適用分野

この国際標準は、アルゴリズム プログラミング言語 ALGOL 60 を定義します。その目的は、データ処理システム間での ALGOL 60 プログラムの交換を容易にし、移植性を促進することです。

ALGOL 60 は、プログラミングされた自動コンピュータの言語への直接自動翻訳に十分な簡潔な形式で、数値プロセスの大規模なクラスを表現することを目的としています。

この国際規格は、次のことを規定しています。

  • a) ALGOL 60 の構文とセマンティクス。
  • b) ALGOL 60 で書かれたプログラムの特性、およびこの国際規格への適合に必要なその言語の実装の特性。

この国際規格は、次のことを規定していません。

  • a)明示的に未定義のままにされている、または未定義であると言われているプロセスまたはその他の問題の結果。
  • b)ハードウェア表現の問題 (これらは別の国際規格の対象となる場合があります)、または実装の問題。
  • c)無効なプログラムを拒否する方法と、これを報告する方法。
  • d)実際のデータ処理システムでプログラムを実行するための要件と規則。

2 参照

ISO/TR 1672, 情報処理交換用の ISO 7 ビット コード化文字セットでの ALGOL 基本シンボルのハードウェア表現。

3 つの定義

この国際規格の目的のために、次の定義が適用されます。

3.1

有効なプログラム

この国際規格で定義されたプログラムの規則に準拠する、ALGOL 60 言語で書かれたテキスト。

3.2

無効なプログラム

準拠していないが、プログラムとして意図されたテキスト。

3.3

プロセッサ

データ処理システムと組み合わせて、そのデータ処理システムによって処理できる形式で転写された目的のプログラムを受け入れるコンパイラ、トランスレータ、またはインタプリタは、目的のプログラムが有効かどうかを報告し、有効な場合はそれを実行します。 、それが要求されている場合。

3.4

実装

説明する文書を伴う処理者
  • a)その目的、およびそれが機能する環境 (ハードウェアおよびソフトウェア)
  • b)を含む、その意図された特性
    • 選択された言語の特定のハードウェア表現。
    • この規格で定義されていない結果または問題が発生したときに取られる措置。
    • 実施の問題であると言われている問題の条約。
  • c)実装された言語に関して、この規格で定義された言語とのすべての相違、制限、または拡張。

  • d)その論理構造

  • e)それを使用する方法。

3.5

適合実装

有効なプログラムを有効なものとして受け入れ、無効なプログラムを無効として拒否し、所定の規則に従って有効なプログラムを実行することにより、この国際標準に準拠する実装。

3.6

実装言語

実装によって定義された言語のバージョン。

3.7

準拠言語バージョン

適合する実装によって定義された言語のバージョン。
  • a)この規格で定義されている規則と矛盾する規則を含まない。
  • b)この国際規格に規定されていない規則を含まない。ただし、意図的かつ明示的に実装の問題であると言われている規則、またはこの国際規格の範囲外である規則は除く。

3.8

拡大

実装された言語のルール
  • a)この規格では与えられていない。
  • bこの国際規格に追加された場合、あいまいさは生じません (ただし、制限を取り除くのに役立つ場合があります)
  • c)この規格の範囲内にある。

参考文献

バッカス、JW(1959)。提案された国際代数言語の構文と意味論。情報処理、パリ: ユネスコ。
ALGOL 60 の ECMA サブセット、 CACM, Vol. , p. 595; European Computer Manufacturers Association (1965) ALGOL 60 のサブセットの ECMA 規格。
IFTP (1964a)サブセット ALGOL 60 に関するレポート、 Num. Math.、 Vol. 6, p. 454; CACM, 第 7 巻、p. 62
IFIP (1964b) ALGOL 60 の入出力手順に関するレポート、 Num. Math.、 Vol. 6, p. 459; CACM, 第 7 巻、p. 628
クヌース、DE等。 (1964)。 ALGOL 60, CACM, Vol. 7, p. の入出力規則の提案。 273
クヌース、DE (1967) The Remaining Trouble Spots in ALGOL 60, CACM, Vol. 10, p. 611
Naur , P. (Editor! (1963). Algorithmic Language ALGOL 60 に関する改訂レポート、 CACM, Vol. 6, p. 1; The Computer Journal, Vol. 5, p. 349; Num. Math.、 Vol. 4, p.42
Utman 、RE等。 (1963)。 ALGOL 60 (ローマ) の問題に関する提案、 CACM, Vol. 6, p. 20

Foreword

ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies (ISO member bodies). The work of preparing International Standards is normally carried out through ISO technical committees. Every member body interested in a subject for which a technical committee has been established has the right to be represented on that committee. International organizations, governmental and non-governmental, in liaison with ISO, also take part in the work.

Draft International Standards adopted by the technical committees are circulated to the member bodies for approval before their acceptance as International Standards by the ISO Council. They are approved in accordance with ISO procedures requiring at least 75 % approval by the member bodies voting.

International Standard ISO 1538 was prepared by Technical Committee ISO/TC 97, Information processing systems.

This International Standard replaces ISO/R 1538 (withdrawn in 1977) of which it constitutes a revision.

ISO Recommendation 1538 was a compilation of several source documents. The basic one [developed under the auspices of the International Federation for Information Processing (IFIP), whose contributions are acknowledged] was the Revised Report on the Algorithmic Language ALGOL 60.

The text presented in this International Standard is based on the Modified Report on the Algorithmic Language ALGOL 60, which is a minor technical revision and a textual clarification of the Revised Report, as established by IFIP. For reasons of ISO editorial policy the original introduction which is irrelevant to an International Standard has been deleted and some introductory clauses have been added instead.

0 Introduction

In this International Standard consistent use is made of ALGOL 60 as the name of the language, rather than just ALGOL, in order to avoid confusion with ALGOL 68 which is a completely different language. It is recommended that the language defined in this International Standard be referred to as STANDARD ALGOL 60.

Whenever the name ALGOL is used in this International Standard it is to mean ALGOL 60, not ALGOL 68, unless it is clear from the context that no specific language is indicated.

1 Scope and field of application

This International Standard defines the algorithmic programming language ALGOL 60. Its purpose is to facilitate interchange and promote portability of ALGOL 60 programs between data processing systems.

ALGOL 60 is intended for expressing a large class of numerical processes in a form sufficiently concise for direct automatic translation into the language of programmed automatic computers.

This International Standard specifies:

  • a) the syntax and semantics of ALGOL 60;
  • b) characteristics of programs written in ALGOL 60, and of implementations of that language, required for conformance to this International Standard.

This International Standard does not specify:

  • a) results of processes or other issues, that are, explicitly, left undefined or said to be undefined;
  • b) questions of hardware representation (these may be the subject of another International Standard), or of implementation;
  • c) the way non-valid programs are to be rejected, and how this will be reported;
  • d) requirements and rules for executing programs on an actual data processing system.

2 Reference

ISO/TR 1672, Hardware representation of ALGOL basic symbols in the ISO 7-bit coded character set for information processing interchange.

3 Definitions

For the purpose of this International Standard the following definitions apply:

3.1

valid program

A text written in the ALGOL 60 language that conforms to the rules for a program defined in this International Standard.

3.2

non-valid program

A text that does not conform, but was intended to be a program.

3.3

processor

A compiler, translator or interpreter, in combination with a data processing system, that accepts an intended program, transcribed in a form that can be processed by that data processing system, reports whether the intended program is valid or not, and if valid executes it, if that is being requested.

3.4

implementation

A processor, accompanied with documents that describe
  • a) its purpose, and the environment (hardware and software) in which it will work;
  • b) its intended properties, including
    • the particular hardware representation of the language, as chosen;
    • the actions taken, when results or issues occur that are undefined in this International Standard;
    • conventions for issues said to be a question of implementation;
  • c) with regard to the implemented language, all differences from, restrictions to, or extensions to the language defined in this International Standard;

  • d) its logical structure;

  • e) the way to put it into use.

3.5

conforming implementation

An implementation conforming to this International Standard by accepting valid programs as being valid, by rejecting non-valid programs as being non-valid and by executing valid programs in accordance with the given rules.

3.6

implemented language

The version of the language as defined by the implementation.

3.7

conforming language version

A version of the language, defined by a conforming implementation that
  • a) does not contain any rule conflicting with those defined in this International Standard;
  • b) does not contain any rule not provided for in this International Standard, except such rules as, either said to be intentionally and explicitly a question of implementation, or otherwise being outside the scope of this International Standard.

3.8

extension

A rule in the implemented language that
  • a) is not given in this International Standard;
  • b does not cause any ambiguity when added to this International Standard (but may serve to remove a restriction);
  • c) is within the scope of this International Standard.

Bibliography

Backus, J. W. (1959). The Syntax and Semantics of the Proposed International Algebraic Language. Information Processing, Paris: UNESCO.
ECMA Subset of ALGOL 60, CACM, Vol. 6 (1963), p. 595; European Computer Manufacturers Association (1965) ECMA Standardfor a Subset of ALGOL 60.
IFTP (1964a). Report on Subset ALGOL 60, Num. Math., Vol. 6, p. 454; CACM, Vol. 7, p. 626.
IFIP (1964b). Report on Input-Output Procedures for ALGOL 60, Num. Math., Vol. 6, p. 459; CACM, Vol. 7, p. 628.
Knuth, D. E. et al. (1964). A Proposal for Input-Output Conventions in ALGOL 60, CACM, Vol. 7, p. 273.
Knuth, D. E. (1967). The Remaining Trouble Spots in ALGOL 60, CACM, Vol. 10, p. 611.
Naur, P. (Editor! (1963). Revised Report on the Algorithmic Language ALGOL 60, CACM, Vol. 6, p. 1; The Computer Journal, Vol. 5, p. 349; Num. Math., Vol. 4, p. 420.
Utman, R. E. et al. (1963). Suggestions on the ALGOL 60 (Rome) Issues, CACM, Vol. 6, p. 20.