diff --git a/documentation/current/method/eiffel-tutorial-et/et-inheritance.wiki b/documentation/current/method/eiffel-tutorial-et/et-inheritance.wiki index ebeef139..9718f0e9 100644 --- a/documentation/current/method/eiffel-tutorial-et/et-inheritance.wiki +++ b/documentation/current/method/eiffel-tutorial-et/et-inheritance.wiki @@ -72,7 +72,7 @@ end -- class SAVINGS_ACCOUNT Without the redefine subclause, the declaration of deposit would be invalid, yielding two features of the same name, the inherited one and the new one. The subclause makes this valid by specifying that the new declaration will override the old one. -In a redefinition, the original version -- such as the ACCOUNT implementation of deposit in this example -- is called the precursor of the new version. It is common for a redefinition to rely on the precursor's algorithm and add some other actions; the reserved word Precursor helps achieve this goal simply. Permitted only in a routine redefinition, it denotes the parent routine being redefined. So here the body of the new deposit (called "New implementation" above) could be of the form +In a redefinition, the original version -- such as the ACCOUNT implementation of deposit in this example -- is called the '''precursor''' of the new version. It is common for a redefinition to rely on the precursor's algorithm and add some other actions; the reserved word Precursor helps achieve this goal simply. Permitted only in a routine redefinition, it denotes the parent routine being redefined. So here the body of the new deposit (called "New implementation" above) could be of the form Precursor (sum) -- Apply ACCOUNT's version of deposit diff --git a/documentation/current/method/quick-reference-eiffel-programming-language/eiffel-programming-language-reserved-words.wiki b/documentation/current/method/quick-reference-eiffel-programming-language/eiffel-programming-language-reserved-words.wiki index d532fc7a..8b73e442 100644 --- a/documentation/current/method/quick-reference-eiffel-programming-language/eiffel-programming-language-reserved-words.wiki +++ b/documentation/current/method/quick-reference-eiffel-programming-language/eiffel-programming-language-reserved-words.wiki @@ -315,18 +315,44 @@ The logical negation [[Eiffel language syntax#Operators|operator]]. ===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]]. + +:[[Eiffel language syntax#Notes|Syntax.]] + ===obsolete=== +Used to mark [[ET: Other Mechanisms#Obsolete features and classes|obsolete features and classes]]. + +:[[Eiffel language syntax#Feature declarations|Feature declarations syntax.]] + +:[[Eiffel language syntax#Class declarations|Class declarations declarations syntax.]] + +:[[Eiffel language syntax#Obsolete marks|Obsolete mark syntax.]] + ===old=== +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.]] + ===once=== +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 language syntax#Expressions|Once string syntax.]] + ===only=== +Used in an ''only postcondition clause''. (8.9.11) + +:[[Eiffel language syntax#"Old" postcondition expressions|Syntax.]] + ===or===