More work on seq representation
This commit is contained in:
parent
9a3745d25c
commit
dfb151e2a3
@ -1,4 +1,4 @@
|
|||||||
use crate::parser::{ParseResult, Parser, ParserInput};
|
use crate::parser::{ParseResult, Parser, ParserInput, Representation};
|
||||||
|
|
||||||
pub fn tuple2<P1, P2, I, O1, O2, E>(parser1: P1, parser2: P2) -> impl Parser<I, (O1, O2), E>
|
pub fn tuple2<P1, P2, I, O1, O2, E>(parser1: P1, parser2: P2) -> impl Parser<I, (O1, O2), E>
|
||||||
where
|
where
|
||||||
@ -14,7 +14,9 @@ where
|
|||||||
I: ParserInput,
|
I: ParserInput,
|
||||||
T: Sequence<I, O, E>,
|
T: Sequence<I, O, E>,
|
||||||
{
|
{
|
||||||
move |input| sequence.parse(input)
|
let rep = sequence.representation();
|
||||||
|
let p = move |input| sequence.parse(input);
|
||||||
|
(p, rep)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO - eventually rewrite this parser combinator in Schala. Seeing what this
|
/* TODO - eventually rewrite this parser combinator in Schala. Seeing what this
|
||||||
@ -24,6 +26,9 @@ where
|
|||||||
|
|
||||||
pub trait Sequence<I, O, E> {
|
pub trait Sequence<I, O, E> {
|
||||||
fn parse(&self, input: I) -> ParseResult<I, O, E>;
|
fn parse(&self, input: I) -> ParseResult<I, O, E>;
|
||||||
|
fn representation(&self) -> Representation {
|
||||||
|
Representation::new("SEQ NOT DONE YET")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<I, O1, O2, E, P1, P2> Sequence<I, (O1, O2), E> for (P1, P2)
|
impl<I, O1, O2, E, P1, P2> Sequence<I, (O1, O2), E> for (P1, P2)
|
||||||
|
@ -244,4 +244,5 @@ fn test_representations() {
|
|||||||
json_bool().representation(),
|
json_bool().representation(),
|
||||||
Representation::new("true | false")
|
Representation::new("true | false")
|
||||||
);
|
);
|
||||||
|
assert_eq!(json_number().representation(), Representation::new("null"));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user