anchor.diff:      ;
   
   whileStatement
  -    : While parentheses (statement | ':' innerStatementList EndWhile ';')
  +    : While parentheses (statement | ':' innerStatementList EndWhile SemiColon)
       ;
   
   doWhileStatement
  -    : Do statement While parentheses ';'
  +    : Do statement While parentheses SemiColon
       ;
   
   forStatement
  -    : For '(' forInit? ';' expressionList? ';' forUpdate? ')' (statement | ':' innerStatementList EndFor ';' )
  +    : For '(' forInit? SemiColon expressionList? SemiColon forUpdate? ')' (statement | ':' innerStatementList EndFor SemiColon )
       ;
   
   forInit
  
positive.code:     ;
  
  importStatement
      : Import Namespace namespaceNameList ';'
      ;
  
  topStatement
  
negative.code:     ;
  
  echoStatement
      : Echo expressionList SemiColon
      ;
  
  staticVariableStatement
      : Static variableInitializer (',' variableInitializer)* SemiColon
      ;
  
  classStatement
      : attributes propertyModifiers typeHint? variableInitializer (',' variableInitializer)* SemiColon
      | attributes memberModifiers? Const typeHint? identifierInititalizer (',' identifierInititalizer)* SemiColon
      | attributes memberModifiers? Function '&'? identifier
            typeParameterListInBrackets? '(' formalParameterList ')' baseCtorCall? methodBody
      | Use qualifiedNamespaceNameList traitAdaptations
      ;
  
  traitAdaptations
      : SemiColon
      | OpenCurlyBracket traitAdaptationStatement* '}'
      ;
  
  