File tree Expand file tree Collapse file tree 1 file changed +7
-7
lines changed Expand file tree Collapse file tree 1 file changed +7
-7
lines changed Original file line number Diff line number Diff line change @@ -191,8 +191,10 @@ exports.Lexer = class Lexer
191
191
# Be careful not to interfere with ranges-in-progress.
192
192
numberToken : ->
193
193
return 0 unless match = NUMBER .exec @chunk
194
+
194
195
number = match[0 ]
195
196
lexedLength = number .length
197
+
196
198
if / ^ 0[BOX] / .test number
197
199
@ error " radix prefix in '#{ number} ' must be lowercase" , offset : 1
198
200
else if / E/ .test (number) and not / ^ 0x/ .test number
@@ -202,14 +204,12 @@ exports.Lexer = class Lexer
202
204
@ error " decimal literal '#{ number} ' must not be prefixed with '0'" , length : lexedLength
203
205
else if / ^ 0\d + / .test number
204
206
@ error " octal literal '#{ number} ' must be prefixed with '0o'" , length : lexedLength
205
- if octalLiteral = / ^ 0o([0-7 ] + )/ .exec number
206
- numberValue = parseInt (octalLiteral[1 ], 8 )
207
- number = " 0x#{ numberValue .toString 16 } "
208
- else if binaryLiteral = / ^ 0b([01] + )/ .exec number
209
- numberValue = parseInt (binaryLiteral[1 ], 2 )
210
- number = " 0x#{ numberValue .toString 16 } "
211
- else
207
+
208
+ numberValue = number
209
+
210
+ unless / ^ (0o[0-7 ] + )/ .test (number) or / ^ (0b[01] + )/ .test (number)
212
211
numberValue = parseFloat (number)
212
+
213
213
tag = if numberValue is Infinity then ' INFINITY' else ' NUMBER'
214
214
@ token tag, number, 0 , lexedLength
215
215
lexedLength
You can’t perform that action at this time.
0 commit comments