diff --git a/documentation/trunk/eiffel/Language_reference/quick-reference-eiffel-programming-language/eiffel-programming-language-syntax.wiki b/documentation/trunk/eiffel/Language_reference/quick-reference-eiffel-programming-language/eiffel-programming-language-syntax.wiki
index 4dba910f..c9f7e4c0 100644
--- a/documentation/trunk/eiffel/Language_reference/quick-reference-eiffel-programming-language/eiffel-programming-language-syntax.wiki
+++ b/documentation/trunk/eiffel/Language_reference/quick-reference-eiffel-programming-language/eiffel-programming-language-syntax.wiki
@@ -467,18 +467,25 @@ Type_interval ::= [[#Manifest constants|Manifest_type]] ".." [[#Manifest constan
===Loops ===
-Loop ::= Initialization
-[[[#Assertions|Invariant]]]
-Exit_condition
-Loop_body
-[[[#Variants|Variant]]]
-end
+Loop ::=
+ [Iteration]
+ [Initialization]
+ [[[#Assertions|Invariant]]]
+ [Exit_condition]
+ Loop_body
+ [[[#Variants|Variant]]]
+ end
+
+Iteration ::= across [[#Expressions|Expression]] as [[#Identfiers|Identifier]]
Initialization ::= from [[#Instructions|Compound]]
Exit_condition ::= until [[#Expressions|Boolean_expression]]
-Loop_body ::= loop [[#Instructions|Compound]]
+Loop_body ::=
+ loop [[#Instructions|Compound]] |
+ all [[#Expressions|Boolean_expression]] |
+ some [[#Expressions|Boolean_expression]]
===Debug instructions ===