code: private String buildIdentifier() {
      checkForEmptyIdentifier();
      CharType boundary = nearestCharType(CharType.DOT, CharType.EOL);
      if (chars.positiveLookaheadBefore(boundary, CharType.LETTER, CharType.HYPHEN)) {
        return alphanumericIdentifier();
      } else {
        return digits();
      }
    }
docs: Parses the {@literal <build identifier>} non-terminal.
  
  <pre>
  {@literal
  <build identifier> ::= <alphanumeric identifier>
  | <digits>
  }
  </pre>
  
  @return a single build identifier