Мне удалось найти человека, который задал похожий вопрос, но ответ был для меня недостаточно полным.Я пытаюсь разобрать команду, такую как
QUERY ((((огонь) & (лес)) | ((океан) & (лодка))) & (вода))
проблема заключается в результате в RPN, который я получаю, если использую алгоритм Shunting-Yard.Например, если я наберу:
QUERY (яблоко) & (соус)
результат, который я получу:
яблочное пюре &
Я хочу иметь возможностьсравнить строки, содержащие слово «яблоко», с линиями, в которых есть соус.
хорошо, я хочу иметь возможность искать в моем BST слова для яблока, затем снова для соуса и затем находить все строки текста, где они встречаются вместе.У меня есть настроенные функции, которые возвращают набор с каждой строкой, так что это не проблема.Проблема в том, что RPN немного лучше, чем я начал.Я не могу найти хороший способ разобрать новую «строку», которую я получаю.
Я надеюсь, что проясняю себя.