The production for SpecialFloatLiteral looks incorrect, as the minuses are not optional, as they are for IntLiteral and FloatLiteral. Instead of this:
SpecialFloatLiteral = minus inf | minus nan .
Should it not actually be this?
SpecialFloatLiteral = [ minus ] inf | [ minus ] nan .
EDIT:
A few more things I noticed that may or may not be intentional, but I wanted to ask:
-
IntLiteral, FloatLiteral, and SpecialFloatLiteral allow a preceding minus in the grammar but not a plus. Is this intentional?
-
ScalarValue allows a SpecialFloatLiteral (i.e. inf and NaN) while TextFormatScalarValue does not. Is this intentional?
-
TextFormatScalarValue allows both an identifier and a SignedIdentifier while ScalarValue allows the identifier but not its signed version. Is this intentional?
The production for SpecialFloatLiteral looks incorrect, as the minuses are not optional, as they are for IntLiteral and FloatLiteral. Instead of this:
Should it not actually be this?
EDIT:
A few more things I noticed that may or may not be intentional, but I wanted to ask:
IntLiteral, FloatLiteral, and SpecialFloatLiteral allow a preceding minus in the grammar but not a plus. Is this intentional?
ScalarValue allows a SpecialFloatLiteral (i.e. inf and NaN) while TextFormatScalarValue does not. Is this intentional?
TextFormatScalarValue allows both an identifier and a SignedIdentifier while ScalarValue allows the identifier but not its signed version. Is this intentional?