compilerbau:erweiterung:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
compilerbau:erweiterung:start [2021/10/28 21:47] – [Mehrere Datentypen] Martin Pabst | compilerbau:erweiterung:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Erweiterung der Sprache ====== | ====== Erweiterung der Sprache ====== | ||
+ | <WRAP center round tip 60%> | ||
+ | Im folgenden zeige ich Dir, wie Du die Sprache, die unser Lexer/ | ||
+ | </ | ||
+ | |||
Bisher kennt unsere Programmiersprache nur Terme (expressions), | Bisher kennt unsere Programmiersprache nur Terme (expressions), | ||
Zeile 497: | Zeile 501: | ||
Die Methode '' | Die Methode '' | ||
- | < | + | < |
public Wert interpretiere(Knoten knoten) { | public Wert interpretiere(Knoten knoten) { | ||
Zeile 516: | Zeile 520: | ||
Für die anderen Operatoren sieht das entsprechend aus. Trickreich wird es nur bei den Vergleichsoperatoren '' | Für die anderen Operatoren sieht das entsprechend aus. Trickreich wird es nur bei den Vergleichsoperatoren '' | ||
- | < | + | < |
case ungleich : | case ungleich : | ||
Zeile 534: | Zeile 538: | ||
Die Knoten, die einer Wiederholung, | Die Knoten, die einer Wiederholung, | ||
- | < | + | < |
case whileKeyword : | case whileKeyword : | ||
/** | /** | ||
Zeile 597: | Zeile 601: | ||
<code java> | <code java> | ||
- | /** | + | /** |
- | * Ausführung des Programms | + | * Ausführung des Programms |
- | */ | + | */ |
- | Interpreter i = new Interpreter(); | + | Interpreter i = new Interpreter(); |
- | System.out.println(" | + | println(" |
- | + | ||
- | Object | + | Wert wert = i.interpretiere(p.getWurzel()); |
- | + | ||
- | System.out | + | println(" |
- | .println(" | + | |
</ | </ | ||
compilerbau/erweiterung/start.1635450463.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)