Wahl des DSL-Frameworks

8

Ich arbeite an einem Projekt, bei dem ich eine DSL definieren muss. Da es für mein Projekt von entscheidender Bedeutung ist, das richtige DSL zu finden, habe ich mich dazu entschieden, vorhandene Frameworks zu evaluieren, die beim Definieren von DSLs, Parsing und Codegenerierung helfen (die in einer .NET-basierten Sprache sein muss). p>

  1. Boo-Sprache, die einen anpassbaren Compiler und Python-Syntax hat, ideal zum Definieren einer DSL.
  2. Windows Powershell, das erweiterbare Befehlszeilen unterstützt.
  3. Microsoft DSL-Tools, die visuelle Modellierung unterstützen, aber (meiner Meinung nach) weniger flexibel sind
  4. ANTLR ist das bewährte Tool
  5. C # fließende Schnittstellen. (Nicht so glücklich damit)
  6. Oslo Framework (Ist es reif für die Produktion?)

Es gibt Vor-und Nachteile von jedem der oben genannten Rahmen und ich bin nicht in der Lage, eine Entscheidung zu treffen.Gibt es eine Wahl zwischen den oben genannten Rahmen, welche würden Sie wählen und warum?

Gibt es einen anderen Rahmen, der so fundamental ist, dass ich ihn verpasst haben könnte?

Jede Hilfe oder Anleitung würde sehr geschätzt werden.

    
Prashanth 21.05.2009, 08:40
quelle

5 Antworten

1

In einer Frage von mir die berührt wurde das Thema DSLs, wurde mir vorgeschlagen, eine Kombination von Irony und DLR . Ich weiß nicht, stabil sind sie aber. Ironie ist ein Alpha, und DLR, obwohl stabil, ist immer noch in v0.9. Ich habe vor, Irony in ein oder zwei Wochen selbst zu benutzen, also werde ich ein Feedback geben können. Auf der hellen Seite jedoch - sie sind beide Open Source, so dass Sie Fehler selbst beheben können.

    
Vilx- 21.05.2009, 08:49
quelle
3

Xtext: Ссылка

    
Dominik 10.09.2010 12:29
quelle
1

Wenn Sie planen, externe DSLs zu implementieren, ist Spoofax ( Ссылка ) eine nette Sprachworkbench dafür. Es ist eine Parser-basierte Text Langauge Workbench, die mehrere State-of-the-Art-Technologie wie SDF, Stratego nutzen. Neben der DSL-Implementierung konnten Sie sehr umfangreiche Editor-Dienste wie Code-Completion, Outline-View, Intellisense usw. erhalten.

Es kommt mit einer netten Beispiel-DSL-Implementierung und Code-Generierung nach Java. Es könnte auch als Ausgangspunkt für den Einstieg in die Tools dienen.

Im Folgenden finden Sie Einzelheiten zur Verwendung dieser langauge-Workbench: Ссылка .

Ich hoffe, es hilft!

Bearbeiten -1:

Nachfolgend finden Sie ein Beispiel für eine Sprache, die mit dieser Langauge Workbench implementiert wurde: Ссылка .

    
Adil Akhter 25.11.2010 17:27
quelle
0

Jetbrains haben ein visuelles Werkzeug, um die Sprachentwicklung zu unterstützen, haben den Namen vergessen, aber auf ihrer Titelseite steht es drauf. Ich glaube, es ist kostenlos und teilweise Open Source.

    
Neil Murphy 08.09.2009 22:30
quelle
0

Das DMS Software Reengineering Toolkit ist ein integrierter Satz von Tools zur Definition beliebiger Sprachen, einschließlich DSLs, Automatisierung der Konstruktion von Parsern, Analysatoren und Codegeneratoren für die definierten Sprachen.

    
Ira Baxter 06.02.2010 19:49
quelle

Tags und Links