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)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
fn main() {
let tokenizer = Tokenizer::builder()
.parse_char_as_string(true)
.allow_digit_separator(tinytoken::Choice::Yes('_'))
.add_symbols(&['{', '}', '(', ')', ';', '#', ',', '[', ']'])
.add_operators(&['+', '-', '*', '%', '/', '&'])
.build(TO_PARSE);
let start_time = SystemTime::now();
match tokenizer.tokenize() {
Ok(tokens) => {
eprintln!(
"-> elapsed: {}µs",
start_time.elapsed().unwrap().as_micros()
);
println!("---------\nparsed {} token(s)\n---------", tokens.len());
println!("{tokens:?}");
}
Err(e) => {
println!("{e}")
}
}
}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 15)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
fn main() {
let tokenizer = Tokenizer::builder()
.parse_char_as_string(true)
.allow_digit_separator(tinytoken::Choice::Yes('_'))
.add_symbols(&['{', '}', '(', ')', ';', '#', ',', '[', ']'])
.add_operators(&['+', '-', '*', '%', '/', '&'])
.build(TO_PARSE);
let start_time = SystemTime::now();
match tokenizer.tokenize() {
Ok(tokens) => {
eprintln!(
"-> elapsed: {}µs",
start_time.elapsed().unwrap().as_micros()
);
println!("---------\nparsed {} token(s)\n---------", tokens.len());
println!("{tokens:?}");
}
Err(e) => {
println!("{e}")
}
}
}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