PostScript语言教程(二、堆栈和运算)

二、堆栈和运算
POSTSCRIPT 编程语言和其他编程语言一样,适用于各种各样的数据,例如数字,数组,字符串,以及字符。这种处理数据的方法被称为POSTSCRIPT对象。
操作数据的方法有多种多样,例如:将数据放入变量名,通过变量名称进行处理。POSTSCRRIPT语言拥有变量,但也可以通过堆栈直接操作数据。

2.1、POSTSCRIPT堆栈
堆栈是一段用于处理数据的内存,是一种先入后出的存储原理。

将数字入栈

12 6.3 -99

1.将12入栈
2.将6.3,入栈,12压栈
3.将-99 入栈,前两个一次类推

2.2、运算

加: 5 27 add => 32
减: 8.3 6.6 sub => 1.7
除: 13 8 div => 1.625
除返回整数: 25 3 idiv => 8
除返回余数: 12 10 mod => 2
乘: 6 8 mul => 48
取反: -27 neg => 27


组合运算:

6 + (3 ÷ 8)
1. 3 8 div 6 add
将3,8入栈,除运算,0.375,再讲6 入栈,加运算,得6.375
2. 6 3 8 div add
将6,3,8,入栈,8为栈顶,取3,8,进行除运算,结果再与6 进行加运算


8 - (7 × 3)
1. 7 3 mul 8 exch sub
2. 8 7 3 mul sub

exch:交换栈的前两项空间数据

清除所有栈数据: 6 8 12 32 clear => 空
复制堆栈顶部的数据: 6 dup => 6 6
删除堆栈顶部数据: 17 8 pop => 17
旋转数据: 7 8 9 3 1 roll => 9 7 8 : 789依次入栈,1代表从顶到底,798,978
7 8 9 3 -1 roll => 897 : -1代表从低端到顶端,879, 897

2.3、交互运算符
== 将堆栈顶端的数据打印出来,并且删除。
pstack 将整个栈中的数据打印数来,保留数据。

原文地址:https://www.cnblogs.com/Ansing/p/7299246.html