Informationen zum lex-und yacc-Programm
Damit ein Programm Eingabe empfangen kann, entweder interaktiv oder in einer Stapelumgebung, müssen Sie ein weiteres Programm oder eine Routine zum Empfangen der Eingabe bereitstellen. Eine komplizierte Eingabe erfordert zusätzlichen Code, um die Eingabe in Teile aufzuteilen, die etwas für das Programm bedeuten.
Sie können diese Art von Eingabeprogramm mit den Befehlen lex und yacc entwickeln.
Der Befehl lex generiert ein lexikalisches Analyseprogramm, das die Eingabe analysiert und in Tokens wie Zahlen, Buchstaben oder Operatoren aufteilt. Die Token werden durch Grammatikregeln definiert, die in der lex -Spezifikationsdatei definiert sind. Der Befehl yacc generiert ein Parserprogramm, das die Eingabe mithilfe der Tokens analysiert, die von der lexikalischen Analysefunktion (vom Befehl lex generiert und in der lex -Spezifikationsdatei gespeichert) identifiziert werden, und führt bestimmte Aktionen aus, wie z. B. das Markieren falscher Syntax. Zusammen generieren diese Befehle ein lexikalisches Analyseprogramm und ein Parserprogramm zur Interpretation der Ein-und Ausgabeverarbeitung.