diff options
| author | John Turner <jturner.usa@gmail.com> | 2025-11-13 23:02:40 +0000 |
|---|---|---|
| committer | John Turner <jturner.usa@gmail.com> | 2025-11-13 23:03:04 +0000 |
| commit | d3085968d3913781ea6c19251a1d9170f09e018c (patch) | |
| tree | ac98dacca13ad2d9c7e9a09f7d7601605e876286 /src/lib.rs | |
| parent | 3d4b4babaac3f9624308e9ae3eab3a15134e2ed1 (diff) | |
| download | mon-d3085968d3913781ea6c19251a1d9170f09e018c.tar.gz | |
make alpha, numeric, alphanumeric, and whitespace return I::Item
Diffstat (limited to 'src/lib.rs')
| -rw-r--r-- | src/lib.rs | 22 |
1 files changed, 5 insertions, 17 deletions
@@ -995,15 +995,12 @@ where Eof } -pub fn alpha<I>() -> impl Parser<I, Output = I> +pub fn alpha<I>() -> impl Parser<I, Output = I::Item> where I: Input, I::Item: Character, { r#if(|c: &I::Item| c.is_alphabetic()) - .repeated() - .many() - .recognize() } pub fn alpha1<I>() -> impl Parser<I, Output = I> @@ -1017,15 +1014,12 @@ where .recognize() } -pub fn numeric<I>() -> impl Parser<I, Output = I> +pub fn numeric<I>() -> impl Parser<I, Output = I::Item> where I: Input, I::Item: Character, { r#if(|c: &I::Item| c.is_numeric()) - .repeated() - .many() - .recognize() } pub fn numeric1<I>() -> impl Parser<I, Output = I> @@ -1039,15 +1033,12 @@ where .recognize() } -pub fn alphanumeric<I>() -> impl Parser<I, Output = I> +pub fn alphanumeric<I>() -> impl Parser<I, Output = I::Item> where I: Input, I::Item: Character, { r#if(|c: &I::Item| c.is_alphanumeric()) - .repeated() - .many() - .recognize() } pub fn alphanumeric1<I>() -> impl Parser<I, Output = I> @@ -1061,15 +1052,12 @@ where .recognize() } -pub fn whitespace<I>() -> impl Parser<I, Output = I> +pub fn whitespace<I>() -> impl Parser<I, Output = I::Item> where I: Input, I::Item: Character, { r#if(|c: &I::Item| c.is_whitespace()) - .repeated() - .many() - .recognize() } pub fn whitespace1<I>() -> impl Parser<I, Output = I> @@ -1129,7 +1117,7 @@ mod test { let input = "a b c"; let it = InputIter::new(input); - alpha1() + alpha() .separated_by(whitespace()) .at_least(1) .check_finished(it) |
