PLDB
Languages Features Calendar About Lists Add Language
GitHub icon

PostScript

PostScript

PostScript is a text markup language created in 1982 by John Warnock and Chuck Geschke and Doug Brotz and Ed Taft and Bill Paxton.

#73on PLDB 40Years Old 2.6kUsers
13Books 1Papers

Try now: Riju

PostScript (PS) is a page description language in the electronic publishing and desktop publishing business. It is a dynamically typed, concatenative programming language and was created at Adobe Systems by John Warnock, Charles Geschke, Doug Brotz, Ed Taft and Bill Paxton from 1982 to 1984.. Read more on Wikipedia...

Example code from Riju:

(Hello, world!) =

Example code from hello-world:

% run> gs -q -sDEVICE=nullpage postscript.ps (Hello World\n) print quit

Example code from the Hello World Collection:

% Hello World in Postscript %!PS /Palatino-Roman findfont 100 scalefont setfont 100 100 moveto (Hello World!) show showpage

Example code from Linguist:

%!PS-Adobe-3.0 %%Creator: Aaron Puchert %%Title: The Sierpinski triangle %%Pages: 1 %%PageOrder: Ascend %%BeginProlog % PAGE SETTINGS /pageset { 28.3464566 28.3464566 scale % set cm = 1 0.5 0.5 translate 0 setlinewidth } def % sierpinski(n) draws a sierpinski triangle of order n /sierpinski { dup 0 gt { [0.5 0 0 0.5 0 0] concat dup 1 sub sierpinski [1 0 0 1 1 0] concat dup 1 sub sierpinski [1 0 0 1 -1 1] concat dup 1 sub sierpinski [2 0 0 2 0 -1] concat } { newpath 0 0 moveto 1 0 lineto 0 1 lineto closepath fill } ifelse pop} def %%EndProlog %%BeginSetup << /PageSize [596 843] >> setpagedevice % A4 %%EndSetup %%Page: Test 1 pageset [20 0 10 300 sqrt 0 0] concat 9 sierpinski showpage %%EOF

Example code from Wikipedia:

/mm {360 mul 127 div} def 0 0 moveto 0 40 mm lineto stroke

Language features

Feature Supported Example Token
MultiLine Comments
Integers
% (\-|\+)?[0-9]+(?=[()<>\[\]{}/%\s])
Floats
% (\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?(?=[()<>\[\]{}/%\s])
Hexadecimals
% <[0-9A-Fa-f]+>(?=[()<>\[\]{}/%\s])
Octals
% [0-9]+\#(\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?(?=[()<>\[\]{}/%\s])
Print() Debugging print
Line Comments
% A comment
%
Postfix Notation
Comments
Semantic Indentation ϴ

Books about PostScript on goodreads

title author year reviews ratings rating
PostScript Language Tutorial and Cookbook Adobe Systems Inc. 1985 0 15 3.47
PostScript Language Reference Manual Adobe Creative Team 1990 0 9 3.67

Books about PostScript from ISBNdb

title authors year publisher
Inside PostScript Frank Braswell 1991 Peachpit Press Publications
Mathematical Illustrations: A Manual of Geometry and PostScript Casselman, Bill 2004 Cambridge University Press
Programming the Display Postscript System With Nextstep Adobe Systems 1991 Addison-Wesley
Mathematical Illustrations: A Manual of Geometry and PostScript Casselman, Bill 2005 Cambridge University Press
Display Postscript Programming David A. Holzgang 1990 Addison-wesley Longman, Incorporated
Understanding Postscript Programming David A Holzgang 1987 Sybex
Understanding Postscript Programming David A Holzgang 1988 Sybex
Postscript & Acrobat/pdf Thomas Merz 2018 Springer
Postscript Typeface Library: Sans Serif Design, Outline & Ornaments Tony Esposito and Jean Callan King 1994 Van Nostrand Reinhold Computer
Programming The Display Postscript System With X (apl) Adobe Systems 1993 Addison-wesley
Postscript And Acrobat/pdf: Applications, Troubleshooting, And Cross-platform-publishing Thomas Merz 1996 Springer

Publications about PostScript from Semantic Scholar

title authors year citations influentialCitations
Teaching compiler construction and language design: making the case for unusual compiler projects with postscript as the target language Martin Ruckert 2007 13 0

Article source

PLDB - Build the next great programming language · v2022 · Docs · Acknowledgements · Email · GitHub