anchor.diff:  
   Examples:
   
  -	Category: storage;
  -	    scheme="http://schemas.ogf.org/occi/infrastructure#";
  -	    class="kind";
  -	    title="Storage Resource";
  -	    rel="http://schemas.ogf.org/occi/core#resource";
  -	    location=/storage/;
  -	    attributes="occi.storage.size occi.storage.state";
  -	    actions="http://schemas.ogf.org/occi/infrastructure/storage/action#resize ...";
  +  Category: storage;
  +      scheme="http://schemas.ogf.org/occi/infrastructure#";
  +      class="kind";
  +      title="Storage Resource";
  +      rel="http://schemas.ogf.org/occi/core#resource";
  +      location=/storage/;
  +      attributes="occi.storage.size occi.storage.state";
  +      actions="http://schemas.ogf.org/occi/infrastructure/storage/action#resize ...";
   */
   
  -category: CATEGORY_HEADER category_value;
  -category_value: term_attr scheme_attr class_attr (title_attr|rel_attr|location_attr|attributes_attr|actions_attr)?;
  -
  -term_attr: term_attr_value;
  -term_attr_value: (UPALPHA|LOWALPHA|NUM|RESERVED)* WS?;
  -
  -scheme_attr: ATTR_TERMINATOR WS? SCHEME_ATTR ASSIGNMENT scheme_attr_value WS?;
  -scheme_attr_value: QUOTE (UPALPHA|LOWALPHA|NUM)* QUOTE;
  -
  -class_attr: ATTR_TERMINATOR WS? CLASS_ATTR ASSIGNMENT class_attr_value WS?;
  -class_attr_value: QUOTE CATEGORY_CLASS_ENUM QUOTE;
  -
  -title_attr: ATTR_TERMINATOR WS? TITLE_ATTR ASSIGNMENT title_attr_value WS?;
  -title_attr_value: QUOTE (UPALPHA|LOWALPHA|NUM)* QUOTE;
  -
  -rel_attr: ATTR_TERMINATOR WS? REL_ATTR ASSIGNMENT rel_attr_value WS?;
  -rel_attr_value:  QUOTE (UPALPHA|LOWALPHA|NUM)* QUOTE;
  -
  -//TODO lexical rules
  -location_attr: ATTR_TERMINATOR WS? LOCATION_ATTR ASSIGNMENT location_attr_value WS?;
  -location_attr_value: QUOTE (UPALPHA|LOWALPHA|NUM)* QUOTE;
  -
  -//TODO lexical rules
  -attributes_attr: ATTR_TERMINATOR WS? ATTRIBUTES_ATTR ASSIGNMENT attributes_attr_value WS?;
  -attributes_attr_value: QUOTE (UPALPHA|LOWALPHA|NUM)* QUOTE;
  -
  -//TODO lexical rules
  -actions_attr: ATTR_TERMINATOR WS? ACTIONS_ATTR ASSIGNMENT actions_attr_value WS?;
  -actions_attr_value: QUOTE (UPALPHA|LOWALPHA|NUM)* QUOTE;
  -
  -CATEGORY_HEADER : ('C'|'c')'ategory' WS? ':' WS?;
  -CATEGORY_CLASS_ENUM: ('action' | 'mixin' | 'kind');
  -
  -// ---------------------------------------- 
  -// ------------ Link attribute ------------ 
  +category_header:
  +  CATEGORY_HEADER term scheme class (title | rel | location)*
  +;
  +
  +term:
  +  TOKEN
  +;
  +
  +scheme:
  +  CAT_ATTR_SEP SCHEME_ATTR VAL_ASSIGN QUOTE scheme_val QUOTE
  +;
  +scheme_val: 
  +  URI
  +;
  +
  +class:
  +  CAT_ATTR_SEP CLASS_ATTR VAL_ASSIGN QUOTE class_val QUOTE
  +;
  +class_val:
  +  CLASS
  +;
  +
  +title:
  +  CAT_ATTR_SEP TITLE_ATTR VAL_ASSIGN QUOTE title_val QUOTE
  +;
  +title_val:
  +  TOKEN
  +;
  +
  +rel:
  +  CAT_ATTR_SEP REL_ATTR VAL_ASSIGN QUOTE rel_val QUOTE
  +;
  +rel_val:
  +  TOKEN
  +;
  +
  +location:
  +  CAT_ATTR_SEP LOCATION_ATTR VAL_ASSIGN QUOTE location_val QUOTE
  +;
  +location_val:
  +  TOKEN
  +;
  +
  +link_header:
  +  LINK_HEADER  link_path rel (self | link_category)* attributes_attr?
  +;
  +
  +link_path:
  +  OPEN_PATH link_path_val CLOSE_PATH
  +;
  +link_path_val:
  +  PATH 
  +;
  +
  +self:
  +  CAT_ATTR_SEP SELF_ATTR VAL_ASSIGN QUOTE self_val QUOTE
  +;
  +self_val:
  +  TOKEN
  +;
  +
  +link_category:
  +  CAT_ATTR_SEP CAT_ATTR VAL_ASSIGN QUOTE link_category_val QUOTE
  +;
  +link_category_val:
  +  TOKEN
  +;
  +
  +attributes_attr:
  +  attribute_attr+
  +;
  +attribute_attr:
  +  CAT_ATTR_SEP attribute_attr_name VAL_ASSIGN attribute_attr_val
  +;
  +attribute_attr_name:
  +  ATTRIB_NAME
  +;
  +attribute_attr_val:
  +  (QUOTE attribute_attr_string_val QUOTE) | attribute_attr_int_val
  +;
  +attribute_attr_string_val:
  +  TOKEN
  +;
  +attribute_attr_int_val:
  +  DIGIT
  +;
  +
  +
  +// ---------------------------------------- 
  +// ------ X-OCCI-Attribute attribute ------
   // ---------------------------------------- 
   /*
   
  -EBNF representation of link from the http rendering specification
  -
  -  Link             = "Link" ":" #link-value
  -  link-value       = "<" URI-Reference ">"
  -                    ";" "rel" "=" <"> resource-type <">
  -                    [ ";" "self" "=" <"> link-instance <"> ]
  -                    [ ";" "category" "=" link-type ]
  -                    *( ";" link-attribute )
  -  term             = token
  -  scheme           = URI
  -  type-identifier  = scheme term
  -  resource-type    = type-identifier *( 1*SP type-identifier )
  -  link-type        = type-identifier *( 1*SP type-identifier )
  -  link-instance    = URI-reference
  -  link-attribute   = attribute-name "=" ( token | quoted-string )
  -  attribute-name   = attr-component *( "." attr-component )
  -  attr-component   = LOALPHA *( LOALPHA | DIGIT | "-" | "_" )
  -
  -Example:
  -
  -	Link: </network/123>;
  -	    rel="http://schemas.ogf.org/occi/infrastructure#network";
  -	    self="/link/networkinterface/456";
  -	    category="http://schemas.ogf.org/occi/infrastructure#networkinterface";
  -	    occi.networkinterface.interface="eth0";
  -	    occi.networkinterface.mac="00:11:22:33:44:55";
  -	    occi.networkinterface.state="active";
  -
  -or for instances:
  -
  -	Link: </compute/123?action=start>;
  -    	rel="http://schemas.ogf.org/occi/infrastructure/compute/action#start"
  -*/
  -link: ;
  -
  -// ---------------------------------------- 
  -// ------ X-OCCI-Attribute attribute ------
  -// ---------------------------------------- 
  -/*
  -
  -EBNF representation of X-OCCI-Attribute from the http rendering specification
  +ABNF representation of X-OCCI-Attribute from the http rendering specification
   
     Attribute        = "X-OCCI-Attribute" ":" #attribute-repr
     attribute-repr   = attribute-name "=" ( token | quoted-string )
  
positive.code:   X-OCCI-Attribute: occi.compute.architechture="x86_64"
    X-OCCI-Attribute: occi.compute.architechture="x86_64", occi.compute.cores=2
  */
  attribute: ATTRIBUTE_HEADER attribute_value;// (WS* ',' attribute_value)*;
  attribute_value: attribute_string_key attribute_string_value; //	| attribute_int_key ASSIGNMENT attribute_int_value
  
  attribute_string_key: ASSIGNMENT (UPALPHA|LOWALPHA|RESERVED|NUM)*;
  attribute_string_value: ASSIGNMENT WS* QUOTE (UPALPHA|LOWALPHA|RESERVED|NUM)* QUOTE;
  
  attribute_int_key: (UPALPHA|LOWALPHA|RESERVED|NUM)*;
  attribute_int_value: WS* NUM*;
  
  
  ATTRIBUTE_HEADER: 'X-OCCI-Attribute' WS? ':' WS?;
  // ---------------------------------------- 
  // ------ X-OCCI-Location attribute -------
  // ---------------------------------------- 
  /*
  
  EBNF representation of X-OCCI-Location from the http rendering specification
  
    Location        = "X-OCCI-Location" ":" location-value
    location-value  = URI-reference
  
negative.code: grammar occi;
  
  options {
    language = Java;
  }
  
  tokens{
    CATEGORY_HEADER = 'Category:';
    LINK_HEADER = 'Link:';
    ATTR_HEADER = 'X-OCCI-Attribute:';
    LOCATION_HEADER = 'X-OCCI-Location:';
    SCHEME_ATTR = 'scheme';
    CLASS_ATTR = 'class';
    TITLE_ATTR = 'title';
    REL_ATTR = 'rel';
    LOCATION_ATTR = 'location';
    SELF_ATTR = 'self';
    CAT_ATTR = 'category';
    CAT_ATTR_SEP = ';';
    VAL_ASSIGN = '=';
    QUOTE = '"';
    OPEN_PATH = '<';
    CLOSE_PATH = '>';
  }
  
  
  // ---------------------------------------- 
  // ---------- Category attribute ---------- 
  // ---------------------------------------- 
  
  /*
  ABNF representation of category from the http rendering specification
  
    Category         = "Category" ":" #category-value [ "," #category-value]
    category-value   = term
                      ";" "scheme" "=" <"> scheme <">
                      ";" "class" "=" ( class | <"> class <"> )
  