license expressions grammar
This is about Annex D, where we define the license expressions.
The ABNF grammar does not look correct to me...
In both definitions of compound-expression and license-expression we can delete the superfluous initial 1*1, which says "minimum 1, maximum 1", which of course is the same as omitting it ("exactly 1").
Then, the definition of license-expression includes both simple-expression and compound-expression, but compound-expression can already be a single simple-expression, so there is no need to have them both.
1*1is superfluous (and should be removed) I agree completely. +1
[EDIT] (I misunderstood the second point)
license-expressionis redundant I agree that there's a lot of redundancy here.(simple-expression / compound-expression)is logically equivalent tocompound-expression, and that also means thatlicense-expressionis effectively just a synonym forcompound-expression. On the other hand, I feel like the current definition has some value, just for the sake of readability.
Two more issues:
- Redundant
1*The definition oflicense-refinvolves1*(idstring), but the definition ofidstringalready used a1*. so the second1*is redundant.
[EDIT] removed the section about using triple backticks and ensuring correct line spacing. I see this is already done in development/v2.2.1
- Incorrect backslash
license-refdefinition includes the text1\*(idstring). I believe the backslash is incorrect. I think it was originally there to escape the asterisk, and stop it being interpreted as markdown markup. But the whole section is now inside triple backticks so the backslash is actually being rendered as part of the text.
It looks like this was partially resolved in 2.3, but we still have the redundant expressions.
Since we're past the review period for 2.3, I'm pushing this to a 3.0 fix.
Closing this, as the grammar of 3.0 has the fixes already integrated.