anchor.diff:      | enumDefinition
       ;
   
  -stateVariableDeclaration : typename ( 'public' | 'internal' | 'private' | 'constant' )* Identifier ('=' expression)? ';' ;
  -usingForDeclaration : 'using' Identifier 'for' ('*' | typename) ';' ;
  +stateVariableDeclaration : typeName ( 'public' | 'internal' | 'private' | 'constant' )* Identifier ('=' expression)? ';' ;
  +usingForDeclaration : 'using' Identifier 'for' ('*' | typeName) ';' ;
   structDefinition : 'struct' Identifier '{'
                        ( variableDeclaration ';' (variableDeclaration ';')* )? '}' ;
   modifierDefinition : 'modifier' Identifier parameterList? block ;
  
positive.code: throwStatement : 'throw' ';' ;
  variableDefinition : variableDeclaration ( '=' expression )? ';';
  
  elementaryTypename
      : 'address' | 'bool' | 'string' | 'var'
      | Int | Uint | Byte | Fixed | Ufixed
      ;
  
negative.code: functionalAssemblyExpression : Identifier '(' assemblyItem? ( ',' assemblyItem )* ')' ;
  
  arrayLiteral : '[' expression? ( ',' expression )* ']' ;
  elementaryTypeNameExpression : elementaryTypeName '(' expression ')' ;
  numberLiteral : (DecimalNumber | HexNumber) NumberUnit? ;
  
  BooleanLiteral : 'true' | 'false' ;
  