Generieren von Code für eine domänenspezifische Sprache

Erfahren Sie, wie Sie mit den Microsoft-Tools für domänenspezifische Sprachen (Domain-Specific Language, DSL) Code, Dokumente und andere Artefakte aus Daten generieren können, die in einem Modell dargestellt werden. Unter Verwendung dieser DSL-Tools können Sie einen Satz von Klassen erstellen, die Ihre Daten repräsentieren, und Sie können Ihre Textvorlagen in Klassen schreiben, deren Namen und Eigenschaften diese Daten widerspiegeln.

Fabrikam verfügt zum Beispiel über eine XML-Datei mit Kundennamen und E-Mail-Adressen. Ihre Entwickler erstellen ein Modell, in dem „Customer“ eine Klasse mit den Eigenschaften „Name“ und „E-Mail“ ist. Sie schreiben mehrere Textvorlagen zur Verarbeitung der Daten, darunter dieses Fragment, das eine Tabelle mit allen Kunden als Teil einer HTML-Seite generiert:

<table>
<# foreach (Customer c in ContactList) {  #>
  <tr><td> <#= c.FullName #> </td>
      <td> <#= c.EmailAddress #> </td> </tr>
<# } #>  </table>

Wenn die Kundendatenbank verarbeitet wird, wird die XML-Datei in den Modellspeicher eingelesen. Ein mithilfe der DSL-Tools erstellter Anweisungsprozessor macht die Klasse „Customer“ für den Code in der Textvorlage verfügbar. Viele Textvorlagen können für denselben Speicher ausgeführt werden.

Textvorlagen sind bei der Arbeit mit DSL-Tools unerlässlich. Sie werden genutzt, um den Quellcode für die Elemente des Domänenmodells sowie für das VSPackage und die Steuerelemente zu generieren, die zur Integration der Tools in Visual Studio verwendet werden.

In diesem Abschnitt werden einige der Möglichkeiten zum Erstellen, Ändern und Debuggen von Textvorlagen beschrieben, die in den DSL-Tools verwendet werden.

In diesem Abschnitt

Zugreifen auf Modelle aus Textvorlagen
Stellt grundlegende Informationen zum Verweis auf eine domänenspezifische Sprache in Textvorlagen bereit.

Exemplarische Vorgehensweise: Debuggen einer Textvorlage, die auf ein Modell zugreift
Beschreibt die Problembehandlung und Fehlersuche für eine Textvorlage, die auf eine DSL verweist.

Exemplarische Vorgehensweise: Verbinden eines Hosts mit einem generierten Direktivenprozessor
Beschreibt, wie ein benutzerdefinierter Host mit einem generierten Anweisungsprozessor verbunden werden kann.

Der DslTextTransform-Befehl
Beschreibt die Befehlsdatei zum Ausführen der TextTransform-Datei in der Befehlszeile für Textvorlagen, die auf domänenspezifische Sprachen verweisen.

Verweis

Schreiben einer T4-Textvorlage
Stellt die Syntax von Textvorlagenanweisungen und Kontrollblöcken vor.