Komponentti Pascal

Komponentti Pascal
Kieliluokka välttämätön , rakenteellinen , modulaarinen , komponentti , objekti
Esiintyi 2001 [1]
Tekijä Oberon Microsystems
Tyyppijärjestelmä vahva , staattinen
Vaikutettu Periytysketju: PascalModulaModula-2OberonOberon-2
Verkkosivusto oberon.ch

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:

  1. 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ä.
  2. 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.
  3. 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. 1 2 3 4 Viesti Component Pascal -kielestä (downlink) . Haettu 21. elokuuta 2012. Arkistoitu alkuperäisestä 16. elokuuta 2012. 
  2. Periytysketju: PascalModulaModula-2OberonOberon-2 → Komponentti Pascal
  3. Tkachev F.V. Pascalin lyhyt historia arkistoitu 12. maaliskuuta 2013 Wayback Machinessa // PC WORLD. Levy. 2005, s. 2–5.
  4. 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.
  5. Gough KJ Pinoamassa niitä: virtuaalikoneiden vertailu // Proceedings 6th Australasian Computer Systems Architecture Conference. ACSAC 2001. IEEE Comput. soc. s. 55-61.
  6. Gough KJ Parametrin hyväksyminen Java-virtuaalikoneelle // Proceedings 23rd Australasian Computer Science Conference. ACSC 2000 (luettelonro PR00518). IEEE Comput. soc. s. 81-87.
  7. Gough J. Virtuaalikoneet, hallittu koodi- ja komponenttitekniikka // 2005 Australian Software Engineering Conference. Ieee. s. 5-12.
  8. Komponentti Pascal .NET:ssä (downlink) . Haettu 1. helmikuuta 2011. Arkistoitu alkuperäisestä 18. helmikuuta 2011. 
  9. 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. 
  10. Lataa Gardens Point Component Pascal (downlink) . Haettu 2. helmikuuta 2011. Arkistoitu alkuperäisestä 20. elokuuta 2006. 
  11. 1 2 Component Pascal IDE:ille (downlink) . Haettu 1. helmikuuta 2011. Arkistoitu alkuperäisestä 18. helmikuuta 2011. 

Kirjallisuus

Linkit