code: private CompositeExpression parseHyphenRange() {
          CompositeExpression gte = gte(parseVersion());
          consumeNextToken(HYPHEN);
          return gte.and(lte(parseVersion()));
      }
docs: Parses the {@literal <hyphen-range>} non-terminal.
  
  <pre>
  {@literal
  <hyphen-range> ::= <version> "-" <version>
  }
  </pre>
  
  @return the expression AST