Wie programmiert man einen Parser für den Compilerbau?
Hi,
Es gibt ja Tools, um einen Compiler zu erstellen. Wie programmiert man solche Tools? z.B. ein ,,Tokenizer" oder ein ,,Codegenerator"
Mfg
2 Antworten
Die Anforderung ist aus Programmierbefehlen Tokens zusammen zu stellen die der Prozessor versteht also im Grunde nur eine lange Wurst von Hexadezimalen zahlen.
Es kommt darauf an, die paar Hände voll Maschinenbefehle zu kennen und wissen, wie sich die Register ändern und das Flag Byte und sehr hardwarenah das ganze.
Um dabei nicht als alter Greis zu enden bis der Compiler fertig ist hilft es Assembler und C zu verstehen.
Ich hatte hatte halt immer gedacht, dass solche Tools in Maschinensprache geschrieben werden, bevor man überhaupt einen Compiler mit den Tools programmieren kann
Ich habe schon verschiedene Interpreters und Compilers geschrieben.
Alles mittels LEX und YACC.
Beispiel für Anfänger ist in dem Buch: "Der UNIX-Werkzeugkasten" vom Kerighan/Pike.
Erveitert - sehe die Bücher vom Aho, zB Drachenbuch
https://www.google.com/search?client=firefox-b-d&q=Aho+Drachenbuch
und die Anderen: