pub struct TokenizerBuilder { /* private fields */ }Expand description
A builder struct for creating a TokenizerConfig instance with customized options
Implementations§
Source§impl TokenizerBuilder
impl TokenizerBuilder
Sourcepub fn new() -> TokenizerBuilder
pub fn new() -> TokenizerBuilder
Creates a default TokenizerBuilder
Sourcepub fn parse_char_as_string(self, set_to: bool) -> Self
pub fn parse_char_as_string(self, set_to: bool) -> Self
Configures character parsing behavior
Examples found in repository?
examples/test.rs (line 9)
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 ignore_numbers(self, set_to: bool) -> Self
pub fn ignore_numbers(self, set_to: bool) -> Self
Configures number parsing behaviour
Examples found in repository?
examples/test.rs (line 13)
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 allow_digit_separator(self, choice: Choice<char>) -> Self
pub fn allow_digit_separator(self, choice: Choice<char>) -> Self
Sets the digit separator
Examples found in repository?
examples/test.rs (line 10)
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 add_symbol(self, sym: char) -> Self
pub fn add_symbol(self, sym: char) -> Self
Adds a symbol character
Sourcepub fn add_symbols(self, syms: &[char]) -> Self
pub fn add_symbols(self, syms: &[char]) -> Self
Adds multiple symbol characters
Examples found in repository?
examples/test.rs (line 11)
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 add_operator(self, op: char) -> Self
pub fn add_operator(self, op: char) -> Self
Adds an operator character
Sourcepub fn add_operators(self, ops: &[char]) -> Self
pub fn add_operators(self, ops: &[char]) -> Self
Adds multiple operator characters
Examples found in repository?
examples/test.rs (line 12)
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 build<T>(self, with_input: T) -> Tokenizerwhere
T: ToString,
pub fn build<T>(self, with_input: T) -> Tokenizerwhere
T: ToString,
Constructs a Tokenizer with the specified input and configuration.
Examples found in repository?
examples/test.rs (line 14)
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}Trait Implementations§
Source§impl Clone for TokenizerBuilder
impl Clone for TokenizerBuilder
Source§fn clone(&self) -> TokenizerBuilder
fn clone(&self) -> TokenizerBuilder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TokenizerBuilder
impl RefUnwindSafe for TokenizerBuilder
impl Send for TokenizerBuilder
impl Sync for TokenizerBuilder
impl Unpin for TokenizerBuilder
impl UnwindSafe for TokenizerBuilder
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