diff options
Diffstat (limited to 'src/chomp')
-rw-r--r-- | src/chomp/ast/mod.rs | 9 | ||||
-rw-r--r-- | src/chomp/typed/infer.rs | 8 |
2 files changed, 8 insertions, 9 deletions
diff --git a/src/chomp/ast/mod.rs b/src/chomp/ast/mod.rs index 9a159e4..e4ed2fc 100644 --- a/src/chomp/ast/mod.rs +++ b/src/chomp/ast/mod.rs @@ -1,7 +1,6 @@ use std::fmt::{self, Display}; use proc_macro2::Span; -use syn::Token; use super::Name; @@ -16,9 +15,9 @@ pub type Literal = String; #[derive(Clone, Debug)] pub struct Cat { pub first: Box<NamedExpression>, - pub punct: Option<Token![.]>, + pub punct: Option<Span>, pub second: Box<NamedExpression>, - pub rest: Vec<(Option<Token![.]>, NamedExpression)>, + pub rest: Vec<(Option<Span>, NamedExpression)>, } impl Display for Cat { @@ -49,9 +48,9 @@ impl Eq for Cat {} #[derive(Clone, Debug)] pub struct Alt { pub first: Box<NamedExpression>, - pub punct: Option<Token![|]>, + pub punct: Option<Span>, pub second: Box<NamedExpression>, - pub rest: Vec<(Option<Token![|]>, NamedExpression)> + pub rest: Vec<(Option<Span>, NamedExpression)> } impl Display for Alt { diff --git a/src/chomp/typed/infer.rs b/src/chomp/typed/infer.rs index 0161471..8095103 100644 --- a/src/chomp/typed/infer.rs +++ b/src/chomp/typed/infer.rs @@ -48,11 +48,11 @@ impl Folder for TypeInfer<'_> { let rest = rest .into_iter() .map(|(punct, term)| -> Result<_, TypeError> { - Ok((punct.map(|p| p.span), term.fold(&mut infer)?)) + Ok((punct, term.fold(&mut infer)?)) }) .collect::<Result<Vec<_>, _>>()?; Ok(TypedExpression { - inner: super::Cat::new(first, punct.map(|p| p.span), second, rest)?.into(), + inner: super::Cat::new(first, punct, second, rest)?.into(), name, span, }) @@ -71,11 +71,11 @@ impl Folder for TypeInfer<'_> { let rest = rest .into_iter() .map(|(punct, term)| -> Result<_, TypeError> { - Ok((punct.map(|p| p.span), term.fold(&mut infer)?)) + Ok((punct, term.fold(&mut infer)?)) }) .collect::<Result<Vec<_>, _>>()?; Ok(TypedExpression { - inner: super::Alt::new(first, punct.map(|p| p.span), second, rest)?.into(), + inner: super::Alt::new(first, punct, second, rest)?.into(), name, span, }) |