void parse(lexer& lexer) { //clear clear(); //empty if(lexer.is_empty()) return; //string if(try_(lexer,&self::extract_string<fake>)) return; //character if(try_(lexer,&self::extract_character<fake>)) return; //c comment if(try_(lexer,&self::extract_c_comment<fake>)) return; //cpp comment if(try_(lexer,&self::extract_cpp_comment<fake>)) return; //unit check(try_(lexer,&self::extract_unit<fake>)); }