JetBrains stellt Sprach-Framework Nitra unter Open-Source-Lizenz

Das in der .NET-Programmiersprache Nemerle geschriebene Sprach-Framework soll Tool-Herstellern bei der Unterstützung neuer Sprachen und Frameworks helfen.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Das im November des vorigen Jahres erstmals angekündigte Framework für Sprachwerkzeuge Nitra hat offenbar das Potenzial, zur Basistechnik für JetBrains' Palette an Entwicklerwerkzeugen zu werden. Nachdem es nach der initialen Ankündigung gleich wieder ruhig um Nitra geworden war, ist nun die Zeit der Geheimniskrämerei vorbei. Denn das für Entwicklungsumgebungen wie IntelliJ IDEA und Visual-Studio-Add-ons wie ReSharper bekannte Unternehmen hat das Framework nun unter einer vereinfachten BSD-Lizenz quelloffen zur Verfügung gestellt.

Das nun auf GitHub zu findende Nitra ist in der .NET-Programmiersprache Nemerle geschrieben und vor dem Hintergrund entstanden, dass JetBrains etliche Sprachen und Frameworks in den eigenen Entwickler-Tools unterstützt und dieses gewaltigen Aufwand bedeute, wenn Neues ergänzt werde. Denn jedes Mal müsse zum Beispiel die Sprache, sei es sie selbst oder eine neue Template-Syntax, neu untersucht, gelernt und der korrespondierende Parser neu implementiert beziehungsweise die von den anderen JetBrains-Tools gewohnten Analyse- und Refactoring-Features eingebaut werden. Hier soll nun Nitra helfen und für eine beschleunigte Umsetzung sorgen.

Mit Nitra lassen sich die Grammatik einer Programmiersprache, aber auch sie repräsentierende abstrakte Syntaxbäume (Abstract Syntax Trees; AST) beschreiben. Es übergibt die Grammatiken an den Parser und generiert die Klassen, die zum Navigieren, Durchsuchen und Darstellen eines AST benötigt werden. Des Weiteren stellt es einen Sprachservice für Microsofts IDE Visual Studio auf Basis der Sprachgrammatik zur Verfügung, um besser als mit regulären Ausdrücken Editor-Features wie Syntaxhervorhebungen, Code Completion und Outlining nutzen zu können. Außerdem ist Nitra anscheinend erweiterbar und wiederverwendbar.

Zum gegenwärtigen Zeitpunkt ist Nitra noch nicht für den Produktiveinsatz geeignet, es gibt jedoch schon ein Kommandozeilenwerkzeug für das Verknüpfen der Grammatiken mit Parser und AST-Klassen sowie ein Windows-Programm zum Laden und Testen der Grammatiken. (ane)