/ed 47 def
Косая черта перед именем переменной показывает, что интерпретатору следует поместить это имя в стек как литерал и не пытаться сразу же искать его в словаре. Вслед за именем в стек заносится число 47. И наконец def берет оба эти объекта из стека и помещает их в текущий словарь. Второй элемент стека (ed) становится ключом, с которым ассоциировано значение первого элемента (47). На первый взгляд это больше похоже на определение константы, чем переменной. Однако определенное с помощью def значение переменной может быть изменено либо новым оператором def, либо другими операторами, например:
/ed 52 def
Посмотрим на примере, как PostScript работает с новой переменной. Если дальше в программе появится строка:
13 ed add
то интерпретатор сделает следующее:
1) поместит число 13 в стек;
2) найдет в стеке словарей значение для ключа ed и поместит его в стек;
3) сложит два числа из вершины стека, заменив их полученной суммой.
Следующий оператор умножает значение переменной ed на 5:
/ed ed 5 mul def
Задание. Используя приведенные выше правила, определите содержимое стека в каждый момент выполнения этой строки.