PostScript: erinevus redaktsioonide vahel

Eemaldatud sisu Lisatud sisu
Resümee puudub
Kaiko (arutelu | kaastöö)
gs seansi näidis, välislinkide parandused, def. täpsustus, nimekirjade kaotamine
1. rida:
{{ToimetaAeg|kuu=juuli|aasta=2006}}
'''PostScript''' on [[programmeerimiskeel]] graafiliste objektide (tekst, vektorina kirjeldatud objektid nagu ring, ruut, joon jms ning rastergraafika) kirjeldamiseks sõltumata tulemust realiseerivast seadmest (printer, kuvar vms). Siiski on PostScript ka võimas programmeerimiskeel, millel abil tehtud ka näiteks veebiserver (http://www.pugo.org/).
'''PostScript''' on [[programmeerimiskeel]] lehe kirjeldamiseks.
 
== Ajalugu ==
 
Aluse pani John Warnock 1976. aastal firmas Evans and Sutherland (arvutigraafikaga tegelev ettevõte). 1978 hakkas Warnock tööle Xerox PARC-is koos Martin Newell'ga. Koos kirjutasid nad disainimissüsteemi nimega JaM (John and Martin), mida arendati edasi ning, mida teatakse InterPress nime all. Warnock lahkus ettevõttest koos Chuck Geschke'ga ja rajas Adobe System'i aastal 1982. Seal tegid nad InterPressi põhjal lihtsama keele: PostScript, mis tuli turule 1984. Steve Jobs'i pealekäimisel kohandasid nad keele laserprinteritele. 1985 tuli turule esimene laserprinter (Apple LaserWriter) PostScripti toetusega. See oli mõneti revolutsiooniline. Sellest peale muutus PostScripti kasutamine laserprinterites tavaliseks. Aastaks 2001 ei olnud väga paljud printerid enam PostScripti toetusega, sest selle lisamine printerisse tuli oluliselt kallim kui et teostada lehe renderdamine juba arvutis. Aegamööda on PostScripti tahaplaanile surunud tema järeltulija PDF (Portable Document Format), mida esimest korda tutvustati 1990 aastate alguses, kuid ta ei saavutanud kiiret populaarsust.
* Aluse pani John Warnock 1976. aastal firmas Evans and Sutherland (arvutigraafikaga tegelev ettevõte).
* 1978 hakkas Warnock tööle Xerox PARC-is koos Martin Newell'ga. Koos kirjutasid nad disainimissüsteemi nimega JaM (John and Martin), mida arendati edasi ning, mida teatakse InterPress nime all.
* Warnock lahkus ettevõttest koos Chuck Geschke'ga ja rajas Adobe System'i aastal 1982. Seal tegid nad InterPressi põhjal lihtsama keele: PostScript, mis tuli turule 1984. Steve Jobs'i pealekäimisel kohandasid nad keele laserprinteritele.
* 1985 tuli turule esimene laserprinter (Apple LaserWriter) PostScripti toetusega. See oli mõneti revolutsiooniline. Sellest peale muutus PostScripti kasutamine laserprinterites tavaliseks.
* Aastaks 2001 ei olnud väga paljud printerid enam PostScripti toetusega, sest selle lisamine printerisse tuli oluliselt kallim kui et teostada lehe renderdamine juba arvutis.
* Aegamööda on PostScripti tahaplaanile surunud tema järeltulija PDF (Portable Document Format), mida esimest korda tutvustati 1990 aastate alguses, kuid ta ei saavutanud kiiret populaarsust.
 
PostScript-i keel on saanud 2 suurt uuendust, mida eristatakse levelite abil. Algne PostScript ehk PostScript Level 1 tuli välja aastal 1984. PostScript Level 2 tuli välja aastal 1991. Parandatud oli kiirust, JPEG lisamist otse PostScript-i, dokumendi osade kordamist (Form mehhanism) jms. PostScript Level 3 tuli välja aastal 1997. Parandatud oli värvide käsitlust, vea käsitlust, programmi sisu filtreid (pakkimine, formaatide tõlgendamine jms), programmi ülesehitust.
PostScript-i keel on saanud 2 suurt uuendust, mida eristatakse levelite abil:
* PostScript Level 1 tuli välja aastal 1984
* PostScript Level 2 tuli välja aastal 1991. Parandatud oli kiirust, JPEG lisamist otse PostScript-i, dokumendi osade kordamist (Form mehhanism) jms.
* PostScript Level 3 tuli välja aastal 1997. Parandatud oli värvide käsitlust, vea käsitlust, programmi sisu filtreid (pakkimine, formaatide tõlgendamine jms), programmi ülesehitust.
 
== Fakte ==
23. rida ⟶ 15. rida:
== Programmeerimiskeelena ==
 
PostScript on pinu (andmestruktuur, millest loetakse esimesena viimati sisestatu) põhine süsteem. Tavaliselt kirjutavad PostScript programme teised programmid ja mitte inimene. Keelena sarnaneb PostScript keelele Forth, aga andmestruktuurid sarnanevad rohkem Lisp-ile. Keeles on hulk operaatoreid, mis muudavad pinu sisu (on erandeid: kõik operaatorid ei tarvitse pinu sisu siiski muuta). Iga operaator vajab kindlat hulka ja kindlat andmetüüpi kirjeid pinus ja pinusse jätab samamoodi kindlaksmääratud arvu kindlat tüüpi elemente. Näiteks:Reavahetus ei oma PostScriptis mingit tähtsust, tühik ja reavahetus on samaväärsed. Puudub lause algus ja lõpp, kõike käsitletakse ühe jadana. Tekstilise väärtuse puhul reavahetust ikkagi arvestatakse.
 
Programminäide aritmeetilise tehte (1 + 2) * (9 - 8) näol:
 
1 2 add 9 8 sub mul
 
teeb arvutuse (1 + 2) * (9 - 8). Toimuvad järgmised sammud:
*# Pinusse pannakse 1
*# Pinusse pannakse 2
*# Operaator <tt>add</tt> loeb pinust 2 ühikut (1 ja 2) ning jätab tulemuse 3 pinusse
*# Pinusse lisatakse 9
*# Pinusse lisatakse 8
*# Operaator <tt>sub</tt> loeb 2 arvu pinust (9, 8) ja lahtab need ning jätab tulemuse 1 pinusse
*# Operaator <tt>mul</tt> loeb 2 arvu pinust (3 ja 1, mille jätsid eelnevad operaatorid) ja korrutab need
 
Programmi lõppedes on pinus arv 3.
42. rida ⟶ 36. rida:
Muutujat saab defineerida operaatoriga <tt>def</tt>:
 
/x 123 def % defineeritakse muutuja x väärtusega 123
/x 1 2 add def % defineeritakse muutuja x väärtusega 3
/y x 3 add def % kasutades muutujat x defineeritakse muutuja y väärtusega 6
 
Nagu näha, siis kaldkriipsu kasutatakse literaadina. Muutuja kasutamisel kaldkriipsu lisada ei tule.
50. rida ⟶ 44. rida:
Operaatoriga saab luua tsükleid, esitada tingimusi, defineerida operatsioone korduvaks kasutuseks (nagu funktsioonid), teostada graafilisi operatsioone, muuta pinu sisu (elemente ümber reastada, kustutada, paljundada) ja palju muud.
 
=== "Hello world!" programm ===
 
PostScripti formaat eeldab, et fail hakkab kommentaariga, mille esimeseks sümboliks on hüüumärk. Tekstilisi väärtusi väljendatakse sulgudega. Standardväljundisse trükitakse pinus olev võrdusmärgiga:
68. rida ⟶ 62. rida:
 
PostScripti suudavad interpreteerida GhostScript, Acrobat Distiller.
 
Näiteks GhostScript linuxi käsureal:
 
$ gs
ESP Ghostscript 815.01 (2005-09-22)
Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
GS>4 5 mul
GS<1>6
GS<2>mul
GS<1>=
120
GS>quit
$
 
GhostScripti käsureal on näha, mitu elementi on pinus.
 
GhostScripti koosseisu kuulub ka PostScriptist PDF-i konventeerimise programm, GhostView (gv) ja palju muud.
 
== Välislingid ==
 
Adobe poolt ilmunud raamatud (keelega alustajatel soovitatakse raamatutega just selles järjekorras tutvust teha):
* [http://www-cdf.fnal.gov/offline/PostScript/BLUEBOOK.PDF "The Blue Book"] tutvustus ja kasutusnäited (Tutorial and Cookbook)
* [http://www-cdf.fnal.gov/offline/PostScript/GREENBK.PDF "The Green Book"] sügavamalt keelt lahkav raamat (PostScript Language Program Design)
* [http://partners.adobe.com/public/developer/en/ps/PLRM.pdf "The Red Book"] keele spetsifikatsioon (PostScript Language Reference, third edition)
 
Teised raamatud:
81. rida ⟶ 93. rida:
Saidid:
* [http://mdwconsulting.mdwserver.net/postscript/postscript-operators/index.html PostScripti operaatorite kogu seletustega]
* [http://www.cs.indiana.edu/docproject/programming/postscript/postscript.html PostScripti sissejuhatus]
 
[[cs:PostScript]]