#pyparsing
#пипаринг
Вопрос:
В python 3.7 у меня есть логика ниже. Более ранняя версия pyparsing использовала operatorPrecedence, а более новая версия pyparsing использует infix_notation.
expr lt;lt; pp.infix_notation(semi_expression, [ ("not", 1, pp.opAssoc.RIGHT, self.not_operator), ("and", 2, pp.opAssoc.LEFT, self.and_operator), ("or", 2, pp.opAssoc.LEFT, self.or_operator) ]) result = expr.parseString(filter_str) return result
Однако я вижу обратную связь
Файл «/root/.local/share/virtualenvs/lib/python3.7/site-packages/testfilter.py», строка 168, в результате parse_filter_str = expr.Синтаксический анализ(filter_str), анализ исключений.Исключение синтаксического анализа: Ожидаемый «или» термин, найден «серийный» (в символе 1), (строка:1, строка:2)
Пожалуйста, помогите решить эту проблему ?
Комментарии:
1. Можете ли вы опубликовать достаточное количество кода
semi_expression
, чтобы воспроизвести проблему?2. Привет @PaulMcG, я тот же человек, который поднимал этот вопрос на GitHub. Поскольку мы имеем дело там, нам не нужно заниматься этим здесь.
3. В таком случае, пожалуйста, закройте/удалите этот вопрос.
4. Я голосую за то, чтобы закрыть этот вопрос, потому что он является дубликатом проблемы, опубликованной в репо pyparsing.