Modules
This commit is contained in:
14
src/sequence.rs
Normal file
14
src/sequence.rs
Normal file
@@ -0,0 +1,14 @@
|
||||
use crate::{ParseResult, Parser};
|
||||
|
||||
pub fn sequence<I, O1, O2, E>(
|
||||
first: impl Parser<I, O1, E>,
|
||||
second: impl Parser<I, O2, E>,
|
||||
) -> impl Parser<I, (O1, O2), E> {
|
||||
move |input| -> ParseResult<I, (O1, O2), E> {
|
||||
first.parse(input).and_then(|(result1, rest)| {
|
||||
second
|
||||
.parse(rest)
|
||||
.map(|(result2, rest2)| ((result1, result2), rest2))
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user