anchor.diff:      ;
   
   create_keyspace_stmt
  -    : K_CREATE K_KEYSPACE (K_IF K_NOT K_EXISTS)? keyspace_name K_WITH PROPERTIES
  +    : K_CREATE K_KEYSPACE (K_IF K_NOT K_EXISTS)? keyspace_name K_WITH properties
       ;
   
   alter_keyspace_stmt
  -    : K_ALTER K_KEYSPACE keyspace_name K_WITH PROPERTIES
  +    : K_ALTER K_KEYSPACE keyspace_name K_WITH properties
       ;
   
   drop_keyspace_stmt
  
positive.code: 
  
  
  K_ALTER : A L T E R;
  K_AND : A N D;
  K_CREATE : C R E A T E;
  K_DROP : D R O P;
  K_EXISTS : E X I S T S;
  K_FALSE : F A L S E;
  K_FROM : F R O M;
  K_IF : I F;
  K_KEYSPACE : K E Y S P A C E;
  K_NOT : N O T;
  K_SELECT : S E L E C T;
  K_TRUE : T R U E;
  K_USE : U S E;
  K_WITH : W I T H;
  
  
  fragment DIGIT : [0-9];
  
negative.code:     ;
  
  MAP
      : '{' (TERM ':' TERM (',' TERM ':' TERM)*)? '}'
      ;
  
  SET
      : '{' (TERM (',' TERM)*)? '}'
      ;
  
  LIST
      : '[' (TERM (',' TERM)*)? ']'
      ;
  
  FUNCTION
      : IDENTIFIER '(' (TERM (',' TERM)*)? ')'
      ;
  
  properties
      : property (K_AND property)*
      ;
  
  property
      : IDENTIFIER '=' (IDENTIFIER | CONSTANT | MAP)
      ;
  
  STRING
  