Component Pascal ist eine 1994 bei der ETH-Zürich-Ausgründung Oberon microsystems entstandene objektorientierte Variante der Wirth-Sprachfamilie, ursprünglich unter dem Namen Oberon/L entwickelt. Sie ist eine Erweiterung von Oberon-2 um Komponenten- und GUI-Fähigkeiten. Das wichtigste Werkzeug ist die IDE BlackBox Component Builder (Open Source): ein integriertes System zum Editieren, Kompilieren, Ausführen und Debuggen von Component-Pascal-Programmen, in dem jedes Modul eine Einheit aus Kompilierung und Ausführung ist.

Grundgerüst

MODULE Hallo;
IMPORT StdLog;
PROCEDURE Go*;
BEGIN
  StdLog.String("Hallo, Welt!"); StdLog.Ln
END Go;
END Hallo.

Wichtige Sprachmittel

  • MODULE / IMPORT: Module sind Kompilierungs- und Ausführungseinheiten; exportierte Bezeichner enden mit * (z.B. PROCEDURE Go*).
  • PROCEDURE: Prozeduren, auch typ-gebunden (Methoden) mit Receiver — z.B. PROCEDURE (c: Controller) Handle*.
  • RECORD-Typerweiterung: objektorientierte Vererbung durch erweiterbare Records.
  • POINTER: Referenztypen für dynamische Datenstrukturen.
  • Arrays, Sets, CASE, IF…ELSIF: wie in der Wirth-Familie üblich.

Werkzeuge

DevCP.exe             # BlackBox-Hauptprogramm (IDE)
DevCtl.exe            # Kommandozeilen-/Scripting-Steuerung (Control-Log)
DevTool.exe           # Tool-Steuerung für CI-Skripte
DevComp.exe           # Compiler-Aufruf aus Skripten
obc                   # OBNC/BlackBox-Kommandozeilen-Compiler (optional)

Praxis-Tipps

  • BlackBox ist stark komponentenorientiert: GUIs, Dokumente und Hosts werden als wiederverwendbare Module entwickelt, die zur Laufzeit geladen werden.
  • Der Compiler ist sehr schnell; Module werden erst bei Bedarf in den Speicher geladen (lazy loading).
  • Die Sprache gehört zur Wirth-Linie Pascal → Modula-2 → Oberon → Component Pascal und ist damit eine Brücke zwischen klassischen Systemsprachen und Komponenten-Frameworks.

Verwandte Grundlagen: Oberon-Befehle, Modula-2-Befehle, Modula-3-Befehle und Pascal-Befehle.