Beschreibung
Im November 1980 verabschiedete das Comite Consultatif International Telegraphique et TeIephonique (CCITT), ein Ausschuß der Internationalen Fernmeldunion, die Sprache CHILL (CCITT High Level Language) als Standard programmiersprache für rechnergesteuerte Vermittlungssysteme. Damit war ein modernes Sprachkonzept - ähnlich PASCAL oder MO DU LA - für Systementwicklungen der Kommunikationstechnik festge schrieben. CHILL berücksichtigt alle üblichen Anforderungen an höhe re Programmiersprachen. Insbesondere sind durchgängig Typ-, Block-, Mo dul-und Prozeßkonzepte realisiert. Somit erfüllt CHILL nicht nur die Be dingungen der Vermittlungstechnik. Es ist auch eine tragfähige Basis für alle Programmieraufgaben. Dank des Sprachkonzeptes können vom Compiler bereits zur Übersetzungszeit folgende Prüfungen vorgenommen werden: - Kontrolle der Verträglichkeit von Operationen mit Operanden, - Kontrolle der Schnittstellen bei Prozeduren und Moduln, - Kontrolle des Steuerflusses. Durch die genannten Konzepte wird die "Trickprogrammierung" verhin dert. Durch sie ist die Transparenz der in CHILL formulierten Programme wesentlich besser als die vergleichbarer Programme, welche in den problem orientierten Sprachen FORTRAN, COBOL oder PL/1 oder gar in Assem blersprachen geschrieben sind. Nach einer kurzen Einführung in Entstehungsgeschichte und Anwen dungsgebiete von CHILL wird in diesem Buch ausführlich auf das Sprach konzept und den Sprachumfang eingegangen. Damit wird allen interessier ten Informatikern und Nachrichtentechnikern ein Einblick in die Mög lichkeiten dieser modernsten und genormten Programmiersprache gegeben.
Autorenporträt
Inhaltsangabe1 Entstehungsgeschichte und Anwendungsgebiete von CHILL.- 1.1 Einleitung.- 1.2 Historie.- 1.3 Anwendungsgebiete.- 2 Sprachkonzept und Sprachumfang.- 2.1 Überblick.- 2.1.1 Anforderungen an die Sprache.- 2.1.2 Grundbegriffe.- 2.1.3 Vereinbarungen.- 2.1.3.1 Einfache Modes.- 2.1.3.2 Komplexe Modes.- 2.1.3.3 Zeiger-Modes.- 2.1.3.4 Variablen.- 2.1.3.5 Konstanten.- 2.1.3.6 Prozeduren.- 2.1.3.7 Modulschnittstellen.- 2.1.4 Verarbeitungsteil.- 2.1.4.1 Einfache Aktionen.- 2.1.4.2 Zusammengesetzte Aktionen.- 2.1.5 Parallele Prozesse und Synchronisations-Modes.- 2.1.6 Ausnahmebehandlung (Exception Handling).- 2.2 Elemente von CHILL.- 2.2.1 Darstellung der Syntax.- 2.2.2 Zeichensatz.- 2.2.3 Lexikalische Einheiten.- 2.3 Programmaufbau.- 2.4 Sequentieller Teil.- 2.4.1 Vereinbarungsteil.- 2.4.1.1 Definitionen.- 2.4.1.2 Symbolische Konstanten (SYN).- 2.4.1.3 Mode-Erkärungen.- 2.4.1.4 Variablenerklärung.- 2.4.1.5 Modes.- 2.4.2 Verarbeitungsteil.- 2.4.2.1 Prozeduren.- 2.4.2.2 Operatoren.- 2.4.2.3 Ausdrücke.- 2.4.2.4 Aktionsanweisungen.- 2.4.3 Spezielle Ein-/Ausgabe-Elemente.- 2.4.4 Ausnahmebehandlung (Exception Handling).- 2.5 Sprachkonstrukte für konkurrierende Prozesse.- 2.5.1 ProzeBerklärung.- 2.5.2 Prozeßinkarnierung.- 2.5.3 Interprozeßkommunikation.- 2.5.3.1 Gemeinsame Datenbereiche.- 2.5.3.2 Aktionen.- 2.5.4 ProzeBsynchronisation.- 2.5.4.1 Implizite Synchronisation.- 2.5.4.2 Explizite Synchronisation.- 2.5.5 Prozeßidentifikation und Signalisierung.- 2.6 CHILL im Vergleich zu anderen Sprachen.- 2.6.1 Spezielle Sprachen der Vermittlungstechnik.- 2.6.2 Moderne höhere Programmiersprachen.- 3 Aspekte der Compilerimplementierung.- 3.1 Implementierungsaspekte für einen CHILL-Compiler.- 3.1.1 Compileraufbau.- 3.1.2 Implementierungstechnik.- 3.2 Entwicklungs- und Strukturprinzipien für einen CHILL-Parser.- 3.2.1 Die lexikalische Analyse.- 3.2.2 Die syntaktische Analyse.- 3.2.3 Die Tabellenverwaltung.- 3.2.4 Die semantische Analyse.- 3.2.5 Die Zwischencodegenerierung.- 3.2.6 Die Fehlerbehandlung.- 3.2.7 Aufbau des Ein-/Ausgabe-Systems des CHILL-Parsers.- 3.3 Auswirkungen des Konzeptes der Daten-Modes.- 3.3.1 Arten der üblichen Mode-Äquivalenz.- 3.3.2 Mode-Äquivalenz in CHILL.- 3.3.3 Maschinenunabhängigkeit von Daten-Modes.- 3.4 Konzept der separaten Compilation.- 3.4.1 Modulkonzept und Sichtbarkeit.- 3.4.1.1 Modulstruktur von CHILL-Programmen.- 3.4.1.2 Lebensdauer, Sichtbarkeit.- 3.4.1.3 Erweiterung der Sichtbarkeit.- 3.4.1.4 Programmieren in Datenabstraktionen.- 3.4.2 Separate Compilation von Moduln.- 3.4.2.1 Schnittstellenprüfung.- 3.4.2.2 Erzeugung des Objektprogramms.- 3.4.2.3 Recompilation, Versionenkontrolle.- 3.4.2.4 Übersetzungsreihenfolge, zyklisches Exportieren und Importieren.- 3.4.2.5 Auswirkungen der separaten Compilation auf die Programmentwicklung.- 3.4.3 Implementierungsgesichtspunkte.- 3.4.3.1 Projektbibliothek.- 3.4.3.2 Schnittstelle zwischen Parser und Codegeneratoren.- 3.4.4 Bemerkungen zur separaten Compilation.- 3.5 Problematik der Initialisierung.- 3.5.1 Möglichkeiten der Initialisierung.- 3.5.2 Datensegment.- 3.5.3 Analyse der Compile-Zeit-Ausdrücke.- 3.5.4 Der ELSE-Fall.- 3.6 Die CHILL-Zwischensprache.- 3.6.1 Konzepte von Zwischensprachen.- 3.6.2 Die Stackmaschine.- 3.6.2.1 Speicherverwaltung für lokale Variablen und Parameter.- 3.6.2.2 Berechnung von Ausdrücken.- 3.6.2.3 Daten-Modes.- 3.6.2.4 Befehlssatz.- 3.6.3 Befehlsliste der Stackmaschine.- 3.7 Codegenerierung.- 3.7.1 Zwischensprachen und Codegenerierung.- 3.7.1.1 Codegenerierung aus Zwischensprachen auf Basis hypothetischer Maschinen.- 3.7.1.2 Codegenerierung aus Zwischensprachen auf Basis attributierter Strukturbäume.- 3.7.1.3 Ein Modell zur Codegenerierung aus attributierten Strukturbäumen.- 3.7.2 Codegenerierung und Maschinensprachen.- 3.8 Struktur der CHILL-Codegeneratoren.- 3.8.1 Modell der Codegenerierung.- 3.8.2 Schnittstelle zum Parser.- 3.8.3 Schnittstelle zur Zielmaschine.- 3.8.3.1 Maschinencodesegmente.- 3.8.3.2 Speicherorganisation.- 3.8.3.3 Schnittstelle zu
Herstellerkennzeichnung:
Springer Verlag GmbH
Tiergartenstr. 17
69121 Heidelberg
DE
E-Mail: juergen.hartmann@springer.com




































































































