mach
mach copied to clipboard
Various fixes for hexadecimal numbers in shaders
- [x] By selecting this checkbox, I agree to license my contributions to this project under the license(s) described in the LICENSE file, and I have the right to do so or have received permission to do so by an employer or client I am producing work for whom has this right.
Fixes the issues described in #1340:
Finside a hexadecimal number classified as identifierfinside a hexadecimal number causes "float literals not implemented" errore/Einside a hexadecimal number cause either "float literals not implemented" or "duplicate exponent" error
Also adds/changes some error messages:
- Adds "hexadecimal exponent in decimal float" when finding
p/Poutside a number starting with0x - Adds "incomplete exponent" when finding
p/P/e/Eat the end of a number literal - Clarifies "suffix '{c}' on float literal" --> "int suffix '{c}' on float literal"
The 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.