Простите, я совершенно новичок в разборе и lex / yacc, и я, вероятно, в пути над головой, но тем не менее:
Я пишу довольно простой калькулятор с PLY, но его входные данные не всегда могут быть уравнением, и мне нужно определить, есть ли это при анализе. Крайности входных данных - это что-то, что отлично оценивает уравнение, которое оно хорошо анализирует и вычисляет, или что-то, что не похоже на уравнение, которое не разбирается и тоже хорошо.
Серая область - это вход, в котором есть части, похожие на уравнения, из которых парсер будет работать и работать. Это не то, чего я хочу - мне нужно знать, не были ли части строки собраны и размечены, чтобы я мог выдать ошибку, но я не знаю, как это сделать.
Кто-нибудь знает, как я могу определить, по сути, токен «поймать все, что осталось»? Или есть лучший способ справиться с этим?