Komponent Pascal

Komponent Pascal
Språkklass imperativ , strukturell , modulär , komponent , objekt
Framträdde i 2001 [1]
Författare Oberon Microsystems
Typ system stark , statisk
Blivit påverkad Arvskedja: PascalModulaModula-2OberonOberon-2
Hemsida oberon.ch

Komponent Pascal är ett programmeringsspråk  med ett komponentorienterat programmeringsparadigm . Baserat på Oberon-2- språket av Oberon microsystems , Inc. Det är en direkt ättling till pascalspråket [2] .

Syntax för språket

De viktigaste förfiningarna av Component Pascal jämfört med Oberon-2 gäller följande:

  1. Huvudtanken bakom förfiningarna från Oberon 2 var att ge designern av komponentramverket (d.v.s. modulgränssnitt som definierar abstrakta klasser för ett visst problemområde) större kontroll över dess designegenskaper när det gäller säkerhet [3] . Särskilda attribut har införts för typer (ABSTRAKT, UTÖKNING, BEGRÄNSAD) [1] och metoder (ABSTRAKT, TOM, UTÖKNING) [1] , som för det första gör det möjligt att statiskt kontrollera konsistensen av arvshierarkier och därigenom i huvudsak återställa principen om total statisk typning. För det andra kan författaren till en programkomponent (en grupp av moduler) nu tillåta eller förbjuda klientmoduler att utöka de typer de erbjuder.
  2. Oberons något föråldrade bastypsystem har moderniserats: Komponent Pascals bastypuppsättning är nu en superset [4] av Java - språkets bastyper . De huvudsakliga "arbetande" typerna INTEGER, REAL och CHAR motsvarar 32-, 64- (så kallad dubbel precision) och 16- ( Unicode )-bitarsvariabler, vilket minskar mängden bastyper som faktiskt används i de flesta fall; användningen av andra typer (LONGINT, SHORTREAL, SHORTCHAR, etc.) är begränsad till speciella tillämpningar.
  3. Grundläggande verktyg för att arbeta med teckensträngar (implicit strängtyp) har lagts till, vilket tillsammans med standardmodulen Strings i programmeringssystemet BlackBox gör Component Pascal bekvämare än Pascal eller klassisk Oberon för att arbeta med strängar. Teckensträngar representeras av arrayer av tecken ( ARRAY OF CHAR eller ARRAY OF SHORTCHAR ), där värdet anses vara sekvensen av tecken fram till den första förekomsten av det speciella avgränsningstecknet 0X . Teckensträngar kan jämföras (vilket betyder lexikografisk jämförelse) och läggas ihop (sammansättning). Konstruktionen a := b$ låter dig kopiera strängen som är lagrad i teckenuppsättningen b ( inklusive avgränsningstecknet 0X ) till uppsättningen av tecken a, även om tilldelningen a := b är förbjuden (t.ex. p.g.a. de olika längderna av arrayerna a och b ).

En fullständig beskrivning av språkets syntax i utökad Backus-Naur-form finns på sidorna Component Pascal Communications [1] . Den innehåller 34 grammatiska uttryck, vilket bara är ett mer än Oberon-2 .

Kompilatorimplementeringar för komponent Pascal

BlackBox Component Builder

BlackBox Component Builder- utvecklingsmiljön (Blackbox) utvecklades av Oberon microsystems Inc. (Schweiz) och finns tillgänglig i en stabil version för Microsoft Windows OS , i alfaversion - för OS baserat på GNU/Linux ( Debian , Ubuntu ), samt FreeBSD och OpenBSD . Blackbox släpps under licensen BSD-2-klausul . Utvecklingsmiljön inkluderar: en textredigerare för källkod, en kompilator, en runtime-miljö (modulladdare, sopsamlare), en profilerare, en exe , dll , elf och så samlare, samt en uppsättning färdiga komponenter för snabb applikationsutveckling (skapa dialogrutor, interaktiv grafik, sammansatta dokument, samt ett gränssnitt för åtkomst till WinApi, WinOle, COM; ett undersystem för att arbeta med databaser, dataöverföringsprotokoll TCP / IP , V24 ). Microsoft Windows-versionen är väl lämpad för OLE- utveckling . Kompilatorn och ramverket har "polerats" sedan 1993, och för tillfället[ när? ] underhålls och utvecklas av användargemenskapen ( BlackBox Framework Center , OberonCore , plattformsbyggande team ). Distributionen innehåller dokumentation och en uppsättning exempel. Flera handledningar dedikerade till att arbeta med Blackbox har släppts. Blackbox stöder Unicode fullt ut , inklusive (i de senaste versionerna) Unicode-identifierare för moduler, procedurer, konstanter, typer och variabler.

Gardens Point Component Pascal

Gardens Point Component Pascal [5] [6] [7]  är en annan kompilator för Component Pascal-språket, gjord vid Australian Queensland University of Technology [8] (anställning av Oberon microsystems medgrundare Clemens Shipersky innan han flyttade till Microsoft Research) . Det finns begränsningar: inga funktionspekare och ingen tillgång till icke-lokala variabler i kapslade procedurer [9] . Queensland University of Technologys gpcp-kompilator har en version för både .NET- miljön och Java Virtual Machine ( JVM ) [10] . Kompilatorn är skriven i Component Pascal [9] . Här har Component Pascal integrerats i Visual Studio [11] och i Eclipse [11] plattformsoberoende utvecklingsmiljö .

Anteckningar

  1. 1 2 3 4 Meddelande om komponent Pascal-språk (nedlänk) . Hämtad 21 augusti 2012. Arkiverad från originalet 16 augusti 2012. 
  2. Arvskedja: PascalModulaModula-2OberonOberon-2 → Komponent Pascal
  3. Tkachev F.V. En kort historia om Pascal Arkiverad 12 mars 2013 på Wayback Machine // PC WORLD. Disk. 2005, s. 2–5.
  4. Utvecklingen av Oberon-2 till komponent Pascal (Oberon Microsystems tekniska rapport) (2001), avsnitt "Specificerade domäner av typer" . Hämtad 25 augusti 2012. Arkiverad från originalet 12 mars 2013.
  5. Gough KJ Staplar dem upp: en jämförelse av virtuella maskiner // Proceedings 6th Australasian Computer Systems Architecture Conference. ACSAC 2001. IEEE Comput. soc. S. 55-61.
  6. Gough KJ Parameterpassering för den virtuella Java-maskinen // Proceedings 23rd Australasian Computer Science Conference. ACSC 2000 (kat.nr PR00518). IEEE Comput. soc. s. 81-87.
  7. Gough J. Virtuella maskiner, hanterad kod och komponentteknologi // Australian Software Engineering Conference 2005. Ieee. S. 5-12.
  8. Komponent Pascal på .NET (nedlänk) . Hämtad 1 februari 2011. Arkiverad från originalet 18 februari 2011. 
  9. 1 2 John Gough, Queensland University of Technology. .NET Runtime as a Compiler Target (länk inte tillgänglig) . Hämtad 2 februari 2011. Arkiverad från originalet 16 februari 2011. 
  10. Ladda ner Gardens Point Component Pascal (nedlänk) . Hämtad 2 februari 2011. Arkiverad från originalet 20 augusti 2006. 
  11. 1 2 Komponent Pascal för IDE (nedlänk) . Hämtad 1 februari 2011. Arkiverad från originalet 18 februari 2011. 

Litteratur

Länkar