diff --git a/src/annotated.rs b/src/annotated.rs
index 9a0e07e..bff85d3 100644
--- a/src/annotated.rs
+++ b/src/annotated.rs
@@ -1,6 +1,6 @@
use std::marker::PhantomData;
-use crate::{ParseResult, Parser};
+use crate::{representation::Representation, ParseResult, Parser};
pub struct AnnotatedParser
where
@@ -8,6 +8,7 @@ where
{
inner: P,
name: Option,
+ repr: Option,
phantom: PhantomData<(I, O, E)>,
}
@@ -32,6 +33,7 @@ where
Self {
inner,
name: None,
+ repr: None,
phantom: PhantomData,
}
}
@@ -42,4 +44,11 @@ where
..self
}
}
+
+ pub fn with_repr(self, repr: Representation) -> Self {
+ Self {
+ repr: Some(repr),
+ ..self
+ }
+ }
}
diff --git a/src/lib.rs b/src/lib.rs
index 681a09f..7aba179 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -5,6 +5,7 @@ mod combinators;
mod map;
mod parser;
mod primitives;
+mod representation;
mod sequence;
#[cfg(test)]
diff --git a/src/representation.rs b/src/representation.rs
new file mode 100644
index 0000000..dbd06b0
--- /dev/null
+++ b/src/representation.rs
@@ -0,0 +1,2 @@
+#[derive(Debug)]
+pub struct Representation {}