„Screener (Informatik)“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
KKeine Bearbeitungszusammenfassung
ergänzt
Zeile 14: Zeile 14:
* [[Variable (Programmierung)#Namenswahl|Variablennamen]] wären in der weiteren Verarbeitung als Identifizierer zu ineffizient. Sie werden deshalb in eindeutige Zahlen codiert. Da der Compiler trotzdem auf die externen Namen Zugriff haben muss, werden sie in einer Datenstruktur gespeichert, die durch die vergebenen Codes effizient [[Adressierung (Rechnerarchitektur)|adressiert]] werden kann.
* [[Variable (Programmierung)#Namenswahl|Variablennamen]] wären in der weiteren Verarbeitung als Identifizierer zu ineffizient. Sie werden deshalb in eindeutige Zahlen codiert. Da der Compiler trotzdem auf die externen Namen Zugriff haben muss, werden sie in einer Datenstruktur gespeichert, die durch die vergebenen Codes effizient [[Adressierung (Rechnerarchitektur)|adressiert]] werden kann.


Die [[Ausgabe (Computer)|Ausgabe]] des Screeners wird dem [[Parser]] als [[Eingabe (Computer)|Eingabe]] übergeben.
Der Screener wird meistens zusammen mit dem Scanner in ein Modul kombiniert, er kann aber auch als separate [[Softwarekomponente]] ausgeführt werden. Dennoch sollte er als eigenes Konzept aufgefasst werden.

Der Screener wird meistens zusammen mit dem Scanner in ein Modul kombiniert, er kann aber auch als separate [[Softwarekomponente]] ausgeführt werden. Dennoch sollte er als eigenes Konzept aufgefasst werden. Der Screener sollte möglichst unabhängig von der Zielsprache ausgelegt werden.


In der Regel wird der Screener als ein einfacher [[Endlicher Automat|Zustandsautomat]] implementiert.
In der Regel wird der Screener als ein einfacher [[Endlicher Automat|Zustandsautomat]] implementiert.


== Literatur ==
== Literatur ==
* {{Literatur
* {{Literatur|Autor=[[Reinhard Wilhelm]], Helmut Seidl, Sebastian Hack|Titel=Compiler Design|Hrsg=|Sammelwerk=|Band=|Nummer=|Auflage=|Verlag=[[Springer Science+Business Media|Springer]]|Ort=Berlin/Heidelberg|Datum=2013|Seiten=4-5, 11-12, 36-39|ISBN=978-3-642-17540-4|DOI=10.1007/978-3-642-17540-4}}
|Autor=[[Reinhard Wilhelm]], Helmut Seidl, Sebastian Hack
|Titel=Compiler Design
|Verlag=[[Springer Science+Business Media|Springer]]
|Ort=Berlin/Heidelberg
|Datum=2013
|Seiten=4-5, 11-12, 36-39
|ISBN=978-3-642-17540-4
|DOI=10.1007/978-3-642-17540-4}}
*{{Literatur
|Autor=Franklin L. DeRemer
|Titel=Lexical Analysis
|Hrsg=[[Friedrich L. Bauer]], [[Jürgen Eickel]]
|Sammelwerk=Compiler Construction
|Verlag=[[Springer Science+Business Media|Springer]]
|Ort=Heidelberg
|Datum=1974
|Reihe=[[Lecture Notes in Computer Science]]
|NummerReihe=21
|HrsgReihe=[[Gerhard Goos]], [[Juris Hartmanis]]
|Seiten=109-111
|ISBN=3-540-06958-5
|DOI=10.1007/978-3-662-21549-4}}
[[Kategorie:Compilerbau]]
[[Kategorie:Compilerbau]]
[[Kategorie:Softwarekomponente]]
[[Kategorie:Softwarekomponente]]

Version vom 15. Februar 2017, 12:19 Uhr

Dieser Artikel wurde zur Löschung vorgeschlagen.

Falls du Autor des Artikels bist, lies dir bitte durch, was ein Löschantrag bedeutet, und entferne diesen Hinweis nicht.
Zur Löschdiskussion

Begründung: Unter-Unter-Thema ohne erkennbare Relevanz außerhalb einer extrem kleinen Nische. (Screener Scanner ⊂ Compiler) Für die Wikipedia bzw. für das Wiki-Prinzip ungeeignet. Sieht man ja am Zustand des Artikels, der durchschnittlich einen halben Edit pro Jahr erfahren hat. --TheRandomIP (Diskussion) 18:28, 13. Feb. 2017 (CET)

Dieser Artikel wurde zum Export in das Software-Wiki angemeldet. -- --2001:A61:12F7:9901:525C:26AF:E17D:57CB 22:15, 13. Feb. 2017 (CET)

Screener (engl.; dt. „Sieber“) bezeichnet in der Informatik eine Komponente eines Compilers. Er erhält vom Scanner eine Abfolge von Tokens zusammen mit ihrem Typ und verarbeitet diese nach vorgegebenen Regeln weiter.

  • Leerraum und Kommentare werden meist komplett entfernt, da sie für die weitere Verarbeitung des Programms nicht mehr erforderlich sind. Eine Ausnahme stellen Sprachen wie Haskell oder Python dar, die Einrückung als syntaktisches Element verwenden.
  • Compiler-Anweisungen (Pragmas) sind kein Teil des Programms und werden separat an den Compiler weitergegeben.
  • Schlüsselworte sind Symbole mit besonderer Bedeutung in der jeweiligen Programmiersprache (zum Beispiel begin, end, var, int) und werden vom Screener erhalten.
  • Variablennamen wären in der weiteren Verarbeitung als Identifizierer zu ineffizient. Sie werden deshalb in eindeutige Zahlen codiert. Da der Compiler trotzdem auf die externen Namen Zugriff haben muss, werden sie in einer Datenstruktur gespeichert, die durch die vergebenen Codes effizient adressiert werden kann.

Die Ausgabe des Screeners wird dem Parser als Eingabe übergeben.

Der Screener wird meistens zusammen mit dem Scanner in ein Modul kombiniert, er kann aber auch als separate Softwarekomponente ausgeführt werden. Dennoch sollte er als eigenes Konzept aufgefasst werden. Der Screener sollte möglichst unabhängig von der Zielsprache ausgelegt werden.

In der Regel wird der Screener als ein einfacher Zustandsautomat implementiert.

Literatur