anchor.diff:  	                         $value = $QUOTED_VALUE.text;
   	                       }
   	                       ;
  -
   
   //this value can be passed on to the uri rule in Location for validation
   actions_attr           returns [String value] :
  
positive.code: 	                       }
  	                       ;
  
  
  //these value once extracted can be passed on to the attributes_attr rule
  c_attributes_attr      returns [String value] :
  	                       ';' 'attributes' '='
  
negative.code:   static String occi_core_self          = "occi.core.self";
    static String occi_core_category      = "occi.core.category";
  
    private String last_error = "";
  
    public static OcciParser getParser(String occiHeader) throws Exception {
  
      CharStream stream = new ANTLRStringStream(occiHeader);
  	  OcciLexer lexer = new OcciLexer(stream);
  	  CommonTokenStream tokenStream = new CommonTokenStream(lexer);
  	  OcciParser parser = new OcciParser(tokenStream);
  
      return parser;
    }
  
    public String getLastError(){
      return last_error;
    }
  }
  
  @rulecatch{
    catch(RecognitionException rex) {
  
      last_error = getErrorHeader(rex) + " " + getErrorMessage(rex, OcciParser.tokenNames);
      //System.out.println("Parser error: " + last_error);
  
      throw new OcciParserException(last_error);
    }
  }
  
  