This commit is contained in:
Andrew S. Rightenburg 2023-08-23 22:14:44 -04:00
parent e649186553
commit 8ace9f2ee3
Signed by: rail5
GPG Key ID: A0CB570AB6629159
1 changed files with 16 additions and 44 deletions

View File

@ -15,6 +15,11 @@
#include <iostream>
#define CLEAR_ALL_MAIN_FLAGS escaped = false; \
caret = false; \
backslash_b = false; \
backslash_capital_b = false;
std::vector<std::string> parse_regex(std::string expression) {
/***
I hate this with every ounce of my being.
@ -95,10 +100,7 @@ std::vector<std::string> parse_regex(std::string expression) {
square_brackets_open = true;
}
escaped = false;
caret = false;
backslash_b = false;
backslash_capital_b = false;
CLEAR_ALL_MAIN_FLAGS
break;
case ']':
@ -112,10 +114,7 @@ std::vector<std::string> parse_regex(std::string expression) {
square_brackets_open = false;
}
escaped = false;
caret = false;
backslash_b = false;
backslash_capital_b = false;
CLEAR_ALL_MAIN_FLAGS
break;
case '(':
@ -129,10 +128,7 @@ std::vector<std::string> parse_regex(std::string expression) {
parsed_expression.push_back(part);
}
escaped = false;
caret = false;
backslash_b = false;
backslash_capital_b = false;
CLEAR_ALL_MAIN_FLAGS
break;
case ')':
@ -146,10 +142,7 @@ std::vector<std::string> parse_regex(std::string expression) {
parsed_expression.push_back(part);
}
escaped = false;
caret = false;
backslash_b = false;
backslash_capital_b = false;
CLEAR_ALL_MAIN_FLAGS
break;
case '{':
@ -164,10 +157,7 @@ std::vector<std::string> parse_regex(std::string expression) {
}
}
escaped = false;
caret = false;
backslash_b = false;
backslash_capital_b = false;
CLEAR_ALL_MAIN_FLAGS
break;
case '}':
@ -188,37 +178,25 @@ std::vector<std::string> parse_regex(std::string expression) {
}
}
escaped = false;
caret = false;
backslash_b = false;
backslash_capital_b = false;
CLEAR_ALL_MAIN_FLAGS
break;
case '+':
parsed_expression[current_index] += part;
escaped = false;
caret = false;
backslash_b = false;
backslash_capital_b = false;
CLEAR_ALL_MAIN_FLAGS
break;
case '*':
parsed_expression[current_index] += part;
escaped = false;
caret = false;
backslash_b = false;
backslash_capital_b = false;
CLEAR_ALL_MAIN_FLAGS
break;
case '?':
parsed_expression[current_index] += part;
escaped = false;
caret = false;
backslash_b = false;
backslash_capital_b = false;
CLEAR_ALL_MAIN_FLAGS
break;
case '^':
@ -240,10 +218,7 @@ std::vector<std::string> parse_regex(std::string expression) {
case '$':
parsed_expression[current_index] += part;
escaped = false;
caret = false;
backslash_b = false;
backslash_capital_b = false;
CLEAR_ALL_MAIN_FLAGS
break;
case 'b':
@ -332,10 +307,7 @@ std::vector<std::string> parse_regex(std::string expression) {
}
}
escaped = false;
caret = false;
backslash_b = false;
backslash_capital_b = false;
CLEAR_ALL_MAIN_FLAGS
}
}