code: func (p *Parser) parseKeyAndInferOperator() (string, Operator, error) {
  	var operator Operator
  	tok, literal := p.consume(Values)
  	if tok == DoesNotExistToken {
  		operator = DoesNotExistOperator
  		tok, literal = p.consume(Values)
  	}
  	if tok != IdentifierToken {
  		err := fmt.Errorf("found '%s', expected: identifier", literal)
  		return "", "", err
  	}
  	if err := validateLabelKey(literal); err != nil {
  		return "", "", err
  	}
  	if t, _ := p.lookahead(Values); t == EndOfStringToken || t == CommaToken {
  		if operator != DoesNotExistOperator {
  			operator = ExistsOperator
  		}
  	}
  	return literal, operator, nil
  }
docs: // parseKeyAndInferOperator parse literals.
  // in case of no operator '!, in, notin, ==, =, !=' are found
  // the 'exists' operator is inferred