Frage

Ich bin auf der Suche nach einem anständigen Generator lexikalischen Scanner für C # / NET -. Etwas, das Kategorie Unicode-Zeichen und erzeugt etwas lesbar und effizienten Code unterstützt. Jeder weiß von einem?


EDIT: I Notwendigkeit Unterstützung für Unicode-Kategorien , nicht nur Unicode-Zeichen. Es gibt zur Zeit 1.421 Zeichen in nur den Lu (Letter, Versalien) Kategorie allein, und ich brauche ganz gezielt viele verschiedene Kategorien passen, und würden lieber nicht Hand schreiben das Zeichen für notwendig setzt.

Auch ist tatsächlich Code eines muss - diese Regeln aus Dingen, die eine binäre Datei erzeugen, die dann mit einem Treiber (d GOLD)

verwendet wird,

EDIT: ANTLR unterstützt keine Unicode-Kategorien vor. Es eine href="http://www.antlr.org/wiki/display/ANTLR3/define+unicode+aliases+for+character+categories" offene Frage für sie aber, so könnte es meine Bedürfnisse eines Tages passen.

War es hilfreich?

Lösung

Gplex scheint Ihre Anforderungen geeignet sind.

Andere Tipps

Die beiden Lösungen, die den Sinn kommen, sind ANTLR und Gold . ANTLR hat eine GUI-basierte Grammatik Designer und ein ausgezeichnetes Beispielprojekt in C # finden Sie hier .

Ich bin mit @ David Robbins, ANTLR ist wahrscheinlich die beste Wahl. Allerdings ist der erzeugte Code ANTLR eine separate Laufzeitbibliothek benötigen, um den generierten Code zu verwenden, da es einige Zeichenfolgenanalyse und andere Bibliothek Allgemeinheiten sind, dass der generierte Code stützt sich auf. ANTLR generiert einen Lexer und einen Parser.

Auf einer seitlichen Anmerkung: ANTLR ist groß ... Ich habe eine 400+ Linie Grammatik schrieb über 10k oder C # -Code zu erzeugen, um effizient eine Sprache zu analysieren. Dazu gehörten eingebaut Fehler für jede mögliche Sache überprüft, die in der Analyse der Sprache schief gehen könnte. Versuchen Sie, das zu tun mit der Hand, und Sie werden nie mit dem Bugs halten.

ich dies nur gefunden

http://www.seclab.tuwien.ac.at/ Projekte / cuplex / lex.htm

Er sagt, dass es konfigurierbar genug, Unicode zu unterstützen; -).

Herber

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top