mirror of
https://github.com/IanDarwin/OpenLookCDROM.git
synced 2026-05-01 05:59:05 +00:00
122 lines
3.0 KiB
Plaintext
122 lines
3.0 KiB
Plaintext
|
|
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
|
|
|