anchor.diff:      ;
       
   grantObjectPrivilege
  -    : objectPrivilege ( LP_ columnName (COMMA columnName)* RP_)? 
  +    : objectPrivilege columnList? 
       ;
   
   objectPrivilege
  
positive.code:     ;
      
  grantRolesToPrograms
      : roleName (COMMA roleName)* TO programUnit ( COMMA programUnit )*
      ;
      
  programUnit
  
negative.code:     : objectPrivilege (COMMA objectPrivilege)* onObjectClause
      FROM grantees
      (CASCADE CONSTRAINTS | FORCE)?
      ;
      
  revokeRolesFromPrograms
      : (roleNames | ALL) FROM programUnits
      ;