Алгоритм инфикса к постфиксу, который заботится об унарных операторах
I / p для алгоритма будет таким выражением:
a+(-b)
a*-b+c
любое выражение, которое поддерживал бы стандартный компилятор Си.
Теперь у меня есть вход, уже отформатированный как поток токенов, токены содержат информацию, является ли он оператором или операндом. Алгоритм должен принять это и дать мне постфиксное выражение, которое я могу оценить.
Если я использую стандартный алгоритм преобразования, яне могу различить унарный и бинарный оп, Как a * (- b) даст мне ab- *, что будет неверно оценено.