next up previous contents
Next: 6.2.3 Grammatik Up: 6.2 Eingabeanalyse Previous: 6.2.1 Problematik

6.2.2 Lösungsansatz

Für die Problematik der Analyse von Eingabefolgen und der Auslösung entsprechender Aktionen existiert ein geschlossener Lösungsansatz in Form von sogenannten Parsern für Formale Sprachen. Diese sind im allgemeinen in Form von infiniten Automaten [1] realisiert.

Parser sind Programmteile, die dazu dienen, eine Folge von Eingabeworten (token) nach vorgegebenen Regeln zu analysieren, unerlaubte Folgen zu erkennen und zurückzuweisen, und auf erlaubte Folgen mit wohldefinierten Aktionen zu reagieren. Die Programmierung von Parsern erfolgt mit einer Menge von Regeln, die die Syntax oder Grammatik der Eingabesprache bilden.

Jede Regel gibt einen Weg an, auf dem ein Konstrukt der Sprache durch (zumeist einfachere) Konstrukte aufgelöst (,,abgeleitet``) werden kann. Bestandteile der Regeln sind Terminale, die nicht weiter aufgelöst werden können, und eben Nonterminale, deren mögliche Auflösungen durch Folgen von Terminalen und Nonterminalen in den Regeln beschrieben werden.

Für die Zwecke des PIF-Editors wurde ein derartiger infiniter Automat codiert. Da es sich hierbei um einen hierarchisch hochstehenden Teil handelt, und weil die Laufzeitflexibilität eines Interpreters wünschenswert ist, wurde er in VLISP realisiert.



Martin Knaipp
Wed Jun 12 15:41:33 MET DST 1996