схемы перевода:LEX -YACC анализатор для инфикса-к-приставки перевода
expr -> {print("+")} expr + term
| {print("-")} expr - term
| term
term -> {print("*")} term * factor
| {print("/")} term/factor
| factor
factor -> digit {print(digit)}
| (expr)
Над грамматики напечатает выражение в виде префикса. Для этой грамматики писать парсер невозможно. Как мы можем написать программу lex и yacc для преобразования infix в префикс. Я следую за этим lex and yacc program to convert infix to prefix, но не получаю надлежащего вывода. Любая идея, как написать парсер.
[bison manual] (https://www.gnu.org/software/bison/manual/bison.html#Infix-Calc) включает в себя нежное введение в инструмент yacc/bison с примерами простых калькуляторов калькулятора , – rici
Кроме того, я предлагаю вам использовать настоящий рабочий код в качестве модели, а не начинать с вопроса SO о коде, который, безусловно, не работает. (Если бы это сработало, вопрос не был бы задан.) – rici
«Не получить правильную выходную информацию» - это не то же самое, что «невозможно написать парсер», что бессмысленно. – EJP