1.1 Overview
This document provides the full reference for the Eiffel language.
Eiffel is a method of software construction and a language applicable to the analysis, design, implementation
and maintenance of software systems. This International Standard covers only the language, with an emphasis
on the implementation aspects. As a consequence, the word “Eiffel” in the rest of this document is an abbreviation
for “the Eiffel language”.
1.2 “The Standard”
The language definition proper — “the Standard” — is contained in Clause 8 of this document, with the
exception of text appearing between markers Informative text and End; such text only plays an explanatory
role for human readers.
1.3 Aspects covered
The Standard specifies:
• the form of legal basic constituents of Eiffel texts, or lexical properties of the language;
• the structure of legal Eiffel texts made of lexically legal constituents, or syntax properties;
• supplementary restrictions imposed on syntactically legal Eiffel texts, or validity properties;
• the computational effect of executing valid Eiffel texts, or semantic properties; and
• some requirements on a conforming implementation of Eiffel, such as the ability to produce certain
forms of automatic documentation.
1.4 Aspects not covered
The Standard does not specify:
• the requirements that a computing environment must meet to support the translation, execution and
other handling of Eiffel texts;
• the semantic properties of an Eiffel text if it or its data exceed the capacity of a particular computing
environment;
• the mechanisms for translating Eiffel texts into a form that can be executed in a computing environment;
• the mechanisms for starting the execution of the result of such a translation; and
• other mechanisms for handling Eiffel texts and interacting with users of the language.
The specification of Clause 8 consists of precise specification elements, originating with the book Standard
Eiffel where these elements are accompanied by extensive explanations and examples. The elements
retained are:
• definitions of technical terms and Eiffel concepts;
Information technology — EiffeI: Analysis, Design and
Programming Language
• syntax specifications;
• validity constraints (with their codes, such as VVBG); and
• semantic specifications.