pub fn generate(tokens: Vec<Token>) -> (Vec<u16>, Vec<Token>)
Returns both a list of executable words AND their corrosponding tokens, to be able to give runtime errors