The Eiffel Software compiler provides a set of options, available in Project Settings, which allows users to select a variant of the Eiffel programming language syntax that best suits their needs. The meanings of these options, and in fact the options themselves, are subject to change from one version to the next. Below you will find a table that defines the meaning of the syntax level variants for each version.

The options are distinguished by how the compiler handles the processing of certain words found in Eiffel text which may be:

  1. Associated with language constructs, or
  2. Allowed as identifiers, or
  3. In the case of some options as either keywords or identifiers depending upon the context in which the words are found.

Legend
keyword Accepted as a keyword
keyword Accepted as a keyword with a warning
keyword Accepted as a keyword or if grammar permits as an identifier with a warning
name Accepted as an identifier with a warning
name Accepted as an identifier

Constructs affected by the syntax project setting
Release Setting value*
Obsolete Transitional Standard Provisional
7.0 and more recent across across across across
assign assign assign assign
attached attached attached attached
attribute attribute attribute attribute
detachable detachable detachable detachable
indexing indexing indexing indexing
is is is is
note note note note
some some some some
6.8, 6.7, 6.6 across across across across
assign assign assign assign
attached attached attached attached
attribute attribute attribute attribute
detachable detachable detachable detachable
indexing indexing indexing indexing
is is is is
note note note note
some some some some

* A general explanation of what each variant setting means can be found in the section on setting the syntax variant.

aa52a183-c616-4590-5e7e-f9b9e2a71f14
cached: 03/30/2017 2:51:57.000 AM