anchor.diff:        importList 
         { $compilationUnit.setImportList($importList.importList); }
         ( 
  -        declaration 
  -        { $compilationUnit.addDeclaration($declaration.declaration); } 
  +        compilerAnnotations declaration
  +        { $compilationUnit.addDeclaration($declaration.declaration); 
  +          if ($declaration.declaration!=null) {
  +              $declaration.declaration.getCompilerAnnotations().addAll($compilerAnnotations.annotations); 
  +          } } 
         )+
         EOF
       ;
  
positive.code:         |  parameters+ specifier? //for callable parameters
          //-> ^(FUNCTIONAL_PARAMETER_DECLARATION parameterType memberName parameters+ specifier?)
        )
      ;
  
  parameterDeclaration returns [Parameter parameter]
  
negative.code:     | COMPLEMENT_OP
      ;
      
  compilerAnnotations returns [List<CompilerAnnotation> annotations]
      : { $annotations = new ArrayList<CompilerAnnotation>(); }
      (
        compilerAnnotation
        { $annotations.add($compilerAnnotation.annotation); }
      )*
      ;
      
  compilerAnnotation returns [CompilerAnnotation annotation]
      : COMPILER_ANNOTATION 
        { $annotation=new CompilerAnnotation($COMPILER_ANNOTATION); }
        annotationName 
        { $annotation.setIdentifier($annotationName.identifier); }
        ( 
            INDEX_OP
            stringLiteral
            { $annotation.setStringLiteral($stringLiteral.stringLiteral); }
            RBRACKET
  