home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!ferkel.ucsb.edu!taco!gatech!darwin.sura.net!spool.mu.edu!yale.edu!ira.uka.de!math.fu-berlin.de!news.netmbx.de!Germany.EU.net!mcsun!uknet!turing!coulin!arthur
- From: arthur@turing.ac.uk (Arthur van Hoff)
- Newsgroups: comp.graphics
- Subject: PDB -- ANSI-C to PostScript compiler
- Message-ID: <ARTHUR.93Jan24181634@lurch.turing.ac.uk>
- Date: 24 Jan 93 18:22:45 GMT
- Sender: usenet@turing.ac.uk (Usenet for nntp)
- Organization: The Turing Institute Ltd., Glasgow, Scotland
- Lines: 124
-
-
- 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
-
- The opinions expressed in this message are not
- necessarily those of The Turing Institute Limited.
-