|
parse_txt([C|Rest]) -> parse_txt_char([C|Rest], C, Rest, [], false). |
|
parse_txt(String, [], [], _) -> [String]; |
|
parse_txt(_, [], Tokens, _) -> Tokens; |
|
parse_txt(String, [C|Rest], Tokens, Escaped) -> parse_txt_char(String, C, Rest, Tokens, Escaped). |
|
parse_txt(String, [C|Rest], Tokens, CurrentToken, Escaped) -> parse_txt_char(String, C, Rest, Tokens, CurrentToken, Escaped). |
|
parse_txt_char(String, $", Rest, Tokens, _) -> parse_txt(String, Rest, Tokens, [], false); |
|
parse_txt_char(String, _, Rest, Tokens, _) -> parse_txt(String, Rest, Tokens, false). |
|
parse_txt_char(String, $", Rest, Tokens, CurrentToken, false) -> parse_txt(String, Rest, Tokens ++ [CurrentToken], false); |
|
parse_txt_char(String, $", Rest, Tokens, CurrentToken, true) -> parse_txt(String, Rest, Tokens, CurrentToken ++ [$"], false); |
|
parse_txt_char(String, $\\, Rest, Tokens, CurrentToken, false) -> parse_txt(String, Rest, Tokens, CurrentToken, true); |