[Source](https://compilers.iecc.com/comparch/article/93-01-152 "Permalink to Comp.compilers: PDB -- ANSI-C to PostScript compiler") # Comp.compilers: PDB -- ANSI-C to PostScript compiler # PDB -- ANSI-C to PostScript compiler ## arthur@turing.ac.uk (Arthur van Hoff) Thu, 21 Jan 1993 12:52:14 GMT           _From comp.compilers_ * * * | ----- | | Related articles | | [**PDB -- ANSI-C to PostScript compiler][1] _arthur@turing.ac.uk_ (1993-01-21)** | | [List of all articles for this month][2] | * * * * * * | ----- | | **Newsgroups: ** | comp.windows.news,comp.lang.postscript,comp.compilers | | **From: ** | arthur@turing.ac.uk (Arthur van Hoff) | | **Organization: ** | The Turing Institute Ltd., Glasgow, Scotland | | **Date: ** | Thu, 21 Jan 1993 12:52:14 GMT | | **Keywords: ** | interpreter, available | 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 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 /******************************************************   * 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 \-- * * * [Post a followup to this message][3] * * * * * * ![][4] Return to the [comp.compilers page][5]. ![][6] Search the [comp.compilers archives][7] again. [1]: /comparch/article/93-01-152 [2]: https://compilers.iecc.com/comparch/index/1993-01 [3]: mailto:compilers@iecc.com?subject=PDB%20--%20ANSI-C%20to%20PostScript%20compiler [4]: https://compilers.iecc.com/icons/up.gif [5]: https://compilers.iecc.com/index.phtml [6]: https://compilers.iecc.com/icons/left.gif [7]: https://compilers.iecc.com/compsearch.phtml