pub struct Scanner<'a> { /* private fields */ }Expand description
A lexer to split a string into a list of Tokens.
Implementations§
Source§impl<'a> Scanner<'a>
impl<'a> Scanner<'a>
Sourcepub fn tokenize(source: &'a str) -> Result<Vec<Token>>
pub fn tokenize(source: &'a str) -> Result<Vec<Token>>
Converts an input string into a list of Tokens.
§Examples
use slac::{Scanner, Token, Value};
let tokens = Scanner::tokenize("40 + 2").unwrap();
let expected: Vec<Token> = vec![Token::Literal(Value::Number(40.0)), Token::Plus, Token::Literal(Value::Number(2.0))];
assert_eq!(tokens, expected);§Errors
Returns an Error when encountering invalid input.
Auto Trait Implementations§
impl<'a> Freeze for Scanner<'a>
impl<'a> RefUnwindSafe for Scanner<'a>
impl<'a> Send for Scanner<'a>
impl<'a> Sync for Scanner<'a>
impl<'a> Unpin for Scanner<'a>
impl<'a> UnwindSafe for Scanner<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more