anchor.diff:  // Selectors
   
   instantSelector
  -    : METRIC_NAME LEFT_BRACE labelMatcher (COMMA labelMatcher)* RIGHT_BRACE
  -    | METRIC_NAME LEFT_BRACE RIGHT_BRACE
  -    | METRIC_NAME
  -    | LEFT_BRACE labelMatcher (COMMA labelMatcher)* RIGHT_BRACE
  +    : METRIC_NAME (LEFT_BRACE labelMatcherList? RIGHT_BRACE)?
  +    | LEFT_BRACE labelMatcherList RIGHT_BRACE
       ;
   
   labelMatcher:         labelName labelMatcherOperator STRING;
   labelMatcherOperator: EQ | NE | RE | NRE;
  +labelMatcherList:     labelMatcher (COMMA labelMatcher)*;
   
   matrixSelector: instantSelector TIME_RANGE;
   
  
positive.code: // Unary operations have the same precedence as multiplications
  
  vectorOperation
      : vector powOp vectorOperation // pow is right-associative
      | unaryOp vectorOperation
      | vectorOperation multOp vectorOperation
      | vectorOperation addOp vectorOperation
  
negative.code: 
  function: FUNCTION LEFT_PAREN parameter (COMMA parameter)* RIGHT_PAREN;
  
  parameter:     literal | vector;
  parameterList: LEFT_PAREN (parameter (COMMA parameter)*)? RIGHT_PAREN;
  
  // Aggregations
  
  