---
created_at: '2016-10-08T20:49:28.000Z'
title: PDB – ANSI-C to PostScript compiler (1993)
url: http://compilers.iecc.com/comparch/article/93-01-152
author: 1ris
points: 58
story_text: 
comment_text: 
num_comments: 11
story_id: 
story_title: 
story_url: 
parent_id: 
created_at_i: 1475959768
_tags:
- story
- author_1ris
- story_12668668
objectID: '12668668'

---
[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 <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  
\--   
* * *

[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

