home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!mcsun!uknet!turing!coulin!arthur
- From: arthur@turing.ac.uk (Arthur van Hoff)
- Newsgroups: comp.lang.postscript
- Subject: PDB 2.1.1 -- ANSI-C to PostScript compiler
- Message-ID: <ARTHUR.93Jan26184437@lurch.turing.ac.uk>
- Date: 26 Jan 93 18:50:49 GMT
- Sender: usenet@turing.ac.uk (Usenet for nntp)
- Organization: The Turing Institute Ltd., Glasgow, Scotland
- Lines: 134
-
-
- Hi PostScript Hackers,
-
- PdB version 2.1.1 (ANSI-C to PostScript compiler) is now available
- via anonymous ftp from the following sites:
- src.doc.ic.ac.uk (146.169.2.1) in computing/vendor/turing.com
- ftp.uu.net (192.48.96.9) in graphics/NeWS
- turing.com (192.133.90.28) in pub (very slow link)
-
- The following files:
- pdb2.1.1-README -- this message
- pdb2.1.1-sun4.tar.Z -- SPARC binaries and NeWS headers
- pdb2.1.1-rs6000.tar.Z -- RS6000 binaries
-
- 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.
-
- New features since version 2.1 are:
- - GhostScript compatible
- - NeWS support is now optional
-
- The release of version 2.1.1 includes:
- - Binaries for Sun SPARC station and IBM RS6000
- - Produces PostScript level I
- - Include files for Abobe PostScript level I
- - Plenty of examples
- - Compiler test suite
- - Reference manual (PostScript)
- - UNIX manual pages (nroff)
-
- NeWS support in version 2.1.1 for SPARC stations:
- - Include files for NeWS upto version 3.1
- - Include files for TNT upto version 3.1
- - Support NeWS classing in a C++ manner
- - Support for CPS OpenWindows upto version 3.1
- - NeWS/OpenWindows test suite
-
- 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.
-