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