diff --git a/documentation/current/method/quick-reference-eiffel-programming-language/eiffel-programming-language-syntax.wiki b/documentation/current/method/quick-reference-eiffel-programming-language/eiffel-programming-language-syntax.wiki
index 13a536d2..af9400e4 100644
--- a/documentation/current/method/quick-reference-eiffel-programming-language/eiffel-programming-language-syntax.wiki
+++ b/documentation/current/method/quick-reference-eiffel-programming-language/eiffel-programming-language-syntax.wiki
@@ -147,28 +147,28 @@ Feature_list ::= {[[#Feature names|Feature_name]] "," …}+
===Formal argument and entity declarations ===
-Formal_arguments ::= "(" Entity_declaration_list ")"
+Formal_arguments ::= "(" [[#Formal argument and entity declarations|Entity_declaration_list]] ")"
Entity_declaration_list ::= {Entity_declaration_group ";" …}+
-Entity_declaration_group ::= Identifier_list Type_mark
+Entity_declaration_group ::= Identifier_list [[#Feature declarations|Type_mark]]
Identifier_list ::= {[[#Identfiers|Identifier]] "," …}+
===Routine bodies ===
Deferred ::= deferred
-Effective_routine ::= Internal | External
-Internal ::= Routine_mark Compound
+Effective_routine ::= Internal | [[#External routines|External]]
+Internal ::= Routine_mark [[#Instructions|Compound]]
Routine_mark ::= do | Once
Once ::= once [ "("Key_list ")" ]
-Key_list ::= {Manifest_string "," …}+
+Key_list ::= {[[#Manifest strings|Manifest_string]] "," …}+
===Local variable declarations ===
-Local_declarations ::= local [Entity_declaration_list]
+Local_declarations ::= local [[[#Formal argument and entity declarations|Entity_declaration_list]]]
===Instructions ===
Compound ::= {Instruction ";" …}*
-Instruction ::= Creation_instruction | Call | Assignment | Assigner_call | Conditional | Multi_branch
+Instruction ::= [[#Creation instructions|Creation_instruction]] | [[#Feature calls|Call]] | Assignment | Assigner_call | Conditional | Multi_branch
| Loop | Debug | Precursor | Check | Retry
@@ -246,7 +246,7 @@ Constraint_creators ::= create [[#Export adaptation|Feature_list]]
===Tuple types ===
Tuple_type ::= TUPLE [Tuple_parameter_list]
Tuple_parameter_list ::= "[" Tuple_parameters "]"
-Tuple_parameters ::= Type_list | Entity_declaration_list
+Tuple_parameters ::= Type_list | [[#Formal argument and entity declarations|Entity_declaration_list]]
===Manifest tuples ===
@@ -269,14 +269,14 @@ Select ::= select [[#Export adaptation|Feature_list]]
===Conditionals ===
Conditional ::= if Then_part_list [Else_part] end
Then_part_list ::= {Then_part elseif …}+
-Then_part ::= Boolean_expression then Compound
-Else_part ::= else Compound
+Then_part ::= Boolean_expression then [[#Instructions|Compound]]
+Else_part ::= else [[#Instructions|Compound]]
===Multi-branch instructions ===
Multi_branch ::= inspect Expression [When_part_list] [Else_part] end
When_part_list ::= When_part+
-When_part ::= when Choices then Compound
+When_part ::= when Choices then [[#Instructions|Compound]]
Choices ::= {Choice "," …}+
Choice ::= Constant | Manifest_type | Constant_interval | Type_interval
Constant_interval ::= Constant ".." Constant
@@ -290,17 +290,17 @@ Exit_condition
Loop_body
[Variant]
end
-Initialization ::= from Compound
+Initialization ::= from [[#Instructions|Compound]]
Exit_condition ::= until Boolean_expression
-Loop_body ::= loop Compound
+Loop_body ::= loop [[#Instructions|Compound]]
===Debug instructions ===
-Debug ::= debug [ "("Key_list ")" ] Compound end
+Debug ::= debug [ "("Key_list ")" ] [[#Instructions|Compound]] end
===Attribute bodies ===
-Attribute ::= attribute Compound
+Attribute ::= attribute [[#Instructions|Compound]]
===Entities and variables ===
@@ -363,14 +363,14 @@ Object_test ::= "{" [[#Identfiers|Identifier]] ":" Type "}" Expression
===Rescue clauses ===
-Rescue ::= rescue Compound
+Rescue ::= rescue [[#Instructions|Compound]]
Retry ::= retry
===Agents ===
Agent ::= Call_agent | Inline_agent
Call_agent ::= agent Call_agent_body
-Inline_agent ::= agent [[[#Formal argument and entity declarations|Formal_arguments]]] [Type_mark] [[[#Feature bodies|Attribute_or_routine]]] [Agent_actuals]
+Inline_agent ::= agent [[[#Formal argument and entity declarations|Formal_arguments]]] [[[#Feature declarations|Type_mark]]] [[[#Feature bodies|Attribute_or_routine]]] [Agent_actuals]
===Call agent bodies ===
@@ -386,13 +386,13 @@ Placeholder ::= [Manifest_type] "?"
===Expressions ===
Expression ::= Basic_expression | Special_expression
-Basic_expression ::= Read_only | Local | Call | Precursor | Equality | Parenthesized | Old |
+Basic_expression ::= Read_only | Local | [[#Feature calls|Call]] | Precursor | Equality | Parenthesized | Old |
Operator_expression | Bracket_expression | Creation_expression
Special_expression ::= Manifest_constant | Manifest_tuple | Agent | Object_test | Once_string |
Address
Parenthesized ::= "(" Expression ")"
Address ::= "$" Variable
-Once_string ::= once Manifest_string
+Once_string ::= once [[#Manifest strings|Manifest_string]]
Boolean_expression ::= Basic_expression | Boolean_constant | Object_test
@@ -419,7 +419,7 @@ Manifest_value ::= Boolean_constant |
Character_constant |
Integer_constant |
Real_constant |
-Manifest_string |
+[[#Manifest strings|Manifest_string]] |
Manifest_type
Sign ::= "+" | "–"
Integer_constant ::= [Sign] Integer
@@ -446,8 +446,8 @@ Close_bracket ::= "]" | "}"
===External routines ===
External ::= external External_language [External_name]
External_language ::= Unregistered_language | Registered_language
-Unregistered_language ::= Manifest_string
-External_name ::= alias Manifest_string
+Unregistered_language ::= [[#Manifest strings|Manifest_string]]
+External_name ::= alias [[#Manifest strings|Manifest_string]]
===Registered languages ===