anchor.diff:      ;
   
   addColumnSpecification
  -    : (WITH (CHECK | NOCHECK))? ADD (alterColumnAddOption (COMMA_ alterColumnAddOption)* | (columnNameGeneratedClause COMMA_ periodClause| periodClause COMMA_ columnNameGeneratedClause))
  +    : (WITH (CHECK | NOCHECK))? ADD (alterColumnAddOptions | (generatedColumnNameClause COMMA_ periodClause | periodClause COMMA_ generatedColumnNameClause))
  +    ;
  +
  +alterColumnAddOptions
  +    : alterColumnAddOption (COMMA_ alterColumnAddOption)*
       ;
   
   alterColumnAddOption
  
positive.code:     : PERIOD FOR SYSTEM_TIME LP_ columnName COMMA_ columnName RP_
      ;
  
  alterColumn
      : modifyColumnSpecification
      ;
  
  modifyColumnSpecification
      : alterColumnOperation dataType (COLLATE collationName)? (NULL | NOT NULL)? SPARSE?
      ;
  
negative.code:     : columnName (ASC | DESC)?
      ;
  
  
  generatedColumnNameClause
      : generatedColumnName DEFAULT simpleExpr (WITH VALUES)? COMMA_ generatedColumnName
      ;
  
  generatedColumnName
      : columnName dataTypeName_ GENERATED ALWAYS AS ROW (START | END)? HIDDEN_? (NOT NULL)? (CONSTRAINT ignoredIdentifier_)?
      ;
  
  