Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

abock/dotlang

Repository files navigation

DotLang: DOT Language Library for .NET

.NET Core NuGet Badge License

DotLang provides a full fidelity lexer, recursive descent parser, and abstract syntax tree for the Graphviz DOT Language, written in modern C# 8.0. It is available as a netstandard2.0 library.

Resources

Goals

The primary goal of this project is to ultimately provide a language service for Visual Studio that provides rich syntactic and semantic analysis of Graphviz DOT files: syntax highlighting, semantic completion, and Quick Info tooltips.

To support this goal, the lexer and parser are written with inspiration from Roslyn: nothing is ever discarded, and the produced AST can be run through a SyntaxVisitor to produce output DOT source code that is identical to its input.

Anti-Goals

Notably, DotLang does not aspire to actually render Graphviz graphs. There are plenty of tools for this already.

Contribute

DotLang is a .NET Standard 2.0 project and can be built with the latest stable Visual Studio, Visual Studio for Mac, or the .NET Core toolchain.

Common commands to run when developing:

  • dotnet build
  • dotnet test
  • dotnet pack
  • dotnet msbuild /t:UpdateDocs

TODO

  • Actual diagnostics
    • Currently the parser just throws/bails
  • Language service
    • Would be awesome to leverage XML/HTML projection buffers for XmlLiteralToken

About

.NET Standard library for parsing and generating Graphviz DOT files.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /