Задача №112493. Мини-Форт
Напишите программу, которая моделирует работу стека целых чисел, управляемого текстовыми командами, аналогичными командам языка Форт. В начале работы стек пуст. Затем последовательно выполняются команды, записанные в файле input.txt . Для управления стеком используются команды:
<число> – втолкнуть целое число на вершину стека
DROP – удалить число с вершины стека
SWAP – поменять местами два верхних числа в стеке (A B -> B A)
DUP – дублировать верхнее число в стеке (A -> A A)
OVER – скопировать второе число в стеке на вершину стека (A B -> A B A)
'+' – сложить два верхних числа в стеке (A B -> A+B)
'-' – вычесть из второго числа в стеке первое (A B -> A-B)
'*' – перемножить два верхних числа в стеке (A B -> A*B)
'/' – разделить второй число в стеке на первое (нацело) (A B -> A/B)
Требуется определить состояние стека после окончания выполнения всех команд.
Входные строки в файле input.txt содержат команды управления стеком. Последняя строка файла пустая.
Программа должна вывести в файл output.txt в одной строке через пробел все числа, оказавшиеся в стеке после выполнения всех команд. Слева должно быть дно стека, справа – вершина. Если стек пуст, нужно вывести слово 'EMPTY'. Если во время выполнения команд произошла ошибка, нужно вывести слово 'ERROR'.
12 23 OVER DUP + SWAP DROP
12 24