pub fn gen_lex( program_raw: String, raw_lex_string: String, raw_grammar_string: String, ) -> (Vec<Arc<Lex>>, Vec<String>)