Initiative to replace "Eiffel language" and similar with "Eiffel programming language"

Author:halw
Date:2012-08-20T14:42:50.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1151 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
halw
2012-08-20 14:42:50 +00:00
parent e8953a7277
commit 3e22831902

View File

@@ -1,7 +1,7 @@
[[Property:title|Eiffel programming language reserved words]] [[Property:title|Eiffel programming language reserved words]]
[[Property:weight|1]] [[Property:weight|1]]
[[Property:uuid|047ce062-45de-f25c-f356-ee8ec0fc2d1d]] [[Property:uuid|047ce062-45de-f25c-f356-ee8ec0fc2d1d]]
In the Eiffel language, there are certain words that are considered "reserved". These words have specific meanings recognized by the compiler. As such, it is invalid to attempt to use a reserved word as an ordinary language identifier. In the Eiffel programming language, there are certain words that are considered "reserved". These words have specific meanings recognized by the compiler. As such, it is invalid to attempt to use a reserved word as an ordinary language identifier.
The reserved words listed in the ISO/ECMA standard are shown below with a brief explanation of their meanings. Links are given where appropriate to the syntax definitions and to descriptions in the online documentation. Occasionally, references to the June 2006 standard document are used and are recognizable as clause numbers in parentheses, i.e., three integers separated by dots, for example: (8.14.1) The reserved words listed in the ISO/ECMA standard are shown below with a brief explanation of their meanings. Links are given where appropriate to the syntax definitions and to descriptions in the online documentation. Occasionally, references to the June 2006 standard document are used and are recognizable as clause numbers in parentheses, i.e., three integers separated by dots, for example: (8.14.1)
@@ -19,171 +19,171 @@ The reserved words listed in the ISO/ECMA standard are shown below with a brief
Used to specify an [[ET: Agents|agent]]. Used to specify an [[ET: Agents|agent]].
:[[Eiffel language syntax#Agents|Syntax.]] :[[Eiffel programming language syntax#Agents|Syntax.]]
===alias=== ===alias===
Used to identify an alternative or alias feature name. Used to identify an alternative or alias feature name.
:[[Eiffel language syntax#Feature names|Syntax.]] :[[Eiffel programming language syntax#Feature names|Syntax.]]
[[ET: The Dynamic Structure: Execution Model#Infix and prefix notations|Usage for infix/prefix notations.]] [[ET: The Dynamic Structure: Execution Model#Infix and prefix notations|Usage for infix/prefix notations.]]
[[ET: The Static Picture: System Organization#External software|Usage in interfaces to external software.]] [[ET: The Static Picture: System Organization#External software|Usage in interfaces to external software.]]
:[[Eiffel language syntax#External routines|Syntax.]] :[[Eiffel programming language syntax#External routines|Syntax.]]
===all=== ===all===
Used in [[ET: Inheritance#Changing the export status|export adaptation]] to indicate that a chosen export status applies to all features inherited from a given parent. Used in [[ET: Inheritance#Changing the export status|export adaptation]] to indicate that a chosen export status applies to all features inherited from a given parent.
:[[Eiffel language syntax#Export adaptation|Syntax.]] :[[Eiffel programming language syntax#Export adaptation|Syntax.]]
===and=== ===and===
The logical conjunction [[Eiffel language syntax#Operators|operator]]. Strict when used alone, nonstrict when used with [[#then|then]]. The logical conjunction [[Eiffel programming language syntax#Operators|operator]]. Strict when used alone, nonstrict when used with [[#then|then]].
===as=== ===as===
Used when [[ET: Inheritance#Multiple inheritance and renaming|renaming]] features in descendant classes. Used when [[ET: Inheritance#Multiple inheritance and renaming|renaming]] features in descendant classes.
:[[Eiffel language syntax#Rename clauses|Syntax.]] :[[Eiffel programming language syntax#Rename clauses|Syntax.]]
===assign=== ===assign===
Used to designate [[ET: The Dynamic Structure: Execution Model#Abstraction|assigner commands]]. Used to designate [[ET: The Dynamic Structure: Execution Model#Abstraction|assigner commands]].
:[[Eiffel language syntax#Assigner marks|Syntax.]] :[[Eiffel programming language syntax#Assigner marks|Syntax.]]
===attribute=== ===attribute===
Introduces an attribute body, as in [[Void-safety: Background, definition, and tools#Self-initializing attributes|self-initializing attributes]]. Introduces an attribute body, as in [[Void-safety: Background, definition, and tools#Self-initializing attributes|self-initializing attributes]].
:[[Eiffel language syntax#Attribute bodies|Syntax.]] :[[Eiffel programming language syntax#Attribute bodies|Syntax.]]
===check=== ===check===
Identifies a [[ET: Other Mechanisms#Check|check instruction]]. Identifies a [[ET: Other Mechanisms#Check|check instruction]].
:[[Eiffel language syntax#Check instructions|Syntax.]] :[[Eiffel programming language syntax#Check instructions|Syntax.]]
===class=== ===class===
Used in a class header in the declaration of a [[ET: The Dynamic Structure: Execution Model#A simple class|class]]. Used in a class header in the declaration of a [[ET: The Dynamic Structure: Execution Model#A simple class|class]].
:[[Eiffel language syntax#Class headers|Class header syntax.]] :[[Eiffel programming language syntax#Class headers|Class header syntax.]]
===convert=== ===convert===
Used in converter clauses. Used in converter clauses.
:[[Eiffel language syntax#Converter clauses|Syntax.]] :[[Eiffel programming language syntax#Converter clauses|Syntax.]]
Used in feature names for operator aliases, supporting mixed type expressions causing a conversion of the target (8.5.14). Used in feature names for operator aliases, supporting mixed type expressions causing a conversion of the target (8.5.14).
:[[Eiffel language syntax#Feature names|Syntax.]] :[[Eiffel programming language syntax#Feature names|Syntax.]]
===create=== ===create===
In the creators part of a class, introduces those procedures which can be used to [[ET: The Dynamic Structure: Execution Model#Creating and initializing objects|initialize instances]]. In the creators part of a class, introduces those procedures which can be used to [[ET: The Dynamic Structure: Execution Model#Creating and initializing objects|initialize instances]].
:[[EIffel language syntax#Creators parts|Syntax.]] :[[Eiffel programming language syntax#Creators parts|Syntax.]]
Introduces a [[ET: The Dynamic Structure: Execution Model#Creating and initializing objects|creation instruction]]. Introduces a [[ET: The Dynamic Structure: Execution Model#Creating and initializing objects|creation instruction]].
:[[Eiffel language syntax#Creation instructions|Syntax.]] :[[Eiffel programming language syntax#Creation instructions|Syntax.]]
Introduces a creation expression (8.20.18) Introduces a creation expression (8.20.18)
:[[Eiffel language syntax#Creation expressions|Syntax.]] :[[Eiffel programming language syntax#Creation expressions|Syntax.]]
In [[ET: Inheritance#Constrained genericity|constrained genericity]], introduces a list of names of features which can be used as creation procedures with a generic class for a particular formal generic parameter. (8.12.10) In [[ET: Inheritance#Constrained genericity|constrained genericity]], introduces a list of names of features which can be used as creation procedures with a generic class for a particular formal generic parameter. (8.12.10)
:[[Eiffel language syntax#Generic constraints|Syntax.]] :[[Eiffel programming language syntax#Generic constraints|Syntax.]]
===Current=== ===Current===
A predefined entity indicating the current object. A predefined entity indicating the current object.
:[[Eiffel language syntax#Entities and variables|Entity syntax.]] :[[Eiffel programming language syntax#Entities and variables|Entity syntax.]]
:[[Eiffel language syntax#Types|Anchored types syntax.]] :[[Eiffel programming language syntax#Types|Anchored types syntax.]]
===debug=== ===debug===
Introduces a [[ET: Other Mechanisms#Debug|debug instruction]]. Introduces a [[ET: Other Mechanisms#Debug|debug instruction]].
:[[Eiffel language syntax#Debug Instructions|Syntax.]] :[[Eiffel programming language syntax#Debug Instructions|Syntax.]]
===deferred=== ===deferred===
Used in class header to indicate a [[ET: Inheritance#Deferred features and classes|deferred class]]. Used in class header to indicate a [[ET: Inheritance#Deferred features and classes|deferred class]].
:[[Eiffel language syntax#Class headers|Syntax.]] :[[Eiffel programming language syntax#Class headers|Syntax.]]
Used in routine body to indicate a [[ET: Inheritance#Deferred features and classes|deferred feature]]. Used in routine body to indicate a [[ET: Inheritance#Deferred features and classes|deferred feature]].
:[[Eiffel language syntax#Routine bodies|Syntax.]] :[[Eiffel programming language syntax#Routine bodies|Syntax.]]
===do=== ===do===
Introduces a sequence of instructions as a routine body, as shown in the [[ET: Hello World|Hello World]] example. Introduces a sequence of instructions as a routine body, as shown in the [[ET: Hello World|Hello World]] example.
:[[Eiffel language syntax#Routine bodies|Syntax.]] :[[Eiffel programming language syntax#Routine bodies|Syntax.]]
===else=== ===else===
Used in [[ET: Other Mechanisms#Conditional|conditional]] and [[ET: Other Mechanisms#Multi-branch|multi-branch]] instructions to introduce a sequence of instructions to be executed in the case that no specified conditions are met. Used in [[ET: Other Mechanisms#Conditional|conditional]] and [[ET: Other Mechanisms#Multi-branch|multi-branch]] instructions to introduce a sequence of instructions to be executed in the case that no specified conditions are met.
:[[Eiffel language syntax#Conditionals|Conditional syntax.]] :[[Eiffel programming language syntax#Conditionals|Conditional syntax.]]
:[[Eiffel language syntax#Multi-branch instructions|Multi-branch syntax.]] :[[Eiffel programming language syntax#Multi-branch instructions|Multi-branch syntax.]]
Used as part of the double reserved word <code>or else</code>, the semi-strict disjunction operator. Used as part of the double reserved word <code>or else</code>, the semi-strict disjunction operator.
:[[Eiffel language syntax#Operators|Syntax.]] :[[Eiffel programming language syntax#Operators|Syntax.]]
Used after the reserved word [[#require|<code>require</code>]] as a precondition extension, allowing the weakening of an inherited precondition (8.10.3). Used after the reserved word [[#require|<code>require</code>]] as a precondition extension, allowing the weakening of an inherited precondition (8.10.3).
:[[Eiffel language syntax#Assertions|Syntax.]] :[[Eiffel programming language syntax#Assertions|Syntax.]]
===elseif=== ===elseif===
Used in [[ET: Other Mechanisms#Conditional|conditional]] instructions to effect a "multi-branch" choice instruction. Used in [[ET: Other Mechanisms#Conditional|conditional]] instructions to effect a "multi-branch" choice instruction.
:[[Eiffel language syntax#Conditionals|Syntax.]] :[[Eiffel programming language syntax#Conditionals|Syntax.]]
===end=== ===end===
Serves to terminate several Eiffel language constructs. Serves to terminate several Eiffel programming language constructs.
:Syntax for: :Syntax for:
::[[Eiffel language syntax#Class declarations|Class declarations]] ::[[Eiffel programming language syntax#Class declarations|Class declarations]]
::[[Eiffel language syntax#Feature bodies|Feature bodies]] ::[[Eiffel programming language syntax#Feature bodies|Feature bodies]]
::[[Eiffel language syntax#Inheritance parts|Inheritance parts]] ::[[Eiffel programming language syntax#Inheritance parts|Inheritance parts]]
::[[Eiffel language syntax#Check instructions|Check instructions]] ::[[Eiffel programming language syntax#Check instructions|Check instructions]]
::[[Eiffel language syntax#Generic constraints|Generic constraints: renaming and constraint creators]] ::[[Eiffel programming language syntax#Generic constraints|Generic constraints: renaming and constraint creators]]
::[[Eiffel language syntax#Conditionals|Conditional instructions]] ::[[Eiffel programming language syntax#Conditionals|Conditional instructions]]
::[[Eiffel language syntax#Multi-branch instructions|Multi-branch instructions]] ::[[Eiffel programming language syntax#Multi-branch instructions|Multi-branch instructions]]
::[[Eiffel language syntax#Loops|Loops]] ::[[Eiffel programming language syntax#Loops|Loops]]
::[[Eiffel language syntax#Debug instructions|Debug instructions]] ::[[Eiffel programming language syntax#Debug instructions|Debug instructions]]
===ensure=== ===ensure===
@@ -192,198 +192,198 @@ Introduces a [[ET: Design by Contract (tm), Assertions and Exceptions#Expressing
When followed by the reserved word [[#then|<code>then</code>]] denotes a postcondition extension, allowing the strengthening of an inherited postcondition (8.10.3). When followed by the reserved word [[#then|<code>then</code>]] denotes a postcondition extension, allowing the strengthening of an inherited postcondition (8.10.3).
:[[Eiffel language syntax#Assertions|Syntax.]] :[[Eiffel programming language syntax#Assertions|Syntax.]]
===expanded=== ===expanded===
Used in a class header to indicate that a class is [[ET: The Dynamic Structure: Execution Model#Type categories|expanded]]. Used in a class header to indicate that a class is [[ET: The Dynamic Structure: Execution Model#Type categories|expanded]].
:[[Eiffel language syntax#Class headers|Syntax.]] :[[Eiffel programming language syntax#Class headers|Syntax.]]
===export=== ===export===
Used to [[ET: Inheritance#Changing the export status|change the export status]] (availability to clients) of inherited features. Used to [[ET: Inheritance#Changing the export status|change the export status]] (availability to clients) of inherited features.
:[[Eiffel language syntax#Export adaptation|Syntax.]] :[[Eiffel programming language syntax#Export adaptation|Syntax.]]
===external=== ===external===
Denotes an [[ET: The Static Picture: System Organization#External software|external routine]]. External routines are commonly defined to interface with [[C externals|C external routines]] and [[C++ Externals|C++ external routines]]. Denotes an [[ET: The Static Picture: System Organization#External software|external routine]]. External routines are commonly defined to interface with [[C externals|C external routines]] and [[C++ Externals|C++ external routines]].
:[[Eiffel language syntax#External routines|Syntax]] :[[Eiffel programming language syntax#External routines|Syntax]]
===False=== ===False===
Boolean manifest constant. Boolean manifest constant.
:[[Eiffel language syntax#Manifest constants|Syntax.]] :[[Eiffel programming language syntax#Manifest constants|Syntax.]]
===feature=== ===feature===
Introduces a [[ET: Hello World|feature clause]]. Introduces a [[ET: Hello World|feature clause]].
:[[Eiffel language syntax#Feature parts|Syntax.]] :[[Eiffel programming language syntax#Feature parts|Syntax.]]
===from=== ===from===
Used in [[ET: Other Mechanisms#Loop|loop]] initialization. Used in [[ET: Other Mechanisms#Loop|loop]] initialization.
:[[Eiffel language syntax#Loops|Syntax.]] :[[Eiffel programming language syntax#Loops|Syntax.]]
===frozen=== ===frozen===
Used in a class header to mark a class explicitly as frozen. A frozen class prohibits it from serving as a "conforming parent" to other classes. (8.4.5). Used in a class header to mark a class explicitly as frozen. A frozen class prohibits it from serving as a "conforming parent" to other classes. (8.4.5).
:[[Eiffel language syntax#Class headers|Syntax.]] :[[Eiffel programming language syntax#Class headers|Syntax.]]
Used in a feature declaration to mark a feature as frozen. A frozen feature cannot be redefined by heir classes. Used in a feature declaration to mark a feature as frozen. A frozen feature cannot be redefined by heir classes.
:[[Eiffel language syntax#New feature lists|Syntax.]] :[[Eiffel programming language syntax#New feature lists|Syntax.]]
Used with a formal generic parameter to indicate that conformance of generic derivations of the class require identical actual generic parameters. (8.12.3) Used with a formal generic parameter to indicate that conformance of generic derivations of the class require identical actual generic parameters. (8.12.3)
:[[Eiffel language syntax#Formal generic parameters|Syntax.]] :[[Eiffel programming language syntax#Formal generic parameters|Syntax.]]
===if=== ===if===
Introduces a [[ET: Other Mechanisms#Conditional|conditional]]. Introduces a [[ET: Other Mechanisms#Conditional|conditional]].
:[[Eiffel language syntax#Conditionals|Syntax.]] :[[Eiffel programming language syntax#Conditionals|Syntax.]]
===implies=== ===implies===
The semi-strict logical implication [[Eiffel language syntax#Operators|operator]]. The semi-strict logical implication [[Eiffel programming language syntax#Operators|operator]].
===inherit=== ===inherit===
Used in an [[ET: Inheritance|inherit]] clause. Used in an [[ET: Inheritance|inherit]] clause.
:[[Eiffel language syntax#Inheritance parts|Syntax.]] :[[Eiffel programming language syntax#Inheritance parts|Syntax.]]
===inspect=== ===inspect===
Introduces a [[ET: Other Mechanisms#Multi-branch|multi-branch]] instruction. Introduces a [[ET: Other Mechanisms#Multi-branch|multi-branch]] instruction.
:[[Eiffel language syntax#Multi-branch instructions|Syntax.]] :[[Eiffel programming language syntax#Multi-branch instructions|Syntax.]]
===invariant=== ===invariant===
Used to introduce an invariant assertion as a [[ET: Design by Contract (tm), Assertions and Exceptions#Class invariants|class invariant]] or [[ET: Instructions#Loop|loop invariant]]. Used to introduce an invariant assertion as a [[ET: Design by Contract (tm), Assertions and Exceptions#Class invariants|class invariant]] or [[ET: Instructions#Loop|loop invariant]].
:[[Eiffel language syntax#Assertions|Assertions syntax.]] :[[Eiffel programming language syntax#Assertions|Assertions syntax.]]
:[[Eiffel language syntax#Class declarations|Syntax of class declaration including class invariant.]] :[[Eiffel programming language syntax#Class declarations|Syntax of class declaration including class invariant.]]
:[[EIffel language syntax#Loops|Syntax of loop including loop invariant.]] :[[Eiffel programming language syntax#Loops|Syntax of loop including loop invariant.]]
===like=== ===like===
Used in the declaration of an [[ET: Inheritance#Covariance and anchored declarations|anchored]] entity. Used in the declaration of an [[ET: Inheritance#Covariance and anchored declarations|anchored]] entity.
:[[Eiffel language syntax#Types|Syntax.]] :[[Eiffel programming language syntax#Types|Syntax.]]
===local=== ===local===
Introduces the [[ET: The Dynamic Structure: Execution Model#Entities|local variable]] declarations in a feature body. Introduces the [[ET: The Dynamic Structure: Execution Model#Entities|local variable]] declarations in a feature body.
:[[Eiffel language syntax#Feature bodies|Feature bodies syntax.]] :[[Eiffel programming language syntax#Feature bodies|Feature bodies syntax.]]
:[[Eiffel language syntax#Local variables|Local variable declarations syntax.]] :[[Eiffel programming language syntax#Local variables|Local variable declarations syntax.]]
===loop=== ===loop===
Introduces a [[ET: Other Mechanisms#Loop|loop]] body. Introduces a [[ET: Other Mechanisms#Loop|loop]] body.
:[[Eiffel language syntax#Loops|Syntax.]] :[[Eiffel programming language syntax#Loops|Syntax.]]
===not=== ===not===
The logical negation [[Eiffel language syntax#Operators|operator]]. The logical negation [[Eiffel programming language syntax#Operators|operator]].
===note=== ===note===
Used to begin a Notes part, in either a [[Eiffel language syntax#Class declarations|class declaration]] or a [[Eiffel language syntax#Check instructions|check instruction]]. Used to begin a Notes part, in either a [[Eiffel programming language syntax#Class declarations|class declaration]] or a [[Eiffel programming language syntax#Check instructions|check instruction]].
:[[Eiffel language syntax#Notes|Syntax.]] :[[Eiffel programming language syntax#Notes|Syntax.]]
===obsolete=== ===obsolete===
Used to mark [[ET: Other Mechanisms#Obsolete features and classes|obsolete features and classes]]. Used to mark [[ET: Other Mechanisms#Obsolete features and classes|obsolete features and classes]].
:[[Eiffel language syntax#Feature declarations|Feature declarations syntax.]] :[[Eiffel programming language syntax#Feature declarations|Feature declarations syntax.]]
:[[Eiffel language syntax#Class declarations|Class declarations declarations syntax.]] :[[Eiffel programming language syntax#Class declarations|Class declarations declarations syntax.]]
:[[Eiffel language syntax#Obsolete marks|Obsolete mark syntax.]] :[[Eiffel programming language syntax#Obsolete marks|Obsolete mark syntax.]]
===old=== ===old===
Introduces an ''old expression''. Old expressions are valid only in the [[ET: Design by Contract (tm), Assertions and Exceptions#Postconditions|postconditions]] of routines. Introduces an ''old expression''. Old expressions are valid only in the [[ET: Design by Contract (tm), Assertions and Exceptions#Postconditions|postconditions]] of routines.
:[[Eiffel language syntax#Old postcondition expressions|Syntax.]] :[[Eiffel programming language syntax#Old postcondition expressions|Syntax.]]
===once=== ===once===
Used to introduce [[ET: Other Mechanisms#Once routines and shared objects|once routines]] and once string expressions. Used to introduce [[ET: Other Mechanisms#Once routines and shared objects|once routines]] and once string expressions.
:[[Eiffel language syntax#Routine bodies|Once routine syntax.]] :[[Eiffel programming language syntax#Routine bodies|Once routine syntax.]]
:[[Eiffel language syntax#Expressions|Once string syntax.]] :[[Eiffel programming language syntax#Expressions|Once string syntax.]]
===only=== ===only===
Used in an ''only postcondition clause''. (8.9.11) Used in an ''only postcondition clause''. (8.9.11)
:[[Eiffel language syntax#"Old" postcondition expressions|Syntax.]] :[[Eiffel programming language syntax#"Old" postcondition expressions|Syntax.]]
===or=== ===or===
The logical disjunction [[Eiffel language syntax#Operators|operator]]. Strict when used alone, nonstrict when used with [[#else|else]]. The logical disjunction [[Eiffel programming language syntax#Operators|operator]]. Strict when used alone, nonstrict when used with [[#else|else]].
===Precursor=== ===Precursor===
Allows a redefined routine to access the routine it redefines, i.e, its [[ET: Inheritance#Redefinition|precursor]]. Allows a redefined routine to access the routine it redefines, i.e, its [[ET: Inheritance#Redefinition|precursor]].
:[[Eiffel language syntax#Precursor|Syntax.]] :[[Eiffel programming language syntax#Precursor|Syntax.]]
===redefine=== ===redefine===
Used in an [[Eiffel language syntax#Inheritance parts|inheritance part]] of a [[Eiffel language syntax#Class declarations|class declaration]] to list those inherited features which, in the heir class, will receive new implementations, specifications, or both, i.e, those features being [[ET: Inheritance#Redefinition|redefined]]. Used in an [[Eiffel programming language syntax#Inheritance parts|inheritance part]] of a [[Eiffel programming language syntax#Class declarations|class declaration]] to list those inherited features which, in the heir class, will receive new implementations, specifications, or both, i.e, those features being [[ET: Inheritance#Redefinition|redefined]].
:[[Eiffel language syntax#Redefinition|Redefine syntax.]] :[[Eiffel programming language syntax#Redefinition|Redefine syntax.]]
===rename=== ===rename===
Used in an [[Eiffel language syntax#Inheritance parts|inheritance part]] of a [[Eiffel language syntax#Class declarations|class declaration]] to [[ET: Inheritance#Multiple inheritance and renaming|provide alternative names]] for inherited features in an heir class. Used in an [[Eiffel programming language syntax#Inheritance parts|inheritance part]] of a [[Eiffel programming language syntax#Class declarations|class declaration]] to [[ET: Inheritance#Multiple inheritance and renaming|provide alternative names]] for inherited features in an heir class.
Used to rename features in a [[Eiffel language syntax#Generic constraints|generic constraint]]. (8.12.8). Used to rename features in a [[Eiffel programming language syntax#Generic constraints|generic constraint]]. (8.12.8).
:[[Eiffel language syntax#Rename clauses|Syntax.]] :[[Eiffel programming language syntax#Rename clauses|Syntax.]]
===require=== ===require===
@@ -392,36 +392,36 @@ Introduces a [[ET: Design by Contract (tm), Assertions and Exceptions#Expressing
When followed by the reserved word [[#else|<code>else</code>]] denotes a precondition extension, allowing the weakening of an inherited precondition (8.10.3). When followed by the reserved word [[#else|<code>else</code>]] denotes a precondition extension, allowing the weakening of an inherited precondition (8.10.3).
:[[Eiffel language syntax#Assertions|Syntax.]] :[[Eiffel programming language syntax#Assertions|Syntax.]]
===rescue=== ===rescue===
Introduces a [[ET: Design by Contract (tm), Assertions and Exceptions#Exception handling|rescue clause]] in a [[Eiffel language syntax#Feature bodies|feature body]]. Introduces a [[ET: Design by Contract (tm), Assertions and Exceptions#Exception handling|rescue clause]] in a [[Eiffel programming language syntax#Feature bodies|feature body]].
:[[Eiffel language syntax#Rescue clauses|Syntax.]] :[[Eiffel programming language syntax#Rescue clauses|Syntax.]]
===Result=== ===Result===
A predefined [[ET: The Dynamic Structure: Execution Model#Entities|entity]] used to represent the final result of a function. A predefined [[ET: The Dynamic Structure: Execution Model#Entities|entity]] used to represent the final result of a function.
:[[Eiffel language syntax#Entities and variables|Syntax.]] :[[Eiffel programming language syntax#Entities and variables|Syntax.]]
===retry=== ===retry===
An [[Eiffel language syntax#Instructions|instruction]] valid only in [[Eiffel language syntax#Rescue clauses|rescue clauses]] and used to [[ET: Design by Contract (tm), Assertions and Exceptions#Exception handling|re-execute the routine]] in which it appears. An [[Eiffel programming language syntax#Instructions|instruction]] valid only in [[Eiffel programming language syntax#Rescue clauses|rescue clauses]] and used to [[ET: Design by Contract (tm), Assertions and Exceptions#Exception handling|re-execute the routine]] in which it appears.
:[[Eiffel language syntax#Rescue clauses|Syntax.]] :[[Eiffel programming language syntax#Rescue clauses|Syntax.]]
===select=== ===select===
Used in an [[Eiffel language syntax#Inheritance parts|inheritance part]] of a [[Eiffel language syntax#Class declarations|class declaration]] to resolve possible ambiguities related to polymorphism and dynamic binding in the presence of [[ET: Inheritance#Repeated inheritance and selection|repeated inheritance]]. Used in an [[Eiffel programming language syntax#Inheritance parts|inheritance part]] of a [[Eiffel programming language syntax#Class declarations|class declaration]] to resolve possible ambiguities related to polymorphism and dynamic binding in the presence of [[ET: Inheritance#Repeated inheritance and selection|repeated inheritance]].
:[[Eiffel language syntax#Select clauses|Syntax.]] :[[Eiffel programming language syntax#Select clauses|Syntax.]]
===separate=== ===separate===
@@ -435,52 +435,52 @@ Reserved for future use.
Used in [[ET: Other Mechanisms#Conditional|conditional]] and [[ET: Other Mechanisms#Multi-branch|multi-branch]] instructions to introduce a sequence of instructions to be executed in the case that a condition is met. Used in [[ET: Other Mechanisms#Conditional|conditional]] and [[ET: Other Mechanisms#Multi-branch|multi-branch]] instructions to introduce a sequence of instructions to be executed in the case that a condition is met.
:[[Eiffel language syntax#Conditionals|Conditional syntax.]] :[[Eiffel programming language syntax#Conditionals|Conditional syntax.]]
:[[Eiffel language syntax#Multi-branch instructions|Multi-branch syntax.]] :[[Eiffel programming language syntax#Multi-branch instructions|Multi-branch syntax.]]
Used as part of the double reserved word <code>and then</code>, the semi-strict conjunction operator. Used as part of the double reserved word <code>and then</code>, the semi-strict conjunction operator.
:[[Eiffel language syntax#Operators|Syntax.]] :[[Eiffel programming language syntax#Operators|Syntax.]]
Used after the reserved word [[#ensure|<code>ensure</code>]] as a postcondition extension, allowing the strengthening of an inherited postcondition (8.10.3). Used after the reserved word [[#ensure|<code>ensure</code>]] as a postcondition extension, allowing the strengthening of an inherited postcondition (8.10.3).
:[[Eiffel language syntax#Assertions|Syntax.]] :[[Eiffel programming language syntax#Assertions|Syntax.]]
===True=== ===True===
Boolean manifest constant. Boolean manifest constant.
:[[Eiffel language syntax#Manifest constants|Syntax.]] :[[Eiffel programming language syntax#Manifest constants|Syntax.]]
===TUPLE=== ===TUPLE===
Denotes a [[ET: Other Mechanisms#Tuple types|TUPLE type]]. Denotes a [[ET: Other Mechanisms#Tuple types|TUPLE type]].
:[[Eiffel language syntax#Tuple types|Syntax.]] :[[Eiffel programming language syntax#Tuple types|Syntax.]]
===undefine=== ===undefine===
Used in an [[Eiffel language syntax#Inheritance parts|inheritance part]] of a [[Eiffel language syntax#Class declarations|class declaration]] to [[ET: Inheritance#Joining and uneffecting|uneffect]] an inherited feature. Used in an [[Eiffel programming language syntax#Inheritance parts|inheritance part]] of a [[Eiffel programming language syntax#Class declarations|class declaration]] to [[ET: Inheritance#Joining and uneffecting|uneffect]] an inherited feature.
:[[Eiffel language syntax#Undefine clauses|Syntax.]] :[[Eiffel programming language syntax#Undefine clauses|Syntax.]]
===until=== ===until===
Used in [[ET: Other Mechanisms#Loop|loop]] initialization. Used in [[ET: Other Mechanisms#Loop|loop]] initialization.
:[[Eiffel language syntax#Loops|Syntax.]] :[[Eiffel programming language syntax#Loops|Syntax.]]
===variant=== ===variant===
Introduces a [[ET: Instructions#Loop|loop variant]]. Introduces a [[ET: Instructions#Loop|loop variant]].
:[[Eiffel language syntax#Variants|Syntax.]] :[[Eiffel programming language syntax#Variants|Syntax.]]
===Void=== ===Void===
@@ -492,13 +492,12 @@ A predefined entity name representing a [[ET: The Dynamic Structure: Execution M
Used in a [[ET: Other Mechanisms#Multi-branch|multi-branch instruction]] to introduce cases. Used in a [[ET: Other Mechanisms#Multi-branch|multi-branch instruction]] to introduce cases.
:[[Eiffel language syntax#Multi-branch instructions|Syntax.]] :[[Eiffel programming language syntax#Multi-branch instructions|Syntax.]]
===xor=== ===xor===
The exclusive disjunction [[Eiffel language syntax#Operators|operator]]. The exclusive disjunction [[Eiffel programming language syntax#Operators|operator]].