Можете ли вы сказать мне, если я понял это неправильно, или пример не так?
Я напишу ассоциативность сразу после оператора. «r» обозначает право, а «l» обозначает слева. У выражения не будет парантеза.
-r *r 8 5 +r /r 20 4 /l *r 5 8 10
Результат дан так:
8 5 *r 20 4 /r 5 8 *r 10 /l +r -r
Что я не понимаю, так это когда я 5 8 10
мой стек в этот момент будет *r /l +r -r
, Я прочитал 5, это не оператор, поэтому я печатаю его. Я прочитал 8, а не оператор -> печать. И тогда я читаю 10, а не оператор -> печать. Почему * r выталкивается из стека перед чтением 10?
Задача ещё не решена.
Других решений пока нет …