Akzeptor zur Syntaxanalyse, Syntaxdiagramme

Aus Informatik
Wechseln zu: Navigation, Suche

Akzeptor zur Syntaxanalyse

Um ein in einer Programmiersprache geschriebenes Programm ausführen zu können, muss dieses in Maschinencode übersetzt werden. Dies geschieht u.a. durch einen Scanner und einen Parser.

Scanner: überprüft ob Wörter richtig geschrieben sind, ersetzt mit Tokens Parser: Überprüfung der Syntax

Damit sind Scanner und Parser Automaten, insbesondere ein Transduktor und ein Akzeptor.

Praktisch sind Scanner und Parser komplexer aufgebaut - für unsere Betrachtungen an dieser Stelle genügt die Sichtweise auf die Automaten.


Beispiel: Bezeichner in Pascal

Betrachten wir als Beispiel einen Bezeichner in Pascal (bzw. einer pascalähnlichen Sprache). Diese Bezeichner dürfen:

  • Aus Zeichen (a..z), Ziffern (0..9) und dem Sonderzeichen "_" bestehen.
  • Ziffern dürfen nicht zu Beginn des Bezeichners stehen.
  • Einem beginnenden Unterstrich muss ein Zeichen folgen.

Grammatiken können auf einfache Art mit Hilfe von Sytaxdiagrammen dargestellt werden ... in unserem Fall:

SyntaxdiagrammBezeichner.png

DEA Umsetzung

Da Syntaxdiagramme genau alle Worte einer Sprache erzeugen / erkennen können, kann auch ein entsprechender DEA konstruiert werden.

BezeichnerPascal0.jpg