<build identifier>'s BNF should be simplified #465

Open
opened 2026-02-17 12:07:25 -06:00 by GiteaMirror · 2 comments
Owner

Originally created by @ogregoire on GitHub (Mar 24, 2021).

Unless I'm missing something, one can write a build identifier as any sequence of digits, letters and dashes.

Therefore I think it'll be easier to understand the format of build identifier if it is simplified as follows:

<build identifier> ::= <identifier characters>

If not, can you provide an example of build identifier that doesn't match <identifier characters>?

Originally created by @ogregoire on GitHub (Mar 24, 2021). Unless I'm missing something, one can write a build identifier as any sequence of digits, letters and dashes. Therefore I think it'll be easier to understand the format of `build identifier` if it is simplified as follows: ```` <build identifier> ::= <identifier characters> ```` If not, can you provide an example of build identifier that doesn't match `<identifier characters>`?
GiteaMirror added the question label 2026-02-17 12:07:25 -06:00
Author
Owner

@kaldrako1 commented on GitHub (Mar 28, 2021):

Bc

@kaldrako1 commented on GitHub (Mar 28, 2021): Bc
Author
Owner

@zafarkhaja commented on GitHub (Jan 13, 2024):

Two reasons that I can think of why it's the way it is, are

  1. desire to reuse already defined symbols
  2. desire to differentiate between <alphanumeric identifier> and <digits>

The purpose of the second one is not clear, as opposed to the purpose of differentiating between <alphanumeric identifier> and <numeric identifier> in <pre-release>, which has to do with determining precedence (SemVer 11.iv.c).

@zafarkhaja commented on GitHub (Jan 13, 2024): Two reasons that I can think of why it's the way it is, are 1) desire to reuse already defined symbols 2) desire to differentiate between `<alphanumeric identifier>` and `<digits>` The purpose of the second one is not clear, as opposed to the purpose of differentiating between `<alphanumeric identifier>` and `<numeric identifier>` in `<pre-release>`, which has to do with determining precedence (SemVer 11.iv.c).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/semver#465