Preprozessoren / Lex und Yacc



Preprozessoren cpp und m4 Preprozessoren sind Programme, die vor dem eigentlichen Compilieren angeworfen werden, um den Sourcecode zu erweitern.

cpp

cpp ist der Standardpreprozessor, der vom C-compiler benutzt wird.

Er kann:







m4

m4 ist ein relativ selten benutzter Alleskönner

Er kann:












lex und yacc

lex und yacc sind Programme, die oft beim Compilerbau eingesetzt werden. Bei komplizierten Parsing-Problemen (z.B. beim Einlesen eines Eingabefiles, das ein bestimmtes Format haben muss) sind sie sehr hilfreich und reduzieren den nötigen Sourcecode (z.B. auf ein Zehntel).

lex

lex findet Textmuster (wie sie z.B. im Unixbefehl grep verwendet werden können) und startet daraufhin Aktionen in der jeweiligen Programmiersprache (z.B. C oder Fortran)

yacc

yacc überprüft Grammatiken die in einer Backus-Naur-Form vorliegen muss und startet Aktionen in der jeweiligen Programmiersprache (z.B. C oder Fortran)