anchor.diff:  	
   protected
   field_or_property [TypeMemberCollection container]
  -	{
  -		IToken id = null;
  -		TypeMember tm = null;
  -		TypeReference tr = null;
  -		Property p = null;
  -		Field field = null;
  -		ExplicitMemberInfo emi = null;
  -		Expression initializer = null;
  -		ParameterDeclarationCollection parameters = null;
  -		Expression nameSplice = null;
  -	}: 
  +{
  +	IToken id = null;
  +	TypeMember tm = null;
  +	TypeReference tr = null;
  +	Property p = null;
  +	Field field = null;
  +	ExplicitMemberInfo emi = null;
  +	Expression initializer = null;
  +	ParameterDeclarationCollection parameters = null;
  +	Expression nameSplice = null;
  +}:
  +(	
   	(property_header)=>(
   		(emi=explicit_member_info)?
   		(id1:ID {id=id1;}
  
positive.code: 			docstring[field]
  		)
  	)
  	{ container.Add(tm); }
  ;
  	
  declaration_initializer returns [Expression e]
  
negative.code: 			field.Name = token.getText();
  			field.Modifiers = _modifiers;
  			AddAttributes(field.Attributes);
  			tm = field;
  		}
  		(		
  			(AS tr=type_reference { field.Type = tr; })?
  