Parser für C #
Die Parser sind verfügbar für die Analyse von C# - code?
Ich bin auf der Suche nach einem C# - parser, der in C# und gib mir Zugang zu Zeile und Datei-Informationen zu jedem Artefakt des zu analysierenden code.
InformationsquelleAutor der Frage Julien Hoarau | 2008-09-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Arbeitet auf Quellcode:
Von C# 1.0, 2.0, open-source -
Von C# 1.0, 3.0, kommerzielles Produkt (über 5000$)
Von C# 1.0, 3.0, kommerzielles Produkt (über 900€) (Antwort von SharpRecognize)
Von C# 1.0 bis 4.0 (+async), open-source-parser verwendet in SharpDevelop. Enthält semantische Analyse.
Eine vollständige C# - 4.0-Parser, unterstützen bereits die C# 5.0 async-feature. Kommerzielles Produkt (49$ bis 299$) (Antwort von Ken Beckett)
Compiler as a service.
Arbeitet auf Montage:
Von C# 1.0 bis 3.0, die Microsoft Public License. Verwendet Fxcop und Spezifikation#
Von C# 1.0 bis 3.0, die open-source -
Das problem mit der Montage "Analyse" ist, dass wir weniger Informationen über Linie und die Datei (die Informationen basieren auf .pdb-Datei, und Pdb enthält Zeilen, die Informationen nur für Methoden)
Ich personnaly empfehlen Mono.Cecil und NRefactory.
InformationsquelleAutor der Antwort Julien Hoarau
Mono (open source) enthält den C# - compiler (und natürlich parser)
InformationsquelleAutor der Antwort aku
Wenn Sie gehen, um zu kompilieren, C# v3.5 .net assemblies:
http://msdn.microsoft.com/en-us/library/microsoft.csharp.csharpcodeprovider.aspx
InformationsquelleAutor der Antwort zproxy
Wenn Sie vertraut sind mit ANTLR, die Sie verwenden können,Antlr-C# - Grammatik.
InformationsquelleAutor der Antwort prosseek
Ich habe nur umgesetzt, was Sie Fragen (AST Parsen von C# - code) an der OWASP O2-Plattform Projekt mit SharpDevelop AST APIs.
In Reihenfolge, um es einfacher zu konsumieren, schrieb ich eine schnelle API stellt eine Reihe von zentralen source-code-Elemente (Anweisungen, Datentypen, Methoden, Eigenschaften, Felder, Kommentare) und in der Lage ist, zu schreiben, die ursprüngliche C# - code in C# und in VBNET.
Sehen Sie diese API in Aktion auf dieser O2 XRule Skript-Datei: ascx_View_SourceCode_AST.cs.o2 .
So ist z.B. ein C# - source-code, text und füllen Sie eine Reihe von TreeViews & Textfelder:
Beispiel auf ascx_View_SourceCode_AST.cs.o2 zeigt auch, wie können Sie dann mit den gesammelten Informationen aus dem AST zu wählen, die auf den source-code, Typ, Methode, Kommentar, etc..
Referenz hier wird der API-code, der schrieb (beachten Sie, dass dies mein Erster pass mit SharpDevelop C# AST-parser, und ich bin noch immer in meinen Kopf wie es funktioniert):
InformationsquelleAutor der Antwort Dinis Cruz
Wir haben vor kurzem einen C# - parser verarbeitet den gesamten C# 4.0-Funktionen sowie die neuen async-feature: C# - Parser und CodeDOM
Diese Bibliothek erzeugt eine semantische Objektmodell behält Kommentare und Formatierung von Informationen und können geändert und gespeichert. Es unterstützt auch die Verwendung von LINQ-Abfragen zum analysieren von Quellcode.
InformationsquelleAutor der Antwort Ken Beckett
http://www.codeplex.com/csparser
InformationsquelleAutor der Antwort Galwegian
SharpDevelop, eine open-source-IDE, kommt mit einem Besucher-basierten code-parser, die funktioniert wirklich gut. Es kann verwendet werden, unabhängig von der IDE.
InformationsquelleAutor der Antwort Akselsson
Berücksichtigen zu nutzen Reflexion über einen integrierten binären statt der Analyse der C# - code direkt. Die reflection API ist sehr einfach zu bedienen und vielleicht können Sie alle Informationen, die Sie brauchen?
InformationsquelleAutor der Antwort Hallgrim
Haben Sie einen Blick auf Gold Parser. Es hat eine sehr intuitive IU, mit der Sie interaktiv testen Sie Ihre Grammatik-und C# - code generieren. Es gibt viele Beispiele zur Verfügung und es ist völlig kostenlos.
InformationsquelleAutor der Antwort sbeskur
Vielleicht könnten Sie versuchen, mit Ironie auf irony.codeplex.com.
Es ist sehr schnell und ein c# - Grammatik existiert bereits.
Die Grammatik selbst ist geschrieben in c# in einer BNF-ähnlichen Weise (acheived mit einigen Betreibern von übersteuerungen)
Das beste daran ist, dass die "Grammatik" erzeugt den AST direkt.
InformationsquelleAutor der Antwort SeeSoft
Sollten Sie definitiv check out Roslyn, da MS nur geöffnet ist (oder wird bald geöffnet) den code mit einer Apache 2 Lizenz hier. Sie können auch check out ein Weg, um zu analysieren, diese info mit diesem code aus GitHub.
InformationsquelleAutor der Antwort Jason
Etwas, das an Dynamik gewinnt und sich sehr für den job geeignet ist Nemerle
können Sie sehen, wie es sich lösen könnte es in diesen videos von NDC :
InformationsquelleAutor der Antwort Stéphane
Nicht in C#, aber eine vollständige C# 2/3/4-parser, der baut voll ASTs ist verfügbar mit unserem DMS Software Reengineering Toolkit.
DMS bietet eine umfangreiche Infrastruktur für die Analyse -, Baum-Gebäude -, Bau-symbol Tabellen und flow-Analysen, source-to-source-transformation und regeneration von Quell-code aus der (modifizierten) ASTs. (Es kann auch mit vielen anderen Sprachen als nur C#.)
BEARBEITEN (September) 2013: Diese Antwort wurde noch nicht neu aktualisiert. DMS hat lange behandelt C# 5.0
InformationsquelleAutor der Antwort Ira Baxter
GPPG von nutzen sein könnten, wenn Sie bereit sind, schreiben Sie Ihre eigenen parser (das ist lustig).
InformationsquelleAutor der Antwort