Benutzer-Werkzeuge

Webseiten-Werkzeuge


compilerbau: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
Letzte ÜberarbeitungBeide Seiten der Revision
compilerbau:start [2022/05/19 08:03] – [Compilerbau (Einführung)] Martin Pabstcompilerbau:start [2022/05/19 08:08] – [Fertiges Programm zum Ausprobieren] Martin Pabst
Zeile 16: Zeile 16:
 Im Folgenden wird die Funktionsweise eines Compilers vorgestellt, der mathematische Terme (z.B. ''2 * (3 + a) - b'' ) mit gegebenen Variablenbelegungen zur Laufzeit auswerten kann. In einem zweiten Schritt wird dieser Compiler zu einer einfachen Programmiersprache [[.erweiterung:start|erweitert]], die Wiederholungen, Zuweisungen und eine einfach Print-Anweisung enthält. Im Folgenden wird die Funktionsweise eines Compilers vorgestellt, der mathematische Terme (z.B. ''2 * (3 + a) - b'' ) mit gegebenen Variablenbelegungen zur Laufzeit auswerten kann. In einem zweiten Schritt wird dieser Compiler zu einer einfachen Programmiersprache [[.erweiterung:start|erweitert]], die Wiederholungen, Zuweisungen und eine einfach Print-Anweisung enthält.
  
 +====== Inhalt dieses Tutorials ======
   * [[.lexer:start|a) Lexer]] \\    * [[.lexer:start|a) Lexer]] \\ 
   * [[.parser:start|b) Parser]] \\    * [[.parser:start|b) Parser]] \\ 
Zeile 25: Zeile 26:
  
 ====== Fertiges Programm zum Ausprobieren ====== ====== Fertiges Programm zum Ausprobieren ======
-Der Compiler unten bekommt ein kleines Testprogramm übergeben. Er verarbeitet es in drei Schritten:+Ihr wollt sicher sehen, was der Compiler kann, der im Rahmen dieses Tutorials erstellt wird, daher hier gleich ein Blick auf das fertige Programm. \\ \\  
 +Unser Compiler unten bekommt ein kleines Testprogramm übergeben. Er verarbeitet es in drei Schritten:
   - Der Lexer zerlegt das Programm in einzelne Tokens.   - Der Lexer zerlegt das Programm in einzelne Tokens.
   - Der Parser bekommt die Tokenliste und baut daraus den AST (abstract syntax tree) auf.   - Der Parser bekommt die Tokenliste und baut daraus den AST (abstract syntax tree) auf.
   - Der Interpreter führ das Testprogramm aus, indem er den AST geeignet traversiert.   - Der Interpreter führ das Testprogramm aus, indem er den AST geeignet traversiert.
  
-Hier das Testprogramm:+Hier das Testprogramm, das unser Compiler übersetzen wird.:
 <code java> <code java>
 a = 1; a = 1;
Zeile 40: Zeile 42:
 } }
 </code> </code>
 +
 +
 +<WRAP center round tip 80%>
 +Schreibe weitere Testprogramme mit der oben angegebenen Syntax, füge sie unten ein und lasse sie vom Compiler übersetzen und ausführen!
 +</WRAP>
  
  
compilerbau/start.txt · Zuletzt geändert: 2022/05/19 08:10 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki