Frage

Ich möchte verstehen, wie ein Parser in .NET Prozess Quelldateien zu konstruieren. Zum Beispiel, vielleicht könnte ich durch das Lernen zu beginnen, wie SQL oder HTML oder CSS und wirken dann auf die Ergebnisse zu analysieren, um sie ähnlich für die Lesbarkeit oder etwas zu formatieren.

Wo kann ich lernen, wie dies zu tun? Gibt es bestimmte Bücher, die ich beziehen kann? Muß ich lerne über lexers / Parser?

Speziell für die .NET-Plattform, da ich in C # bequem bin.

War es hilfreich?

Lösung

Ich persönlich fand diesen Artikel, Grammatiken und Parsing mit C # 2.0 , eine großartige Einführung auf lexers / Parser, mit Beispielen speziell in Bezug auf C #.

Ich schrieb einen kurzen Blogeintrag über es nicht schon vor langer Zeit, es zu tun loben. Das Schöne daran ist, dass es sehr viel zu Parse-Theorie an Anfänger richtet (es gibt Hintergrund der Theorie sowie Implementierung), und nimmt die Dinge in kleinen Schritten. Natürlich, wenn Sie die erweiterten Ideen des Feldes zu lernen fortfahren möchten, werden Sie verschiedene andere Ressourcen brauchen, aber ich denke, dies ist eine hervorragende Grundlage ist.

Andere Tipps

Wenn Sie erfahren wollen, wie der Parser zu schreiben, dies nicht die Antwort sein könnte, aber wenn Sie wollen einfach nur mit den Parsing-Ergebnisse zu analysieren und zu arbeiten, sollten Sie definitiv Blick auf Irony.net . Es ist ein Toolkit, die Sprachen zu implementieren (mit .NET) hilft.

ANTLR:)

es ist ein guter Weg, um Programmierer und Parser

lernen

hat C # einen langen Wege seit 2.0 kommen. Die jüngste Ergänzung des Ausdrucks Bäume und dynamische Typisierung macht die Dinge viel interessanter für Compiler zu implementieren.

Hier ist ein Tutorial , wie in C # 4.0 einen Dolmetscher erstellen bei CodeProject.com.

sogar hart dies auch ein wenig aussehen kann weit fortgeschritten, werfen Sie einen Blick auf monadischen Parser Combinator. Es gibt eine große Blog-Post auf LukeH Weblog hier:

http://blogs.msdn.com/lukeh/archive/2007/08/19/monadic-parser-combinators-using-c-3-0.aspx

Wenn Sie die Grundlagen zu bekommen, macht es sehr klar Parser Definitionen.

Das beste Buch, dass ich für das Erlernen der Idiome Parsing gelesen habe, ist „Little Sprachen“

Kleine Sprachen auf Amazon

Wenn Sie Ihre Hände auf dem .NET-Quellcode für System.Text.RegularExpressions bekommen können, werden Sie auch eine reale Welt Implementierung sehen, wie ein Parser zu bauen.

Justin Rogers hat einige ausgezeichnete Artikel, wie generische Parser auf seinem Blog zu erstellen:

Justin Blog

Und schließlich, wenn Sie die neue Welt von Parsern und Grammatiken eingeben möchten, sollten Sie wirklich auf ‚Oslo‘ liest und wie Sprache M und MGrammar verwenden. Sie geben Ihnen eine Menge an Flexibilität, wenn es um das Parsen und Transformieren des resultierenden Objektgraphen in andere nutzbare Formen.

Justin Artikel sind wahrscheinlich die einfachste und einfachsten mit einem rohen Parser aufstehen und laufen, die oben auf .NET erstellt wird.

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