Inhaltsverzeichnis Inhalt Praktikum objektorientiertes Programmieren: CNF Aufwärts

Voherige Seite Entwurf Literatur Nächste Seite

Benutzung

Abbildung 3: CNF nach dem Start
cnf nach dem Start

Der Bildschirm von CNF nach dem Start ist in Abbildung 3 zu sehen. Entsprechend der Grobskizze aus der Spezifikation (siehe Abbildung 1) finden sich folgende Komponenten:

Abbildung: CNF während einer Berechnung
cnf während einer berechnung

Die meisten Komponenten funktionieren ''erwartungsgemäss'', zu beachten ist jedoch, dass während einer Berechnung keine Aktionen aus dem Aktionspanel initiiert werden können. (siehe Abbildung 4) Allerdings ist es möglich, den Modus zu ändern: Schritt- und Filmmodus können hin und her geschaltet werden, der Sprungmodus kann aktiviert werden. Während einer Berechnung werden Beschreibungen zu den aktuellen Rechenschritten und Veränderungen der Grammatiken durch Hervorhebung der entsprechenden Regeln angezeigt.

Zu erwähnen ist noch die Heuristik zur Unterscheidung von Meta- und Alphabetzeichen: Alle Zeichen, deren erstes Zeichen lexikografisch nach dem Zeichen Z steht, werden als Alphabetzeichen gewertet, alle anderen als Metazeichen. Das gilt ebenfalls für Zeichen, die aus mehr als einem Zeichen bestehen, solche Zeichen können eingegeben werden, indem sie in eckige Klammern eingeschlossen werden oder (als Spezialfall) werden Zeichen, die direkt von einem Hochstrich gefolgt werden ebenfalls als ein Zeichen gewertet. Einige Beispiele für Eingaben und deren Interpretation zeigt Tabelle 1.


Tabelle: Beispiele für Eingaben und deren Interpretation
Eingabe Interpretation
  Metazeichen Alphabetzeichen
A, B, Z A, B, Z  
a, b, z   a, b, z
[A], [AA], [Aa], [A'], [A''] A, AA, Aa, A', A''  
A' A'  
A'' A', '  
[a], [aa], [aA], [a'], [a'']   a, aa, aA, a', a''
a'   a'
a'' ' a'
[[a']], [[A']], [[a]], [[A]] [a'], [A'], [a], [A]  




Voherige Seite Entwurf Literatur Nächste Seite

Inhaltsverzeichnis Inhalt Praktikum objektorientiertes Programmieren: CNF Aufwärts

Kontakt: m.rahn@stud.uka.de und mai99jsv@studserv.uni-leipzig.de