lex

Post Reply
Message
Author
jaako

lex

#1 Post by jaako »

hi
ich möchte php installieren. Aber wenn ich im php Ordner ./configure (mit einigen Unterpunkten)
starte erhalte ich ihrgendwann eine Fehlermeldung:
checking lex output file root... ./configure: lex: command not found
configure: error: cannot find output from lex; giving up

Was bedeutet das und was genau ist lex?

Jochen

Re: lex

#2 Post by Jochen »

lex ist der "lexical analyzer". Man kann für lex eine Eingabedatei schreiben, die dem lex sagt, welche Zeichenketten in einem Eingabestrom in welche Häppchen aufzuteilen sind, beispielsweise eine Folge von Ziffern als Integerzahl, Zeichenketten in Anführungszeichen als Zeichenkettenliterale usw. Aus einer solchen Eingabedatei generiert lex dann C.Sourcecode, der exakt so arbeitet wie in der Eingabedatei bestimmt - bei jedem Aufruf der erzeugten Funktion erhält man das nächste passende Häppchen aus dem Eingabestrom.

So, das was jetzt schwer vereinfacht, aber grob korrekt. Was dir also fehlt, um php zu übersetzen, ist ein lex, beziehungsweise dessen wesentlich besserer OS-Ersatz flex. Such mal auf Deinen Distri-CDs nach einem Paket, dessen Namen mit flex beginnt, und installiere es. Danach kannst Du configure von neuem starten.

Jochen

Post Reply