Lexikalischer Scanner

Lexikalischer Scanner

Ein lexikalischer Scanner (kurz Lexer) ist ein Computerprogramm zur Zerlegung von Eingaben in Folgen von logisch zusammengehörigen Einheiten, so genannte Token (engl. tokens).

Grundlagen

Bei der Zerlegung einer Eingabe in eine Folge von logisch zusammengehörigen Einheiten, in die so genannten Token, spricht man auch von lexikalischer Analyse. Typischerweise geschieht die Zerlegung nach den Regeln einer regulären Grammatik, und der Scanner ist als endlicher Automat realisiert. Ein Verfahren zur Überführung eines regulären Ausdrucks in einen endlichen Automaten ist das Berry-Sethi-Verfahren.

Ein Scanner ist ein spezieller Parser und meist vorverarbeitender Teil eines weiteren Parsers. Er erkennt dabei innerhalb der Eingabe Schlüsselwörter, Bezeichner, Operatoren und Konstanten. Erkannte Token werden mit ihrem jeweiligen Typ zurückgeliefert. Der nachfolgende Parser arbeitet dann auf den Token als atomaren Symbolen (auch Terminalsymbole genannt).

Ein Scanner kann einen separaten, so genannten Screener benutzen, um Leerraum und Kommentare zu entfernen. Häufig wird das jedoch von der zugrunde liegenden Grammatik abgedeckt.

Programme zur Erzeugung

Wenn man eine formale Beschreibung der zu erkennenden Lexik angeben kann, lässt sich ein lexikalischer Scanner automatisch generieren. Das in UNIX-Betriebssystemen enthaltene Programm Lex sowie das als Freie Software entwickelte Flex erfüllen genau diese Funktion. Aus der formalen Beschreibung generieren diese Programme eine Funktion, die aus einem eingegebenen Text das jeweils nächste Token ermittelt und zurückgibt. Diese Funktion findet dann meist in einem Parser Verwendung. Siehe auch Parsergenerator.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Scanner — ([ˈskænɚ], englisch ‚Abtaster‘) bezeichnet: Geräte zur berührungslosen digitalen Datenerfassung: Barcodelesegerät, Gerät zum optischen Abtasten von Strichcodes Scanner (Datenerfassung), Gerät zur optischen Digitalisierung von Aufsicht und… …   Deutsch Wikipedia

  • Scan — Scanner ([ˈskænɚ], englisch für „Abtaster“) steht für: Barcodelesegerät, Gerät zum optischen Abtasten von Strichcodes Funkscanner, in der Funktechnik ein Gerät, das verschiedene Frequenzen ständig nach Signalen durchsucht Laserscanner,… …   Deutsch Wikipedia

  • Übersetzerbau — Der Compilerbau, deutsch Übersetzerbau, ist eine Disziplin der Informatik. Sie beschäftigt sich mit dem Entwurf und der Programmierung von Compilern, die einen Quellcode (ein meist in einer höheren Programmiersprache verfasstes Programm, also… …   Deutsch Wikipedia

  • Lexikalische Analyse — Ein lexikalischer Scanner (kurz Lexer) ist ein Computerprogramm zur Zerlegung von Eingaben in Folgen von logisch zusammengehörigen Einheiten, so genannte Token (engl. tokens). Grundlagen Bei der Zerlegung einer Eingabe in eine Folge von logisch… …   Deutsch Wikipedia

  • Parsing — Ein Parser [ˈpɑːɹsɚ] (engl. to parse „analysieren“ bzw. von lateinisch pars „Teil“; im Deutschen gelegentlich auch Zerteiler) ist ein Computerprogramm, das in der Computertechnik für die Zerlegung und Umwandlung einer beliebigen Eingabe in ein… …   Deutsch Wikipedia

  • Syntaxanalyse — Ein Parser [ˈpɑːɹsɚ] (engl. to parse „analysieren“ bzw. von lateinisch pars „Teil“; im Deutschen gelegentlich auch Zerteiler) ist ein Computerprogramm, das in der Computertechnik für die Zerlegung und Umwandlung einer beliebigen Eingabe in ein… …   Deutsch Wikipedia

  • Text-Parser — Ein Parser [ˈpɑːɹsɚ] (engl. to parse „analysieren“ bzw. von lateinisch pars „Teil“; im Deutschen gelegentlich auch Zerteiler) ist ein Computerprogramm, das in der Computertechnik für die Zerlegung und Umwandlung einer beliebigen Eingabe in ein… …   Deutsch Wikipedia

  • Textparser — Ein Parser [ˈpɑːɹsɚ] (engl. to parse „analysieren“ bzw. von lateinisch pars „Teil“; im Deutschen gelegentlich auch Zerteiler) ist ein Computerprogramm, das in der Computertechnik für die Zerlegung und Umwandlung einer beliebigen Eingabe in ein… …   Deutsch Wikipedia

  • Compiler-Front-End — Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm – genannt Quellprogramm – in ein semantisch äquivalentes Programm einer Zielsprache (Zielprogramm) umwandelt.… …   Deutsch Wikipedia

  • Kompilierer — Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm – genannt Quellprogramm – in ein semantisch äquivalentes Programm einer Zielsprache (Zielprogramm) umwandelt.… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”