🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.postscript
Article #8663

Compiled PostScript

#8663
From: Dick Dunn
Date: Thu, 28 Dec 1989 00:07
28 lines
2131 bytes
woody@rpp386.cactus.org (Woodrow Baker) writes:

> Actually, a Compiled version of PS is not unreasonable.   Given a good
> BNF of the language, YACC and LEX should make the parser a snap.

The BNF of PostScript is so trivial it's (a) uninteresting and (b)
unhelpful.  The parser is a snap; it would be kinda dumb to use YACC for
it.  (Of *course* the parser is simple--that's one of the arguments for
using a postfix stack-oriented language!)

What you'll find if you really look at compiling PostScript (assuming you
know about compilation) is that you aren't likely to gain much.  All the
good stuff happens in the operators.  Given dynamic binding (which begets
latent types as well), things are inexorably pushed off to run time.  You
can find lots of special cases, and make up a slew of special rules, and
make a little headway.  (For example, something common like "3 1 roll" can
be generated inline since the operands are constants, if you know or make
a rule that "roll" can't be redefined and can deduce that you won't get a
stack underflow...)  You might speed up typical processing by a few
percent, no more, because the work all happens in the operators.

But this is all old stuff to people who know about language implementation
(including, apparently, the Adobe folk who designed the language).  Lan-
guages intended for interpretive execution are characteristically syntax-
poor and operator-rich...and compiling them seldom gives you much.
-- 
Dick Dunn     rcd@ico.isc.com    uucp: {ncar,nbires}!ico!rcd     (303)449-2870
   ...Mr. Natural says, "Use the right tool for the job."
Technical Details
Message-ID: <1989Dec28.000745.6265@ico.isc.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!cs.utexas.edu!ico!rcd
References: <POLLACK.89Dec4133944@toto.cis.ohio-state.edu> <28@macuni.mqcc.mq.oz> <17490@rpp386.cactus.org>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!cs.utexas.edu!ico!rcd
From: rcd@ico.isc.com (Dick Dunn)
Newsgroups: comp.lang.postscript
Subject: Compiled PostScript
Summary: simplistic assumptions
Message-ID: <1989Dec28.000745.6265@ico.isc.com>
Date: 28 Dec 89 00:07:45 GMT
References: <POLLACK.89Dec4133944@toto.cis.ohio-state.edu> <28@macuni.mqcc.mq.oz> <17490@rpp386.cactus.org>
Distribution: comp
Organization: Interactive Systems Corporation, Boulder, CO
Lines: 28