diff --git a/src/parse/tokens.rs b/src/parse/tokens.rs
index 2dc4a3a..3894e30 100644
--- a/src/parse/tokens.rs
+++ b/src/parse/tokens.rs
@@ -327,7 +327,7 @@ impl<'i> Tokens<'i, ()>
pub fn new_filter
(input: &'i str, mut predicate: P)
-> Tokens<'i, impl FnMut(Token<'i>) -> Option>>
where
- P: FnMut(&Token<'i>) -> bool
+ P: FnMut(&Token<'i>) -> bool,
{
Tokens::new_filter_map(input,
move |x|
@@ -517,158 +517,6 @@ where
}
}
-/*pub(crate) struct TokenIterator<'i>
-{
- original_input: &'i str,
- input: &'i str,
-}
-
-impl<'i> TokenIterator<'i>
-{
- pub fn new(input: &'i str) -> Self
- {
- Self
- {
- original_input: input,
- input,
- }
- }
-}
-
-impl<'i> std::iter::Iterator for TokenIterator<'i>
-{
- type Item = Result<(usize, usize, Token<'i>), crate::parse::Error>;
-
- fn next(&mut self) -> Option
- {
- self.input = self.input.trim_start();
- let index_left = substring_offset(self.input, self.original_input);
-
- let first_character = match self.input.chars().next()
- {
- None => return None,
- Some(first_character) => first_character,
- };
-
- if self.input.starts_with(")")
- {
- return Some(Err(crate::parse::Error::new_unmatched_parenthesis(
- crate::parse::error::Location::new(0, Some(1)))));
- }
-
- match parenthesized_expression(self.input)
- {
- Ok(Some((parenthesized_expression, remaining_input))) =>
- {
- self.input = remaining_input;
- let index_right = substring_offset(self.input, self.original_input);
-
- return Some(Ok((index_left, index_right,
- Token::ParenthesizedExpression(parenthesized_expression))));
- },
- Ok(None) => (),
- Err(error) => return Some(Err(error)),
- }
-
- match number(self.input)
- {
- Ok(Some((number, remaining_input))) =>
- {
- self.input = remaining_input;
- let index_right = substring_offset(self.input, self.original_input);
-
- return Some(Ok((index_left, index_right, Token::Number(number))));
- },
- Ok(None) => (),
- Err(error) => return Some(Err(error)),
- }
-
- if let Some((identifier, remaining_input)) = identifier(self.input)
- {
- self.input = remaining_input;
- let index_right = substring_offset(self.input, self.original_input);
-
- return Some(Ok((index_left, index_right, Token::Identifier(identifier))));
- }
-
- if let Some((symbol, remaining_input)) = symbol(self.input)
- {
- self.input = remaining_input;
- let index_right = substring_offset(self.input, self.original_input);
-
- return Some(Ok((index_left, index_right, Token::Symbol(symbol))));
- }
-
- return Some(Err(crate::parse::Error::new_character_not_allowed(first_character,
- crate::parse::error::Location::new(0, Some(0)))));
- }
-}
-
-pub(crate) struct TokenSplit<'i, T, U>
-where
- T: std::iter::Iterator- >
-{
- token_iterator: T,
- original_input: &'i str,
- previous_index: usize,
-}
-
-impl<'i, T, U> TokenSplit<'i, T, U>
-where
- T: std::iter::Iterator
- >
-{
- pub fn new(token_iterator: T, original_input: &'i str) -> Self
- {
- Self
- {
- token_iterator,
- original_input,
- previous_index: 0,
- }
- }
-}
-
-impl<'i, T, U> std::iter::Iterator for TokenSplit<'i, T, U>
-where
- T: std::iter::Iterator
- >
-{
- type Item = Result<&'i str, crate::parse::Error>;
-
- fn next(&mut self) -> Option
- {
- if self.previous_index == self.original_input.len()
- {
- return None;
- }
-
- loop
- {
- match self.token_iterator.next()
- {
- Some(Ok((index_left, index_right, token))) =>
- {
- let input_between = self.original_input[self.previous_index..index_left].trim();
-
- assert!(!input_between.is_empty());
-
- self.previous_index = index_right;
-
- return Some(Ok(input_between));
- },
- Some(Err(error)) => return Some(Err(error)),
- None =>
- {
- let remaining_input = self.original_input[self.previous_index..].trim();
-
- self.previous_index = self.original_input.len();
-
- return Some(Ok(remaining_input));
- },
- }
- }
- }
-}*/
-
#[cfg(test)]
mod tests
{