diff --git a/src/literals.rs b/src/literals.rs index becbf8d..32fb6f0 100644 --- a/src/literals.rs +++ b/src/literals.rs @@ -1,3 +1,5 @@ +use std::ops::RangeFrom; + use nom::{ bytes::complete::tag, character::complete::{char, one_of}, @@ -8,13 +10,6 @@ use nom::{ use crate::parser::IResult; -pub fn decimal(input: &str) -> IResult<&str, u64> { - map_res( - recognize(many1(terminated(one_of("0123456789"), many0(char('_'))))), - |out: &str| out.parse::(), - )(input) -} - pub fn hexadecimal(input: &str) -> IResult<&str, u64> { map_res( preceded( diff --git a/src/parser.rs b/src/parser.rs index c8f86d2..bfb69f2 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -1,7 +1,7 @@ use nom::{ branch::alt, bytes::complete::tag, - character::complete::{alpha1, alphanumeric1, char, multispace0, multispace1}, + character::complete::{alpha1, alphanumeric1, char, multispace0, multispace1, u64 as decimal}, combinator::{map, opt, recognize}, error::{context, ParseError, VerboseError}, multi::{many0, many1, separated_list0}, @@ -16,7 +16,7 @@ type Span<'a> = LocatedSpan<&'a str>; // custom IResult type for VerboseError pub type IResult> = nom::IResult; -use crate::literals::{decimal, hexadecimal}; +use crate::literals::{hexadecimal}; fn ws0<'a, F: 'a, O, E: ParseError<&'a str>>( inner: F,