Benutzer-Werkzeuge

Webseiten-Werkzeuge


compilerbau:lexer:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
compilerbau:lexer:start [2021/10/28 20:31] – [Funktionsweise des Lexers] Martin Pabstcompilerbau:lexer:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Lexer ====== ====== Lexer ======
 +
 +<WRAP center round tip 60%>
 +Im folgenden findest Du die Beschreibung des Lexers. Den [[.test:start|fertigen Lexer zusammen mit einem direkt im Browser ausführbaren Testprogramm findest Du hier]].
 +</WRAP>
 +
  
 Der Lexer liest den Programmtext Zeichen für Zeichen und fasst diese zu kleinsten syntaktischen Einheiten, sogenannten Tokens, zusammen. Unsere Beispielsprache besteht aus folgenden 8 Tokens: Der Lexer liest den Programmtext Zeichen für Zeichen und fasst diese zu kleinsten syntaktischen Einheiten, sogenannten Tokens, zusammen. Unsere Beispielsprache besteht aus folgenden 8 Tokens:
Zeile 261: Zeile 266:
 </code> </code>
 Zum einfachen Hinzufügen eines Tokens, das weder eine Zahl noch Text darstellt, wird eine kleine Hilfsmethode definiert: Zum einfachen Hinzufügen eines Tokens, das weder eine Zahl noch Text darstellt, wird eine kleine Hilfsmethode definiert:
-<code>+<code java>
    /**    /**
  * Fügt der tokenListe das übergebene Token hinzu  * Fügt der tokenListe das übergebene Token hinzu
Zeile 273: Zeile 278:
 </code> </code>
 Der Zugriff auf den Programmtext geschieht immer über die Methode peek(), damit weniger Fehler beim Programmieren passieren: Der Zugriff auf den Programmtext geschieht immer über die Methode peek(), damit weniger Fehler beim Programmieren passieren:
-<code>+<code java>
 /** /**
  * peek() liest das nächste Zeichen im Programmtext, erhöht die Variable  * peek() liest das nächste Zeichen im Programmtext, erhöht die Variable
Zeile 288: Zeile 293:
    }    }
 } }
-</code>+</code java>
  
 Die restlichen Methoden erklären sich von selbst: Die restlichen Methoden erklären sich von selbst:
-<code>+<code java>
 /** /**
  * Vorsicht: Die übergebene Liste ist nur dann gefüllt, wenn zuvor die  * Vorsicht: Die übergebene Liste ist nur dann gefüllt, wenn zuvor die
Zeile 323: Zeile 328:
 </code> </code>
  
 +[[..:parser:start|Hier geht's weiter zum Parser!]]
  
compilerbau/lexer/start.1635445894.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki