BiegenFlex ist ein schneller lexikaler Analysator. | |
Jetzt downloaden |
Biegen Ranking & Zusammenfassung
Anzeige
Biegen Stichworte
Biegen Beschreibung
Flex ist ein schneller lexikaler Analysator. Flex ist ein schneller lexikaler Analysator.Flex ist ein schneller lexikaler Analysatorgenerator. Es ist ein Werkzeug zum Erzeugen von Programmen, die Musteranpassungen auf Text ausführen. Flex ist eine nicht-GNU-freie Implementierung des bekannten Lex-Programms.flex ist ein Werkzeug zum Erzeugen von Scannern: Programme, die lexikalische Muster im Text erkannt haben. FLEX liest die angegebenen Eingabedateien oder seinen Standardeingang, wenn keine Dateinamen angegeben sind, um eine Beschreibung eines Scanners zu generieren. Die Beschreibung erfolgt in Form von Paaren von regulären Ausdrücke und C-Code, der als Regeln bezeichnet wird. Flex generiert als Ausgabe einer C-Quelldatei, `lex.yy.c ', die eine Routine` yylex ()' definiert. Diese Datei wird zusammengestellt und mit der "-LFL" -Bibliothek verknüpft, um eine ausführbare Datei zu erzeugen. Wenn die ausführbare Datei ausgeführt wird, analysiert er seine Eingabe für Ereignisse der regulären Ausdrücke. Wann immer es eins findet, führt es den entsprechenden C-Code aus. Einige einfache BeispieleFirst Einige einfache Beispiele, um den Geschmack zu erhalten, wie man Flex verwendet. Der folgende Flex-Eingang gibt einen Scanner an, den, wann immer er den String "Benutzername" trifft, den Anmeldenamen des Benutzers ersetzt: %% Benutzername Printf ("% s", getlogin ()); Standardmäßig, der nicht von einem Flex übereinstimmt Scanner wird an den Ausgang kopiert, sodass der Nettoeffekt dieses Scanners seine Eingabedatei mit jedem Auftreten von "Benutzername" auf denen Ausgang kopieren soll. Bei diesem Eingang gibt es nur eine Regel. "Benutzername" ist das Muster und das "Printf" ist die Aktion. Das "%%" markiert den Beginn der Regeln. Hier ist ein weiteres einfaches Beispiel: int num_lines = 0, num_chars = 0; %% n ++ num_lines; ++ num_chars ;. ++ num_chars; %% main () {yylex (); Printf ("# von Zeilen =% d, # von Zeichen =% dn", num_lines, num_chars); } Dieser Scanner zählt die Anzahl der Zeichen und die Anzahl der Zeilen in seinem Eingang (er erzeugt keinen anderen Ausgang als den Abschlussbericht der Zählungen). Die erste Zeile deklariert zwei Global, "num_lines" und "num_chars", die sowohl innerhalb von yylex (yylex () 'und in der routinemie `main ()' zugänglich sind, die nach dem zweiten" %% "deklariert ist. Es gibt zwei Regeln, die mit einer NEWLINE ("n") übereinstimmt, und inkrementiert sowohl die Zeilenzählung als auch die Zeichenzählung und der Zeichenzählung und eines, das an einem anderen Charakter als einer NEWS-Nummer (angegeben vom "." Regulärer Ausdruck) entspricht. Ein etwas komplizierteres Beispiel: / * Scanner für ein Spielzeug Pascal-artiger Sprache * /% {/ * Benötigen Sie diese für den Anruf an atof () unten * / # Include
Biegen Zugehörige Software
Dos33.
DOS33 ist eine Sammlung von Dienstprogrammen, die Apple extrahiert] [Festplattenbilder und reine Applesoft-Basisprogramme ausführen. ...
211