Hauptnavigation

Parser next up previous contents
Weiter: Preprocessing 1: Datenstrukturerzeugung Hoch: Komponenten des Systems Zurück: Komponenten des Systems


Parser

Ein Parser ist ein Programm, das einen Text liest und ihn mit einer vorgegebenen Grammatik vergleicht. Die einzelnen Textteile werden den grammatikalischen Einheiten zugeordnet. Hierbei teilt man die Arbeit in zwei Phasen auf. Zuerst ?bernimmt ein so genannter Scanner (o. Tokenizer) die Erkennung der einzelnen Worte. Danach nimmt der Parser eine Gruppierung gem?? der gegebenen Grammatik vor. Der Scanner teilt zun?chst den einzulesenden String in einer zuvor definierten Weise in Teilstrings (Tokens) auf. Anschlie?end werden die einzelnen Tokens klassifiziert.

Bei der Realisierung von A D T wurde ein Top-Down-Parser implementiert um die zu verarbeitenden RTF-Dateien zu analysieren. Generell lassen sich Parser noch in eine zweite Klasse unterteilen, in die so genannten Bottom-Up-Parser [AHO . 1989]. Die Namensgebung spiegelt die Richtung wider, in der die Knoten des Parse-Baums konstruiert werden.

In A D T ?bernimmt die Klasse Tokenizer.java die Aufgabe des Scanners. Die Aufteilung der Tokens erfolgt hier in die Klassen controlword, documenttext, documentend, groupstart und groupend. Der Parser hat nun die M?glichkeit die einzelnen Tokens gem?? der Grammatik zu verarbeiten. Um die Verarbeitung der Tokens zu vereinfachen, wurde im Rahmen der Diplomarbeit ein Scanner mit einem Lookahead von zwei Tokens implementiert. Damit ist es dem Parser m?glich, bevor er das n?chste Token vom Scanner anfordert, nachzuschauen, welches das n?chste bzw. ?bern?chste Element sein wird. Abbildung 4.2 zeigt den groben Ablauf des Parsings innerhalb von A D T: Zu Beginn liest das System ein RTF Dokument ein, der Scanner zerlegt die Eingabe in einzelne Tokens, die wiederum vom Parser angefordert werden. Der Parser seinerseits erzeugt f?r jeden Paragraphen des Dokuments Einheiten die in einem Vektor gespeichert werden. Eine detaillierte Beschreibung dieses Vorgangs wird im Kapitel 8 gegeben.

Abbildung 4.2: Der ADT Parser
\begin{figure}\centering\epsfig{file=bilder/parser.eps, width=8cm} \end{figure}


next up previous contents
Weiter: Preprocessing 1: Datenstrukturerzeugung Hoch: Komponenten des Systems Zurück: Komponenten des Systems
Christian H?ppe, christian.hueppe@web.de