pub fn tokens(input: &str) -> Vec<Token> {
    let mut tokens: Vec<Token> = Vec::new();
    let mut iter = &mut input.chars();
    let curr = iter.next();
    tokenize(&mut tokens, &mut iter, &curr);
    return tokens
}
// Given a string iterate over the characters and build a 
// vector of dice roll tokens.
Given a string iterate over the characters and build a
vector of dice roll tokens.
Given a string iterate over the characters and build a vector of dice roll tokens .
pub fn tokens(input: &str) -> Vec<Token> {
    let mut tokens: Vec<Token> = Vec::new();
    let mut iter = &mut input.chars();
    let curr = iter.next();
    tokenize(&mut tokens, &mut iter, &curr);
    return tokens
}
pub fn tokens ( input : & str ) -> Vec < Token > { let mut tokens : Vec < Token > = Vec :: new ( ) ; let mut iter = & mut input . chars ( ) ; let curr = iter . next ( ) ; tokenize ( & mut tokens , & mut iter , & curr ) ; return tokens }
Given a string iterate over the characters and build a
vector of dice roll tokens.
Given a string iterate over the characters and build a vector of dice roll tokens .
input
&str
input
&str