Parse integer literal
(tokens: &[Token])
| 2543 | |
| 2544 | /// Parse integer literal |
| 2545 | fn integer_literal(tokens: &[Token]) -> IResult<&[Token], i64> { |
| 2546 | if let Some(Token::Integer(n)) = tokens.first() { |
| 2547 | Ok((&tokens[1..], *n)) |
| 2548 | } else { |
| 2549 | Err(nom::Err::Error(nom::error::Error::new( |
| 2550 | tokens, |
| 2551 | nom::error::ErrorKind::Tag, |
| 2552 | ))) |
| 2553 | } |
| 2554 | } |
| 2555 | |
| 2556 | /// Parse float literal |
| 2557 | fn float_literal(tokens: &[Token]) -> IResult<&[Token], f64> { |