Pascal komponens
A Component Pascal egy komponens - orientált programozási paradigmával rendelkező programozási nyelv . Az Oberon microsystems , Inc. Oberon-2 nyelvén alapul . A Pascal nyelv közvetlen leszármazottja [2] .
A nyelv szintaxisa
A Component Pascal főbb finomításai az Oberon-2-höz képest a következőkre vonatkoznak:
- Az Oberon 2 finomításainak fő gondolata az volt, hogy a komponens-keretrendszer (azaz egy adott problématerületre absztrakt osztályokat definiáló modulinterfészek) tervezőjének nagyobb ellenőrzést adjon a tervezési tulajdonságai felett a biztonság szempontjából [3] . Speciális attribútumokat vezettek be a típusokhoz (ABSZTRAKT, BŐVÍTETT, KORLÁTOZOTT) [1] és metódusokhoz (ABSZTRAKT, ÜRES, EXTENSIBLE) [1] , amelyek lehetővé teszik egyrészt az öröklődési hierarchiák konzisztenciájának statikus szabályozását, és ezzel lényegében visszaállítják az öröklődési hierarchiák elvét. teljes statikus gépelés. Másodszor, egy programkomponens (modulok egy csoportja) szerzője mostantól engedélyezheti vagy megtilthatja az ügyfélmodulok számára, hogy kibővítsék az általuk kínált típusokat.
- Az Oberon kissé elavult alaptípusrendszerét modernizálták: A Component Pascal alaptípuskészlete immár a Java nyelv alaptípusainak szuperkészlete [4] . A fő "működő" INTEGER, REAL és CHAR típusok 32, 64 (úgynevezett dupla pontosságú) és 16 ( Unicode ) bites változóknak felelnek meg, ami csökkenti a legtöbb esetben ténylegesen használt alaptípusok sokféleségét; más típusok (LONGINT, SHORTREAL, SHORTCHAR stb.) használata speciális alkalmazásokra korlátozódik.
- A karakterláncokkal való munka alapvető eszközei (implicit String típus) kerültek hozzáadásra, amelyek a BlackBox programozási rendszer szabványos Strings moduljával együtt kényelmesebbé teszik a Component Pascalt, mint a Pascal vagy a klasszikus Oberon a karakterláncokkal való munkavégzéshez. A karakterláncokat karaktertömbök képviselik ( ARRAY OF CHAR vagy ARRAY OF SHORTCHAR ), ahol az érték a karakterek sorozata a 0X speciális határoló karakter első előfordulásáig . A karakterláncok összehasonlíthatók (lexikográfiai összehasonlítás) és összeadhatók (összefűzés). Az a := b$ konstrukció lehetővé teszi, hogy a b karakterek tömbjében tárolt sztringet ( beleértve a 0X határoló karaktert is) átmásoljuk az a karakterek tömbjébe, még akkor is, ha az a := b hozzárendelés tiltott (pl. az a és b tömb különböző hosszúsága ).
A nyelv szintaxisának teljes leírása kiterjesztett Backus-Naur formában a Component Pascal Communications [1] oldalain található . 34 nyelvtani kifejezést tartalmaz, ami csak eggyel több, mint az Oberon-2 .
Component Pascal fordító megvalósításai
BlackBox Component Builder
A BlackBox Component Builder fejlesztői környezetet (Blackbox) az Oberon microsystems Inc. fejlesztette ki. (Svájc), és elérhető stabil verzióban Microsoft Windows operációs rendszerhez , alfa verzióban - GNU/Linux ( Debian , Ubuntu ), valamint FreeBSD és OpenBSD alapú operációs rendszerhez . A Blackbox a BSD-2-Clause licenc alatt jelenik meg . A fejlesztői környezet a következőket tartalmazza: egy forráskód szövegszerkesztő, egy fordító, egy futási környezet (modulbetöltő, szemétgyűjtő), egy profilkészítő, egy exe , dll , elf és így gyűjtő, valamint egy sor kész komponens a gyors gyorshoz. alkalmazásfejlesztés (párbeszédpanelek, interaktív grafikák, összetett dokumentumok létrehozása, valamint interfész a WinApi, WinOle, COM eléréséhez; alrendszer adatbázisokkal való munkavégzéshez, adatátviteli protokollok TCP / IP , V24 ). A Microsoft Windows verzió kiválóan alkalmas OLE fejlesztésre . A fordító és a keretrendszer 1993 óta, és jelenleg is "csiszolt".[ mikor? ] a felhasználói közösség ( BlackBox Framework Center , OberonCore , cross-platform build team ) karbantartja és fejleszti. A terjesztés dokumentációt és példákat tartalmaz. Számos oktatóanyagot adtak ki a Blackbox-szal való együttműködésről. A Blackbox teljes mértékben támogatja a Unicode -ot, beleértve (a legújabb verziókban) a modulok, eljárások, konstansok, típusok és változók Unicode-azonosítóit.
Gardens Point Component Pascal
A Gardens Point Component Pascal [5] [6] [7] egy másik fordító a Component Pascal nyelvhez, amelyet az Ausztrál Queenslandi Műszaki Egyetemen [8] készítettek (az Oberon microsystems társalapítója, Clemens Shipersky alkalmazása előtt, mielőtt a Microsoft Researchhez költözött) . Vannak korlátok: a beágyazott eljárásokban nincsenek függvénymutatók, és nincs hozzáférés a nem lokális változókhoz [9] . A Queensland University of Technology gpcp fordítójának van egy verziója a .NET környezethez és a Java Virtual Machine ( JVM ) számára is [10] . A fordítóprogram Component Pascal [9] nyelven íródott . Itt a Component Pascal integrálva lett a Visual Studio [11] és az Eclipse [11] platformok közötti fejlesztői környezetbe .
Jegyzetek
- ↑ 1 2 3 4 Üzenet a komponens Pascal nyelvről (lefelé irányuló kapcsolat) . Letöltve: 2012. augusztus 21. Az eredetiből archiválva : 2012. augusztus 16.. (határozatlan)
- ↑ Öröklődési lánc: Pascal → Modula → Modula-2 → Oberon → Oberon-2 → Komponens Pascal
- ↑ Tkachev F.V. Pascal rövid története archiválva 2013. március 12-én a Wayback Machine -nál // PC WORLD. Korong. 2005, 2–5.
- ↑ Az Oberon-2 fejlődése Pascal komponenssé (Oberon Microsystems Technical Report) (2001), "Típusok meghatározott tartományai" szakasz . Letöltve: 2012. augusztus 25. Az eredetiből archiválva : 2013. március 12.. (határozatlan)
- ↑ Gough KJ Halmozásuk: virtuális gépek összehasonlítása // Proceedings 6th Australasian Computer Systems Architecture Conference. ACSAC 2001. IEEE Comput. szoc. P. 55-61.
- ↑ Gough KJ Parameter passing for the Java virtuális gép // Proceedings 23rd Australasian Computer Science Conference. ACSC 2000 (kat. sz. PR00518). IEEE Comput. szoc. P. 81-87.
- ↑ Gough J. Virtual Machines, Managed Code and Component Technology // 2005 Australian Software Engineering Conference. Ieee. P. 5-12.
- ↑ Pascal komponens a .NET-en (lefelé irányuló kapcsolat) . Letöltve: 2011. február 1. Az eredetiből archiválva : 2011. február 18.. (határozatlan)
- ↑ 1 2 John Gough, Queenslandi Műszaki Egyetem A .NET futási környezet fordítói célként (a hivatkozás nem elérhető) . Letöltve: 2011. február 2. Az eredetiből archiválva : 2011. február 16.. (határozatlan)
- ↑ Töltse le a Gardens Point Component Pascal-t (lefelé irányuló kapcsolat) . Letöltve: 2011. február 2. Az eredetiből archiválva : 2006. augusztus 20.. (határozatlan)
- ↑ 1 2 komponens Pascal IDE-ekhez (lefelé irányuló kapcsolat) . Letöltve: 2011. február 1. Az eredetiből archiválva : 2011. február 18.. (határozatlan)
Irodalom
- Oberon Microsystems. "Üzenet a Pascal komponens nyelvről" , F. V. Tkachev fordítása
- Niklaus Wirth . Algoritmusok és adatstruktúrák. Új verzió az Oberonhoz. - DMK Press, 2010. - 272 p. - 1000 példányban. ,könyvpéldák(BlackBox Component Builderhez),angol eredeti
- Niklaus Wirth . Fordító épület. - DMK Press, 2010. - 192 p. - 1000 példányban. ,példák és kiegészítő anyagok a könyvhöz, valamint frissített angol eredeti az OberonCore weboldalán
- Vitalij Potopakhin. Modern programozás a semmiből!. - DMK Press, 2011. - 240 p. - 1000 példányban. - ISBN 978-5-94074-665-2 .
- Vitalij Potopakhin. Modern oktatóanyag az algoritmusokról. - DMK Press, 2012. - 320 p. - 500 példányban. - ISBN 978-5-94074-804-5 . (régi kiadás , Vitalij Potopakhin. Az algoritmizálás művészete. - DMK Press, 2011. - 320 oldal - 1000 példány - ISBN 978-5-94074-621-8 . )
Linkek