Komponenta Pascal

Komponenta Pascal
Jazyková třída imperativ , strukturální , modulární , komponenta , objekt
Objevil se v 2001 [1]
Autor Společnost Oberon Microsystems
Typový systém silný , statický
Byl ovlivněn Dědičný řetězec: PascalModulaModula-2OberonOberon-2
webová stránka oberon.ch

Component Pascal je programovací  jazyk s komponentně orientovaným programovacím paradigmatem . Na základě jazyka Oberon-2 od Oberon microsystems , Inc. Je přímým potomkem jazyka Pascal [2] .

Syntaxe jazyka

Hlavní vylepšení Component Pascal ve srovnání s Oberon-2 se týkají následujícího:

  1. Hlavní myšlenkou vylepšení z Oberonu 2 bylo poskytnout návrháři rámce komponent (tj. rozhraní modulů, která definují abstraktní třídy pro určitou problémovou oblast) větší kontrolu nad jeho konstrukčními vlastnostmi z hlediska bezpečnosti [3] . Pro typy (ABSTRACT, EXTENSIBLE, LIMITED) [1] a metody (ABSTRACT, EMPTY, EXTENSIBLE) [1] byly zavedeny speciální atributy , které umožňují za prvé staticky řídit konzistenci hierarchií dědičnosti a tím v podstatě obnovit princip totální statické psaní. Za druhé, autor programové komponenty (skupiny modulů) nyní může povolit nebo zakázat klientským modulům rozšiřovat typy, které nabízejí.
  2. Oberonův poněkud zastaralý základní typový systém byl modernizován: Základní typová sada Component Pascal je nyní nadmnožinou [4] základních typů jazyka Java . Hlavní „pracovní“ typy INTEGER, REAL a CHAR odpovídají 32-, 64- (tzv. double precision) a 16- ( Unicode )-bitovým proměnným, což ve většině případů snižuje rozmanitost skutečně používaných základních typů; použití jiných typů (LONGINT, SHORTREAL, SHORTCHAR atd.) je omezeno na speciální aplikace.
  3. Přibyly základní nástroje pro práci s řetězci znaků (implicitní typ String), což spolu se standardním modulem Strings v programovacím systému BlackBox dělá Component Pascal pro práci s řetězci pohodlnějším než Pascal nebo klasický Oberon. Řetězce znaků jsou reprezentovány poli znaků ( ARRAY OF CHAR nebo ARRAY OF SHORTCHAR ), přičemž za hodnotu je považována posloupnost znaků až do prvního výskytu speciálního oddělovacího znaku 0X . Řetězce znaků lze porovnávat (myšleno lexikografické srovnání) a sčítat (zřetězení). Konstrukce a := b$ umožňuje zkopírovat řetězec uložený v poli znaků b ( včetně oddělovacího znaku 0X ) do pole znaků a, i když je přiřazení a := b zakázáno (např. různé délky polí aab ) .

Úplný popis syntaxe jazyka v rozšířené formě Backus-Naur je uveden na stránkách Component Pascal Communications [1] . Obsahuje 34 gramatických výrazů, což je jen o jeden více než Oberon-2 .

Implementace kompilátoru pro Component Pascal

BlackBox Component Builder

Vývojové prostředí BlackBox Component Builder (Blackbox) bylo vyvinuto společností Oberon microsystems Inc. (Švýcarsko) a je k dispozici ve stabilní verzi pro OS Microsoft Windows , v alfa verzi - pro OS založené na GNU/Linux ( Debian , Ubuntu ), stejně jako FreeBSD a OpenBSD . Blackbox je vydán pod licencí BSD-2-Clause . Vývojové prostředí obsahuje: textový editor zdrojového kódu, kompilátor, runtime prostředí (zavaděč modulů, garbage collector), profiler, exe , dll , elf a tak kolektor, a také sadu hotových komponent pro rychlé vývoj aplikací (vytváření dialogových oken, interaktivní grafiky, složených dokumentů, ale i rozhraní pro přístup k WinApi, WinOle, COM; subsystém pro práci s databázemi, protokoly přenosu dat TCP / IP , V24 ). Verze pro Microsoft Windows je vhodná pro vývoj OLE . Kompilátor a rámec byly „vyleštěny“ od roku 1993 a v současné době[ kdy? ] je udržován a vyvíjen uživatelskou komunitou ( BlackBox Framework Center , OberonCore , cross-platformní sestavovací tým ). Distribuce obsahuje dokumentaci a sadu příkladů. Bylo vydáno několik návodů věnovaných práci s Blackboxem. Blackbox plně podporuje Unicode , včetně (v posledních verzích) Unicode identifikátorů pro moduly, procedury, konstanty, typy a proměnné.

Zahrady Point Component Pascal

Gardens Point Component Pascal [5] [6] [7]  je další kompilátor pro jazyk Component Pascal, vytvořený na australské Queensland University of Technology [8] (zaměstnání spoluzakladatele Oberon microsystems Clemense Shiperskyho, než přešel do Microsoft Research) . Existují omezení: žádné ukazatele funkcí a žádný přístup k nelokálním proměnným ve vnořených procedurách [9] . Kompilátor gpcp Queensland University of Technology má verzi jak pro prostředí .NET , tak pro Java Virtual Machine ( JVM ) [10] . Kompilátor je napsán v Component Pascal [9] . Zde byl Component Pascal integrován do Visual Studia [11] a do multiplatformního vývojového prostředí Eclipse [11] .

Poznámky

  1. 1 2 3 4 Zpráva o jazyce Component Pascal (downlink) . Získáno 21. srpna 2012. Archivováno z originálu 16. srpna 2012. 
  2. Řetězec dědičnosti: PascalModulaModula-2OberonOberon-2 → Komponentní Pascal
  3. Tkachev F.V. Stručná historie Pascalu archivována 12. března 2013 na Wayback Machine // PC WORLD. Disk. 2005, s. 2–5.
  4. The Evolution of Oberon-2 to Component Pascal (Oberon Microsystems Technical Report) (2001), sekce "Specifikované domény typů" . Získáno 25. srpna 2012. Archivováno z originálu 12. března 2013.
  5. Gough KJ Stacking them up: srovnání virtuálních strojů // Proceedings 6th Australasian Computer Systems Architecture Conference. ACSAC 2001. Výpočet IEEE. soc. S. 55-61.
  6. Gough KJ Předávání parametrů pro virtuální stroj Java // Proceedings 23rd Australasian Computer Science Conference. ACSC 2000 (kat. č. PR00518). IEEE výpočetní. soc. S. 81-87.
  7. Gough J. Virtuální stroje, řízený kód a technologie komponent // 2005 Australian Software Engineering Conference. eee. S. 5-12.
  8. Component Pascal na .NET (downlink) . Získáno 1. února 2011. Archivováno z originálu 18. února 2011. 
  9. 1 2 John Gough, Queensland University of Technology. .NET Runtime jako cíl kompilátoru (odkaz není dostupný) . Získáno 2. února 2011. Archivováno z originálu 16. února 2011. 
  10. Stáhněte si komponentu Gardens Point Pascal (downlink) . Získáno 2. února 2011. Archivováno z originálu 20. srpna 2006. 
  11. 1 2 Component Pascal pro IDE (downlink) . Získáno 1. února 2011. Archivováno z originálu 18. února 2011. 

Literatura

Odkazy