pub fn init_source(text: &str) -> Vec<&str>
Obtain unicode grapheme groups from input source, then make sure it ends with new_line. Many functions in the parser assume input ends with new_line.