Komponentti Pascal
Component Pascal on ohjelmointikieli , jossa on komponenttisuuntautunut ohjelmointiparadigma . Perustuu Oberon microsystems , Inc :n Oberon-2- kieleen . Se on Pascal -kielen suora jälkeläinen [2] .
Kielen syntaksi
Component Pascalin tärkeimmät parannukset Oberon-2:een verrattuna koskevat seuraavia:
- Oberon 2:n tarkennuksien pääajatuksena oli antaa komponenttikehyksen suunnittelijalle (eli moduulirajapinnat, jotka määrittävät abstrakteja luokkia tietylle ongelma-alueelle) suurempi hallinta sen suunnitteluominaisuuksista turvallisuuden kannalta [3] . Tyypeille (ABSTRACT, EXTENSIBLE, LIMITED) [1] ja menetelmille (ABSTRACT, EMPTY, EXTENSIBLE) [1] on otettu käyttöön erikoisattribuutteja , jotka mahdollistavat ensinnäkin perintöhierarkioiden johdonmukaisuuden staattisen ohjauksen ja siten olennaisesti palauttamisen periaatteen. yhteensä staattinen kirjoitus. Toiseksi ohjelmakomponentin (moduuliryhmän) tekijä voi nyt sallia tai estää asiakasmoduuleita laajentamasta tarjoamiaan tyyppejä.
- Oberonin hieman vanhentunut perustyyppijärjestelmä on modernisoitu: Component Pascalin perustyyppijoukko on nyt Java - kielen perustyyppien superjoukko [4] . Tärkeimmät "työskentely"tyypit INTEGER, REAL ja CHAR vastaavat 32-, 64- (ns. double precision) ja 16- ( Unicode )-bittisiä muuttujia, mikä vähentää useimmissa tapauksissa tosiasiallisesti käytettyjen perustyyppien määrää; muiden tyyppien (LONGINT, SHORTREAL, SHORTCHAR jne.) käyttö on rajoitettu erikoissovelluksiin.
- Perustyökalut merkkijonojen kanssa työskentelyyn (implisiittinen merkkijonotyyppi) on lisätty, mikä yhdessä BlackBox -ohjelmointijärjestelmän standardin Strings-moduulin kanssa tekee Component Pascalista mukavampaa kuin Pascal tai klassinen Oberon merkkijonojen kanssa työskentelyssä. Merkkijonoja edustavat merkkijonot ( ARRAY OF CHAR tai ARRAY OF SHORTCHAR ), joissa arvoksi katsotaan merkkijono erikoiserotinmerkin 0X ensimmäiseen esiintymiseen asti . Merkkijonoja voidaan verrata (eli leksikografinen vertailu) ja laskea yhteen (ketjutus). Konstruktiolla a := b$ voit kopioida merkkijonoon b tallennetun merkkijonon ( mukaan lukien erotinmerkki 0X ) merkkijonoon a, vaikka määritys a := b olisi kielletty (esim. taulukoiden a ja b eri pituudet ).
Täydellinen kuvaus kielen syntaksista laajennetussa Backus-Naur-muodossa on Component Pascal Communications [1] -sivuilla . Se sisältää 34 kielioppilauseketta, mikä on vain yksi enemmän kuin Oberon-2 .
Kääntäjän toteutukset Component Pascalille
BlackBox Component Builder
BlackBox Component Builder -kehitysympäristön (Blackbox) on kehittänyt Oberon microsystems Inc. (Sveitsi) ja se on saatavana vakaana versiona Microsoft Windows -käyttöjärjestelmälle , alfaversiona - GNU/Linux -pohjaiselle käyttöjärjestelmälle ( Debian , Ubuntu ), sekä FreeBSD- ja OpenBSD -versioille . Blackbox julkaistaan BSD-2-Clause- lisenssillä . Kehitysympäristö sisältää: lähdekoodin tekstieditorin, kääntäjän, ajonaikaisen ympäristön (moduulilataaja, roskienkerääjä), profiloijan, exe , dll , elf and so -keräimen sekä joukon valmiita komponentteja nopeaan sovelluskehitys (dialogiikkunoiden, interaktiivisten grafiikoiden, yhdistelmädokumenttien luominen sekä käyttöliittymä WinApiin, WinOleen, COM:iin; alijärjestelmä tietokantojen kanssa työskentelemiseen, tiedonsiirtoprotokollat TCP / IP , V24 ). Microsoft Windows - versio sopii hyvin OLE - kehitykseen . Kääntäjä ja kehys on "hiottu" vuodesta 1993 lähtien ja tällä hetkellä[ milloin? ] ylläpitää ja kehittää käyttäjäyhteisö ( BlackBox Framework Center , OberonCore , cross-platform build team ). Jakelu sisältää dokumentaatiota ja joukon esimerkkejä. Useita Blackboxin kanssa työskentelemiseen omistettuja opetusohjelmia on julkaistu. Blackbox tukee täysin Unicodea , mukaan lukien (uudemmissa versioissa) Unicode-tunnisteet moduuleille, menettelyille, vakioille, tyypeille ja muuttujille.
Gardens Point Component Pascal
Gardens Point Component Pascal [5] [6] [7] on toinen Component Pascal -kielen kääntäjä, tehty Australian Queenslandin teknillisessä yliopistossa [8] (Oberon microsystemsin perustajan Clemens Shiperskyn palveluksessa ennen kuin hän siirtyi Microsoft Researchiin) . On olemassa rajoituksia: ei funktioosoittimia eikä pääsyä ei-paikallisiin muuttujiin sisäkkäisissä menettelyissä [9] . Queensland University of Technology gpcp-kääntäjällä on versio sekä .NET -ympäristölle että Java -virtuaalikoneelle ( JVM ) [10] . Kääntäjä on kirjoitettu Component Pascalilla [9] . Tässä Component Pascal on integroitu Visual Studioon [11] ja Eclipse [11] -alustojen väliseen kehitysympäristöön .
Muistiinpanot
- ↑ 1 2 3 4 Viesti Component Pascal -kielestä (downlink) . Haettu 21. elokuuta 2012. Arkistoitu alkuperäisestä 16. elokuuta 2012. (määrätön)
- ↑ Periytysketju: Pascal → Modula → Modula-2 → Oberon → Oberon-2 → Komponentti Pascal
- ↑ Tkachev F.V. Pascalin lyhyt historia arkistoitu 12. maaliskuuta 2013 Wayback Machinessa // PC WORLD. Levy. 2005, s. 2–5.
- ↑ Oberon-2:n kehitys Component Pascaliksi (Oberon Microsystemsin tekninen raportti) (2001), osio "Tyyppien määritetyt verkkotunnukset" . Haettu 25. elokuuta 2012. Arkistoitu alkuperäisestä 12. maaliskuuta 2013. (määrätön)
- ↑ Gough KJ Pinoamassa niitä: virtuaalikoneiden vertailu // Proceedings 6th Australasian Computer Systems Architecture Conference. ACSAC 2001. IEEE Comput. soc. s. 55-61.
- ↑ Gough KJ Parametrin hyväksyminen Java-virtuaalikoneelle // Proceedings 23rd Australasian Computer Science Conference. ACSC 2000 (luettelonro PR00518). IEEE Comput. soc. s. 81-87.
- ↑ Gough J. Virtuaalikoneet, hallittu koodi- ja komponenttitekniikka // 2005 Australian Software Engineering Conference. Ieee. s. 5-12.
- ↑ Komponentti Pascal .NET:ssä (downlink) . Haettu 1. helmikuuta 2011. Arkistoitu alkuperäisestä 18. helmikuuta 2011. (määrätön)
- ↑ 1 2 John Gough, Queensland University of Technology .NET Runtime kääntäjäkohteena (linkki ei saatavilla) . Haettu 2. helmikuuta 2011. Arkistoitu alkuperäisestä 16. helmikuuta 2011. (määrätön)
- ↑ Lataa Gardens Point Component Pascal (downlink) . Haettu 2. helmikuuta 2011. Arkistoitu alkuperäisestä 20. elokuuta 2006. (määrätön)
- ↑ 1 2 Component Pascal IDE:ille (downlink) . Haettu 1. helmikuuta 2011. Arkistoitu alkuperäisestä 18. helmikuuta 2011. (määrätön)
Kirjallisuus
Linkit