Function wcal::lexer::lexer [−][src]
pub fn lexer(input: &str) -> Result<Vec<Token>, String>
Parse string into tokens. Only parse one line input.
Parse will stop while meet \n
or \f
.
Return Err(String)
while input is invalid.
Example
use wcal::lexer::{lexer, Token}; let tokens = lexer("12*(0x_1A-0b01)+-0o12/0\n123").unwrap(); assert_eq!(tokens, [ Token::Number(12), Token::Times, Token::LP, Token::Number(26), Token::Minus, Token::Number(1), Token::RP, Token::Plus, Token::Minus, Token::Number(10), Token::Division, Token::Number(0) ]);