作为练习,我正在从头开始为 Haskell 编写解析器。在制作词法分析器时,我注意到Haskell 2010 Report 中的以下规则:
digit ? ascDigit | uniDigit
ascDigit ?0|1| … |9
uniDigit ? any Unicode decimal digit
octit ?0|1| … |7
hexit ? digit |A| … |F|a| … |fdecimal ? digit{digit}
octal ? octit{octit}
hexadecimal ? hexit{hexit}integer ? decimal |
0ooctal |0Ooctal | …