home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.windows.news:832 comp.lang.postscript:6406 comp.compilers:2224
- Newsgroups: comp.windows.news,comp.lang.postscript,comp.compilers
- Path: sparky!uunet!world!iecc!compilers-sender
- From: arthur@turing.ac.uk (Arthur van Hoff)
- Subject: PDB -- ANSI-C to PostScript compiler
- Reply-To: arthur@turing.ac.uk (Arthur van Hoff)
- Organization: The Turing Institute Ltd., Glasgow, Scotland
- Date: Thu, 21 Jan 1993 12:52:14 GMT
- Approved: compilers@iecc.cambridge.ma.us
- Message-ID: <93-01-152@comp.compilers>
- Keywords: interpreter, available
- Sender: compilers-sender@iecc.cambridge.ma.us
- Lines: 119
-
- Hi PostScript Hackers,
-
- PdB version 2.1 (ANSI-C to PostScript compiler) is now available via
- anonymous ftp from:
-
- turing.com (192.133.90.28) in pub/pdb2.1-demo.tar.Z
- ftp.uu.net (192.48.96.9) in graphics/NeWS/pdb2.1-demo.tar.Z
-
- There is no more need to write PostScript! Start using PdB right now! PdB
- is an optimizing compiler to compile ANSI-C (like) code into Adobe
- compatible PostScript. It includes executables, examples and many useful
- header files. Note that it is not dependend on NeWS.
-
- The release of version 2.1 includes:
-
- - Binaries for Sun SPARC station and IBM RS6000.
- - Include files for Abobe PostScript level I.
- - Include files for NeWS upto version 3.1.
- - Include files for TNT upto version 3.1.
- - Support for CPS OpenWindows upto version 3.1.
- - Support NeWS classing in a C++ manner.
- - Plenty of examples of all the above functions.
- - NeWS/OpenWindows test suite.
- - PostScript reference manual.
- - UNIX manual pages.
-
- Below are some examples of PdB code together with the PostScript
- produced by the compiler.
-
- Have fun,
-
- Arthur van Hoff
- pdb@turing.com
-
- ################################
- Code to draw a star shape in PdB
- ################################
-
- #include <graphics.h>
-
- void starpath(int ang)
- {
- int i;
-
- newpath();
- moveto(100,100);
- for (i = 1 ; i <= (int)(360 / ang) ; i++) {
- rotate(180 + ang);
- rlineto(100,0);
- }
- setgray(0);
- stroke();
- }
-
- ########################
- Verbatim Compiler output
- ########################
-
- /starpath {
- % int --
- newpath 100 100 moveto 1 360 2 index div cvi exch sub 1 add 0 max {
- dup 180 add rotate 100 0 rlineto
- } repeat
- pop 0 setgray stroke
- } def
-
- ###########################
- Code for bubble-sort in PdB
- ###########################
-
- #include <postscript.h>
-
- /******************************************************
- * Bubble sort (page 66)
- * From: Algorithms + Data Structures = Programs
- * Nicklaus Wirth
- */
-
- void bubblesort(int *a)
- {
- int i, j;
-
- for (i = length(a)-1 ; i > 1 ; i--)
- for (j = 0 ; j < i ; j++)
- if (a[j] > a[j+1]) {
- int x = a[j+1];
- a[j+1] = a[j];
- a[j] = x;
- }
- }
-
- ########################
- Verbatim Compiler output
- ########################
-
- /bubblesort {
- % int * --
- dup length 1 sub -1 2 {
- 0 1 3 -1 roll 1 sub {
- 2 copy get 2 index 2 index 1 add get gt {
- 2 copy 1 add get 2 index 2 index 1 add 4 index 4 index get put
- 2 index 3 1 roll put
- } {pop} ifelse
- } for
- } for
- pop
- } def
-
- --
- Arthur van Hoff
- The Turing Institute Limited
- 36 North Hanover Street,
- G1 2AD Glasgow, Scotland
-
- Tel: +44 41 552 8858 or +44 41 552 6400 Fax: +44 41 552 2985
- Email: arthur@turing.com
- --
- Send compilers articles to compilers@iecc.cambridge.ma.us or
- {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.
-