pub fn analyse(source: &str) -> impl Iterator<Item = Lexeme> + '_ {
    let mut cursor = Cursor::new(source);

    iter::from_fn(move || {
        if cursor.is_eof() {
            None
        }
        else {
            cursor.reset_consumed_len();
            Some(cursor.next_lexeme())
        }
    })
}
/// Analyse the source code, and return an iterator of lexemes.
Analyse the source code, and return an iterator of lexemes.
Analyse the source code and return an iterator of lexemes .
pub fn analyse(source: &str) -> impl Iterator<Item = Lexeme> + '_ {
    let mut cursor = Cursor::new(source);
    iter::from_fn(move || {
        if cursor.is_eof() {
            None
        }
        else {
            cursor.reset_consumed_len();
            Some(cursor.next_lexeme())
        }
    })
}
pub fn analyse ( source : & str ) -> impl Iterator < Item = Lexeme > + ' _ { let mut cursor = Cursor :: new ( source ) ; iter :: from_fn ( move | | { if cursor . is_eof ( ) { None } else { cursor . reset_consumed_len ( ) ; Some ( cursor . next_lexeme ( ) ) } } ) }
Analyse the source code, and return an iterator of lexemes.
Analyse the source code and return an iterator of lexemes .
source
&str
source
&str