anchor.diff:     ;
   
   switch_list
  -   : designational_expression
  -   | switch_list ',' designational_expression
  +   : designational_expression (',' designational_expression)*
      ;
   
   procedure_declaration
  -   : 'procedure' procedure_heading procedure_body
  -   | type 'procedure' procedure_heading procedure_body
  +   :  type? 'procedure' procedure_heading procedure_body
      ;
   
   procedure_heading
  
positive.code: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
  program
     : block
     | compound_statement
     ;
  
  block
     : unlabelled_block
     | label ':' block
     ;
  
  unlabelled_block
     : block_head ';' compound_tail
     ;
  
  block_head
     : 'begin' declaration
     | block_head ';' declaration
     ;
  
  compound_statement
     : unlabelled_compound
     | label ':' compound_statement
     ;
  
  unlabelled_compound
     : 'begin' compound_tail
     ;
  
  compound_tail
     : statement 'end'
     | statement ';' compound_tail
     ;
  
  declaration
  
negative.code:    ;
  
  conditional_statement
     : (label ':')* ((if_statement ('else' statement)?) | (if_clause for_statement)) 
     ;
  
  if_statement
  