Frage

Ich brauche C # -Code zu einer äquivalenten XML-Darstellung zu konvertieren.
Ich plane, die C # -Code (C # 2.0 Code-Schnipsel, keine Generika oder Nullable Types) konvertieren zu einem AST und dann den AST in XML zu konvertieren. Die Suche nach einem einfachen Lexer / Parser für C #, die eine AST ausgibt.
Alle Hinweise auf die Umwandlung von C # -Code in eine XML-Darstellung (die zurück in C # umgewandelt werden kann) wäre auch sehr hilfreich sein.

Mit freundlichen Grüßen

Andere Tipps

Wie Mitch sagt, Antlr kann Ihre Lösung sein. Sie können Antlr AST Ausgang je nach Ihren Bedürfnissen verändern und dann mit xstream serialisiert. Das ist der Ansatz, den ich in meinem bs Projekt bin mit, wenn jemand einen besseren Weg kennt es für mich groß sein wird als gut.

Sie können csharp Grammatik Proben finden wie zum Beispiel http: //www.antlr. org / Grammatik / 1127720913326 / tkCSharp.g oder http: // www. antlr.org/grammar/1151612545460/CSharpParser.g aber man könnte es zu ANTLRV3 oder an die eigenen Bedürfnisse anpassen.

DMS Software Reengineering Toolkit für den Aufbau Codeanalysatoren ein Ökosystem ist und Transformer. DMS wird durch eine Sprachdefinition parametriert und verfügt über Sprachdefinitionen für C #, Java, C ++, C, PL / SQL, PHP, JavaScript, COBOL und eine Vielzahl von anderen Sprachen zur Verfügung. Wenn DMS parst gemäß einem Langauge Definition baut automatisch eine AST. Eine AST-Bibliothek mit dem DMS bereitgestellt wird, kann den Baum in Lisp-like klammerten Form oder im XML-Format drucken. Anstatt XML in den Quellcode umwandeln zurück, kann DMS regeneriert den Quellcode direkt aus dem AST. DMS bietet auch Quelle-Source-Transformationen Manipulation des AST zu ermöglichen.

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