Поскольку я никогда не сталкивался с такой проблемой, я подумал о создании языкового парсера, который бы это реализовал. Конечно, я открыт для предложений или совершенно другого подхода к этой проблеме. Мне нужны общие рекомендации или советы, как это сделать.
TABLERULE col1 TYPE (STRING) == "string"
(AND|OR|NOT) col2 TYPE (INT) >= 12 ...
STRINGRULE "stringregex" (AND|OR|NOT) "string2regex" ...
так что этот маленький язык должен иметь
синтаксис для распознавания правил, которые применяются к таблицам базы данных
синтаксис для распознавания правил, которые применяются к куче строк (текстовые файлы)
цепочка правил
TABLERULE должен иметь тип col (строка, целое число), чтобы он знал, какой тип сравнения он может использовать, ==,! = Для строк,>, <, == для целых чисел </p>
Выходные данные языка программирования должны быть массивом совпадающих строк или строк базы данных
Анализатор языка или подобный метод должен быть совместим с Java, C, Python