Bahasa PostScript

PostScript ialah bahasa pengaturcaraan Turing-lengkap yang tergolong dalam kumpulan perangkaian. Ia biasanya bukan dihasilkan oleh manusia tetapi oleh atur cara yang lain. Bagaimanapun, atur cara PostScript boleh ditulis sebagaimana dengan bahasa pengaturcaraan yang lain.

PostScript ialah bahasa tertafsir berasaskan tindanan yang serupa dengan bahasa pengaturcaraan Forth, tetapi mempunyai struktur data penjenisan kuat dan dinamik yang ilhami oleh struktur data bahasa Lisp, ingatan beruang lingkup dan, sejak bahasa peringkat ke-2, pemungutan sampah. Sintaks bahasanya menggunakan tatanama Poland songsang yang menyebabkan urutan pengendaliannya tidak jelas. Membaca atur cara PostScript memerlukan setakat latihan kerana seseorang perlu sentiasa mengingati bentangan tindanannya. Kebanyakan operator (diistilahkan sebagai fungsi dalam bahasa yang lain) mengambil argumen daripada tindanan dan kemudian mengembalikan hasilnya. Literal (misalnya, nombor) meletakkan satu salinan diri ke dalam tindanan. Struktur data yang canggih boleh dibina pada jenis tatasusunan dan kamus tetapi tidak boleh diisytiharkan kepada sistem jenis yang memperlihat kesemuanya hanya sebagai tatasusunan dan kamus. Justera, sebarang disiplin penjenisan lanjut yang dikenakan pada "jenis" tertakrif-pengguna sebegini ditinggalkan kepada kod yang melaksanakannya.

Aksara "%" digunakan untuk memasukkan ulasan dalam atur cara PostScript. Sebagai kelaziman umum, setiap atur cara PostScript perlu bermula dengan aksara "%!" supaya semua peranti akan mentafsirkannya sebagai PostScript dengan betul.

"Hello world"

Atur cara Hello World, cara yang lazim untuk menunjukan satu contoh kecil atur cara yang lengkap dalam sesuatu bahasa, boleh berbentuk sepert iyang berikut dalam PostScript:

%!PS/Courier findfont20 scalefontsetfont72 500 moveto(Hello world!) showshowpage

atau jika peranti output mempunyai konsol:

%!PS(Hello world!) =

Unit ukuran

Postscript menggunakan poin sebagai unit kepanjangan. Bagaimanapun, berbeza dengan sesetengah versi poin yang lain, PostScript menggunakan tepat 72 poin setiap inci. Oleh itu:

1 poin = 1 72  inci = 127 360  mm ≈ 352.78  mikrometer {\displaystyle {\text{1 poin}}={\frac {1}{72}}{\text{ inci}}={\frac {127}{360}}{\text{ mm}}\approx 352.78{\text{ mikrometer}}}

Misalnya, untuk melukis garis mengufuk yang panjangnya 4 sentimeter, menaip teks yang berikut adalah mencukupi:

0 0 moveto 0 113.385827 lineto stroke

PostScript menggunakan nombor nyata kepersisan tunggal (mantisa 24-bit) dan oleh itu, tidaklah bermakna jika melebihi 9 digit perpuluhan digunakan untuk menentukan nombor nyata itu. Untuk grafik draf, bilangan digit bererti boleh dikurangkan.