anchor.diff:        )*
       ;
   
  -type returns [StaticType type]
  +type returns [SimpleType type]
       : ot=typeNameWithArguments
         { BaseType bt = new BaseType(null);
           bt.setIdentifier($ot.identifier);
  
positive.code: }
  
  compilationUnit returns [CompilationUnit compilationUnit]
      : { $compilationUnit = new CompilationUnit(null); }
        importList { $compilationUnit.setImportList($importList.importList); }
        ( statement { $compilationUnit.addStatement($statement.statement); } )*
        EOF { this.compilationUnit = $compilationUnit; }
      ;
  
  importList returns [ImportList importList]
  
negative.code:         literalArgument
          { $argumentList.addPositionalArgument($literalArgument.positionalArgument); }
        )*
      ;
      
  literalArgument returns [PositionalArgument positionalArgument]
  