opAction:
ARRAY Op
OF OpAction ~ [
abs: [pop: 1, push: TRUE],
add: [pop: 2, push: TRUE],
alternatemetrics: [],
and: [pop: 2, push: TRUE],
arcto: [pop: 5, push: TRUE],
beginBlock: [pop: 0, requireStackEmpty: TRUE],
beginBody: [pop: 0, requireStackEmpty: TRUE],
ceiling: [pop: 1, push: TRUE],
clipoutline: [pop: 1],
cliprectangle: [pop: 4],
concat: [pop: 2, push: TRUE],
concatt: [pop: 1],
conicto: [pop: 6, push: TRUE],
contentInstructions: [pop: 0, requireStackEmpty: TRUE],
copy: [],
correct: [pop: 0, requireStackEmpty: TRUE],
correctmask: [pop: 0],
correctspace: [pop: 2],
count: [pop: 0, push: TRUE],
curveto: [pop: 7, push: TRUE],
div: [pop: 2, push: TRUE],
do: [],
dosave: [],
dosaveall: [],
dosavesimplebody: [pop: 0, requireStackEmpty: TRUE],
dup: [pop: 0, push: TRUE],
endBlock: [pop: 0],
endBody: [pop: 0],
eq: [pop: 2, push: TRUE],
error: [pop: 2],
exch: [],
extractpixelarray: [pop: 2, push: TRUE],
fget: [pop: 1, push: TRUE],
findcolor: [pop: 1, push: TRUE],
findcolormodeloperator: [pop: 1, push: TRUE],
findcoloroperator: [pop: 1, push: TRUE],
finddecompressor: [pop: 1, push: TRUE],
findfont: [pop: 1, push: TRUE],
findoperator: [pop: 1, push: TRUE],
floor: [pop: 1, push: TRUE],
fset: [pop: 2],
ge: [pop: 2, push: TRUE],
get: [pop: 2, push: TRUE],
getcp: [],
getp: [pop: 2, push: TRUE],
getprop: [],
gt: [pop: 2, push: TRUE],
if: [pop: 1, requireStackEmpty: TRUE],
ifcopy: [],
ifelse: [pop: 1, requireStackEmpty: TRUE],
iget: [pop: 1, push: TRUE],
iset: [pop: 2],
lineto: [pop: 3, push: TRUE],
linetox: [pop: 2, push: TRUE],
linetoy: [pop: 2, push: TRUE],
makefont: [pop: 1, push: TRUE],
makegray: [pop: 1, push: TRUE],
makeoutline: [pop: 1, push: TRUE], --Special case!
makeoutlineodd: [pop: 1, push: TRUE], --Special case!
makepixelarray: [pop: 7, push: TRUE],
makesampledblack: [pop: 3, push: TRUE],
makesampledcolor: [pop: 3, push: TRUE],
makesimpleco: [pop: 0],
maket: [pop: 6, push: TRUE],
makevec: [pop: 1, push: TRUE], --Special case!
makeveclu: [],
mark: [],
maskchar: [pop: 1], --Actually [2, 1], but the push is the fd already on the stack
maskdashedstroke: [pop: 4],
maskfill: [pop: 1],
maskfillparity: [pop: 1], --??
maskpixel: [pop: 1],
maskrectangle: [pop: 4],
maskstroke: [pop: 1],
maskstrokeclosed: [pop: 1],
masktrapezoidx: [pop: 6],
masktrapezoidy: [pop: 6],
maskunderline: [pop: 2],
maskvector: [pop: 4],
mergeprop: [pop: 2, push: TRUE],
mod: [pop: 2, push: TRUE],
modifyfont: [pop: 2, push: TRUE],
move: [pop: 0],
moveto: [pop: 2, push: TRUE],
mul: [pop: 2, push: TRUE],
neg: [pop: 1, push: TRUE],
nil: [],
nop: [pop: 0],
not: [pop: 1, push: TRUE],
or: [pop: 2, push: TRUE],
pop: [pop: 1],
rem: [pop: 2, push: TRUE],
roll: [],
rotate: [pop: 1, push: TRUE],
round: [pop: 1, push: TRUE],
scale: [pop: 1, push: TRUE],
scale2: [pop: 2, push: TRUE],
setcorrectmeasure: [pop: 2],
setcorrecttolerance: [pop: 2],
setfont: [pop: 1],
setgray: [pop: 1],
setsampledblack: [pop: 3],
setsampledcolor: [pop: 3],
setxrel: [pop: 1],
setxy: [pop: 2],
setxyrel: [pop: 2],
setyrel: [pop: 1],
shape: [],
show: [pop: 1],
showandfixedxrel: [pop: 2],
showandxrel: [pop: 1],
showbackward: [pop: 1], --??
space: [pop: 1],
startunderline: [pop: 0],
sub: [pop: 2, push: TRUE],
trans: [pop: 0],
translate: [pop: 2, push: TRUE],
trunc: [pop: 1, push: TRUE],
type: [pop: 1, push: TRUE],
unmark: [],
unmark0: [pop: 1]
];
allOps:
PUBLIC
LIST
OF Op ~
LIST [
nil,
BASE primitives
get, makeveclu, makevec, shape, getprop, getp, mergeprop, fget, fset,
makesimpleco, do, dosave, dosaveall, dosavesimplebody, findoperator,
pop, copy, dup, roll, exch, mark, unmark, unmark0, count, nop, error,
if, ifelse, ifcopy, eq, gt, ge, and, or, not, type,
add, sub, neg, abs, floor, ceiling, trunc, round, mul, div, mod, rem,
IMAGE primitives
iget, iset, maket, translate, rotate, scale, scale2, concat,
concatt, move, trans, setxy, setxyrel, setxrel, setyrel, getcp,
makepixelarray, extractpixelarray, finddecompressor,
makegray, findcolor, findcoloroperator, findcolormodeloperator,
makesampledcolor, makesampledblack, setgray, setsampledcolor, setsampledblack,
moveto, lineto, linetox, linetoy, curveto, conicto, arcto,
makeoutline, makeoutlineodd, maskfill, maskfillparity, maskrectangle,
startunderline, maskunderline, masktrapezoidx, masktrapezoidy,
maskstroke, maskstrokeclosed, maskvector, maskdashedstroke, maskpixel,
clipoutline, cliprectangle,
maskchar, makefont, findfont, modifyfont, alternatemetrics, setfont,
show, showbackward, showandxrel, showandfixedxrel,
correctmask, correctspace, space, setcorrectmeasure, setcorrecttolerance, correct,
Symbols
beginBody, endBody, beginBlock, endBlock, contentInstructions
];