forked from AbleOS/holey-bytes
All my commit messages are throwaways.
This commit is contained in:
parent
f8b40598fc
commit
6414adf373
|
@ -497,42 +497,45 @@ impl<'a> Lexer<'a> {
|
|||
self.advance();
|
||||
}
|
||||
|
||||
if self.advance_if(b'.') {
|
||||
while let Some(b'0'..=b'9' | b'A'..=b'F' | b'a'..=b'f' | b'_') = self.peek() {
|
||||
self.advance();
|
||||
}
|
||||
T::Float
|
||||
} else {
|
||||
T::Number
|
||||
}
|
||||
//if self.advance_if(b'.') {
|
||||
// while let Some(b'0'..=b'9' | b'A'..=b'F' | b'a'..=b'f' | b'_') = self.peek() {
|
||||
// self.advance();
|
||||
// }
|
||||
// T::Float
|
||||
//} else {
|
||||
// T::Number
|
||||
//}
|
||||
T::Number
|
||||
}
|
||||
b'0' if self.advance_if(b'b') => {
|
||||
while let Some(b'0' | b'1' | b'_') = self.peek() {
|
||||
self.advance();
|
||||
}
|
||||
|
||||
if self.advance_if(b'.') {
|
||||
while let Some(b'0' | b'1' | b'_') = self.peek() {
|
||||
self.advance();
|
||||
}
|
||||
T::Float
|
||||
} else {
|
||||
T::Number
|
||||
}
|
||||
//if self.advance_if(b'.') {
|
||||
// while let Some(b'0' | b'1' | b'_') = self.peek() {
|
||||
// self.advance();
|
||||
// }
|
||||
// T::Float
|
||||
//} else {
|
||||
// T::Number
|
||||
//}
|
||||
T::Number
|
||||
}
|
||||
b'0' if self.advance_if(b'o') => {
|
||||
while let Some(b'0'..=b'7' | b'_') = self.peek() {
|
||||
self.advance();
|
||||
}
|
||||
|
||||
if self.advance_if(b'.') {
|
||||
while let Some(b'0'..=b'7' | b'_') = self.peek() {
|
||||
self.advance();
|
||||
}
|
||||
T::Float
|
||||
} else {
|
||||
T::Number
|
||||
}
|
||||
//if self.advance_if(b'.') {
|
||||
// while let Some(b'0'..=b'7' | b'_') = self.peek() {
|
||||
// self.advance();
|
||||
// }
|
||||
// T::Float
|
||||
//} else {
|
||||
// T::Number
|
||||
//}
|
||||
T::Number
|
||||
}
|
||||
b'0'..=b'9' => {
|
||||
while let Some(b'0'..=b'9' | b'_') = self.peek() {
|
||||
|
|
|
@ -543,13 +543,16 @@ impl<'a, 'b> Parser<'a, 'b> {
|
|||
radix,
|
||||
}
|
||||
}
|
||||
T::Float => E::Float {
|
||||
pos,
|
||||
value: match <f64 as core::str::FromStr>::from_str(self.lexer.slice(token.range()))
|
||||
{
|
||||
Ok(f) => f.to_bits(),
|
||||
Err(e) => self.report(token.start, format_args!("invalid float: {e}"))?,
|
||||
},
|
||||
T::Float => {
|
||||
|
||||
E::Float {
|
||||
pos,
|
||||
value: match <f64 as core::str::FromStr>::from_str(self.lexer.slice(token.range()))
|
||||
{
|
||||
Ok(f) => f.to_bits(),
|
||||
Err(e) => self.report(token.start, format_args!("invalid float: {e}"))?,
|
||||
},
|
||||
}
|
||||
},
|
||||
T::LParen => {
|
||||
let expr = self.expr()?;
|
||||
|
|
Loading…
Reference in a new issue