RSDN Wiki [Nitra] Introduction

Nitra is a language workbench. You can use Nitra to create or extend a general-purpose programming language or a domain-specific language (DSL).
You create extended “grammar” of your language in textual form. Nitra compiles this “grammar” and produce:
  • Extensible parser with automated error recovery.
  • Parse Tree with comprehensive information about the code.
  • AST (Abstract Syntax Tree).
  • Set of symbols, name binding and resolving subsystem.
  • Resharper plugin with basic IDE services.
  • Any Nitra based language can be extended with additional syntax rules even during parsing process.
Following screenshot shows Resharper plugin for C# language implemented in Nitra. This plugin (like any other Nitra plugin) supports: syntax highlighting, symbol highlighting (such as class and method names etc.), navigation (goto declaration, find usages, etc.), validation and real-time error reporting/highlighting. File extension ‘.ncs’ is used to avoid conflict with Visual Studio and ReSharper language service.