anchor.diff:  
   // GRAMMAR OF AN EXTENSION DECLARATION
   
  -extension_declaration : access_level_modifier? 'extension' type_identifier type_inheritance_clause? extension_body  ;
  +/*
  + * alexsaveliev: added requirement_clause? to support
  + * "extension TypeIndexed where Value : ForwardIndexType ..."
  + * see http://www.raywenderlich.com/109156/introducing-protocol-oriented-programming-in-swift-2
  + */
  +extension_declaration : access_level_modifier? 'extension' type_identifier requirement_clause? type_inheritance_clause? extension_body  ;
   extension_body : '{' declarations?'}'  ;
   
   // GRAMMAR OF A SUBSCRIPT DECLARATION
  
positive.code: 
  // GRAMMAR OF A CLASS DECLARATION
  
  class_declaration
   : attributes? access_level_modifier? 'class' class_name
     generic_parameter_clause? type_inheritance_clause? class_body
   ;
  class_name : identifier ;
  class_body : '{' declarations? '}'  ;
  
  
negative.code: availability_argument : Platform | '*' ;
  
  /** Must match as token so Platform_version doesn't look like a float literal */
  // alexsaveliev: replaced Platform_name with identifier
  // testcase: #elseif os(Linux)
  Platform : Identifier WS? Platform_version ;
  
  fragment
  Platform_name
  