Le fonctionnement de Postscript est basé sur l'utilisation de {\sl piles\/} de type {\sl Last In First Out\/} (LIFO). L'une d'entre elles, la pile des opérandes, est particulièrement importante~: lorsque le langage exécute un opérateur qui a besoin d'arguments, celui-ci va les chercher dans la pile d'opérandes, en commençant par le dernier entré. De la même façon, lorsqu'une procédure produit un résultat, elle dépose celui-ci sur la pile d'opérandes. Par exemple, lorsque Postscript rencontre la séquence d'instructions~: |2 3 add|, celui-ci dépose d'abord le nombre $2$ sur la pile, puis le nombre $3$, puis exécute l'opérateur d'addition |add| avec les arguments 2 et 3, et dépose enfin le résultat $5$ sur la pile. Si la pile était vide avant le début de la séquence, elle ne contiendra que le nombre $5$ après l'exécution de celle-ci.