Various fixes for hexadecimal numbers in shaders #1345
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes the issues described in #1340:
F
inside a hexadecimal number classified as identifierf
inside a hexadecimal number causes "float literals not implemented" errore/E
inside a hexadecimal number cause either "float literals not implemented" or "duplicate exponent" errorAlso adds/changes some error messages:
p/P
outside a number starting with0x
p/P/e/E
at the end of a number literalThe implementation seems a bit heavy-handed and I'm not 100% sure to have caught all edge cases despite testing, so I'm open for any feedback and changes.