Next:
Inhalt
GraLab
Das Graphenlabor
Benutzungshandbuch
Peter Dahm
Friedbert Widmann
Version 4.3.0
Inhalt
Einleitung
Kleine Graphenterminologie
Gerichtete Graphen
Ungerichtete Graphen
Orientierung
Weitere Termini
Typisierung
Realisierung
Attributierung
Realisierung
Undo
Modellierung von Graphklassen
Beispiel:
Programmierung mit Graphklassen
Anwendungen mit beliebigen Graphen
Die Wertewelt des Graphenlabors
Beispielanwendungen
Ein einfacher Graph
Quelltext
Übersetzen und Binden
Ausführen
Ein typisierter, attributierter Graph
Die Graphklasse
CityMap
Erzeugen eines Typsystems
Headerdatei
citytype.h
Erzeugen des Typsystems mit
citytype.c
Erzeugen eines Graphen
Übersetzen und Binden
Laden und Weiterverarbeiten von Graphen
Temporäre Attribute
Beispiel: Suche im Stadtplan
Undo
Grundkonzept
Markierungspunkte
Verzögerte Aktionen
Beispiel 1: Freigabe von Speicherplatz
Beispiel 2: Verwendung eines Parameterpakets
Änderung von Werten temporärer Attribute
Beispiel 3: Attributwertänderung
Logische Destruktoren bei temporären Attributen
Beispiel 4: Logische Destruktoren
Traversieren und Behandlung von orientierten Kanten
Ändern von Start- oder Zielknoten von Kanten
Reihenfolgen der Kanten ändern
Testlauf dieser Beispiele
Nutzung des Graphenlabors
Verzeichnisstruktur des Graphenlabors
Übersetzen und Binden von Anwendungssoftware
Übersetzen
Binden
Hilfe durch Makefiles
Nutzung von Environment-Variablen
Meldungen
Tracing
Wie kann Tracing eingeschaltet werden ?
Wie können Funktionen Tracing-fähig programmiert werden?
Checking
Referenz-Handbuch
Graphen
Typen und Nullwerte
Graphen anlegen und löschen:
g_grfall.c
Automatisches Vergrößern der Datenstrukturen
Graphelemente
Knoten:
g_vertex.c
Kanten:
g_edge.c
Graphstruktur manipulieren:
g_grfman.c
Zugriff auf Typinformationen und Attributewerte:
g_grfatr.c
Graphen temporär attributieren:
g_grftmp.c
Teilgraphen extrahieren und zusammenführen:
g_grfxtr.c
Extrahieren von Knoten-induzierten Teilgraphen:
g_grfxtr.c
Extrahieren von Kanten-induzierten Teilgraphen:
g_grfxtr.c
Extrahieren beliebiger Teilgraphen:
g_grfxtr.c
Zusammenführen von Graphen:
g_grfxtr.c
Listen von Knoten, Kanten und Typen:
g_seq.c
Graphen ausgeben:
g_grfprt.c
Ausgabe als Klartext
Ausgabe im HTML-Format
Graphen in Dateien ablegen und laden:
g_grfsto.c
Intern benutzte Methoden zum Speichern und Laden
Graphen traversieren:
g_grftra.c
Typunabhängiges Traversieren
Traversieren über Klassen
Traversieren über Typen
Knoten- oder Kantenanordnung erfragen und manipulieren:
g_grford.c
Globale Knotensequenz
Vseq
Globale Kantensequenz
Eseq
Inzidenzliste
Knoten, Kanten testen:
g_grftst.c
Kanteninformation erfragen:
g_grfaux.c
Grad von Knoten erfragen:
g_grfdeg.c
Globale Graphdaten erfragen:
g_grfmsc.c
UNDO-Schnittstelle
Typsysteme
Verwaltung der Typsysteme:
g_typsys.c
Speichern und Laden von Typsystemen:
g_typsto.c
Interne Methoden zum Speichern und Laden:
g_typsto.c
Verwaltung der Attributmenge:
g_typsys.c
Verwaltung der Typen:
g_typsys.c
Verwaltung der Attributierungsschemata
Verwaltung der Subtyp-Relation:
g_typsys.c
Aufzählen der Ober- oder Untertypen
Wertebereiche:
g_domain.c
Grundsätzliche Funktionalität
Konstanten
Intern benutzte Methoden
Stream-Ausgaben
Basiswertebereiche
Listenwertebereiche
Wertebereichssequenzen
Tupelwertebereiche
Record-Wertebereiche
Liste von Bezeichnern
Aufzählungswertebereiche
Beispiel:
Werte:
g_valref.c
Nullwerte
Konstanten
Funktionalität der Wertereferenzen
Graphunabhängige Werte
Grundsätzliche Funktionalität von Werten
Werte der Basiswertebereiche
Listenwerte
Tupelwerte
Recordwerte
Aufzählungswerte
Undo-Puffer:
g_undo.c
Die Klasse G_undoBuffer
Erzeugen und Löschen eines Undo-Puffers
Markierungen setzen
Änderungen bestätigen
Änderungen zurücksetzen
Zuweisungen protokollieren
Eintragen von Aktionen
Pufferstatus prüfen
Temporäre Attribute
Konstruktoren, Destruktoren
Ausgabe der Attributinhalte
Schichten von temporären Attributen
Anbindung an den Undo-Puffer
Bezeichner:
g_id.c
Schnittstelle
Konstanten
Konstruktoren, Destruktoren
Sonstige Methoden
Vergleichsoperationen
Tracing :
g_trace.c
Meldungsausgabe
g_msg.c
Environment-Variablen
Dateiformate
Notation der Grammatik
Typsystemdatei
Wertebereichsinformationen
Beispiel:
Attributinformationen
Beispiel:
Typinformationen
Beispiel:
Graphdatei
Graphstruktur
Knotenbeschreibung
Kantenbeschreibung
Attributwerte
Ein komplettes Beispiel
Meldungsdateien
Meldungsköpfe
Beispiel
Meldungstexte
Liste der Environment-Variablen
Unterstützte Systemumgebungen
Hinweise für spezielle Architekturen
OS/2 mit IBM-ICC
(
i386-os2/ibm-icc
)
MS-Windows mit MS-VC
(
i386-win/ms-vc40
,
i386-win/ms-vc50
und
i386-win/ms-vc60
)
MS-Windows mit GNU-Compiler, Cygwin B19
(
i386-win/cygwin
)
Intel i86pc unter Solaris2.6 mit GNU-Compiler
(
i386-unknown-solaris2.6/GNUgcc
)
Übersetzen und Binden
Bibliotheksvarianten
Verfügbare Varianten
Präprozessor-Makros
Auswahl der Varianten
Anpassung an Betriebssystem und Compiler
Sprachstandard des Compilsers
Headerdateien der Compiler-Bibliothek
Headerdateien der C++StreamBibliothek
Funktionalität der Compiler-Bibliothek
Alignment von Basiswerten
Make-Variablen
Übersetzen des Graphenlabors
Suchreihenfolgen der Header-Dateien
Fehlermeldungen
Übersicht über die Verzeichnisse
Über dieses Dokument
Literatur
Index
Friedbert Widmann
7/20/2003