pub struct Tokenizer {
pub lines: Vec<Vec<char>>,
/* private fields */
}Expand description
Primary struct for tokenizing an input string, with methods for parsing and generating tokens
Fields§
§lines: Vec<Vec<char>>Implementations§
Source§impl Tokenizer
impl Tokenizer
Sourcepub fn builder() -> TokenizerBuilder
pub fn builder() -> TokenizerBuilder
Creates a TokenizerBuilder instance for configuring and initializing the tokenizer
Examples found in repository?
examples/test.rs (line 8)
7fn main() {
8 let tokenizer = Tokenizer::builder()
9 .parse_char_as_string(true)
10 .allow_digit_separator(tinytoken::Choice::Yes('_'))
11 .add_symbols(&['{', '}', '(', ')', ';', '#', ',', '[', ']'])
12 .add_operators(&['+', '-', '*', '%', '/', '&'])
13 .ignore_numbers(true)
14 .build(TO_PARSE);
15 // A little comment 77777.
16 let start_time = SystemTime::now();
17 match tokenizer.tokenize() {
18 Ok(tokens) => {
19 eprintln!(
20 "-> elapsed: {}µs",
21 start_time.elapsed().unwrap().as_micros()
22 );
23 println!("---------\nparsed {} token(s)\n---------", tokens.len());
24 println!("{tokens:?}");
25 }
26 Err(e) => {
27 println!("{e}")
28 }
29 }
30}Sourcepub fn new<T>(input: T, config: TokenizerConfig) -> Selfwhere
T: ToString,
pub fn new<T>(input: T, config: TokenizerConfig) -> Selfwhere
T: ToString,
Initializes the tokenizer with input text and a configuration
Sourcepub fn tokenize(self) -> Result<Vec<Token>, TokenizationError>
pub fn tokenize(self) -> Result<Vec<Token>, TokenizationError>
Tokenizes the input and returns a list of Tokens or a TokenizationError if parsing fails
Examples found in repository?
examples/test.rs (line 17)
7fn main() {
8 let tokenizer = Tokenizer::builder()
9 .parse_char_as_string(true)
10 .allow_digit_separator(tinytoken::Choice::Yes('_'))
11 .add_symbols(&['{', '}', '(', ')', ';', '#', ',', '[', ']'])
12 .add_operators(&['+', '-', '*', '%', '/', '&'])
13 .ignore_numbers(true)
14 .build(TO_PARSE);
15 // A little comment 77777.
16 let start_time = SystemTime::now();
17 match tokenizer.tokenize() {
18 Ok(tokens) => {
19 eprintln!(
20 "-> elapsed: {}µs",
21 start_time.elapsed().unwrap().as_micros()
22 );
23 println!("---------\nparsed {} token(s)\n---------", tokens.len());
24 println!("{tokens:?}");
25 }
26 Err(e) => {
27 println!("{e}")
28 }
29 }
30}Auto Trait Implementations§
impl Freeze for Tokenizer
impl RefUnwindSafe for Tokenizer
impl Send for Tokenizer
impl Sync for Tokenizer
impl Unpin for Tokenizer
impl UnwindSafe for Tokenizer
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