A lexer and parser for GraphQL in .NET, providing a complete AST model compatible with the GraphQL specification.
GraphQL.NET Parser is a .NET library that provides a lexer and parser for GraphQL, along with a complete Abstract Syntax Tree (AST) model. It allows developers to parse, analyze, and manipulate GraphQL queries and schemas programmatically, ensuring compliance with the GraphQL specification.
.NET developers building GraphQL APIs, tools, or integrations who need to parse, validate, or transform GraphQL documents within their applications.
It offers a high-performance, specification-compliant parsing solution with minimal memory overhead, and is the underlying parser used by the GraphQL.NET project, ensuring reliability and extensive testing.
A lexer and parser for GraphQL in .NET
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses `ReadOnlyMemory<char>` to minimize managed heap allocations, as highlighted in the Lexer section for efficient token generation.
Provides a complete Abstract Syntax Tree fully compatible with the GraphQL October 2021 specification, ensuring reliable parsing for standard-compliant documents.
SDLPrinter offers asynchronous, non-blocking output with configurable formatting options, allowing flexible Schema Definition Language generation from AST.
Serves as the core parser for the GraphQL.NET project, backed by extensive testing and verification from multiple data sets.
Focuses solely on parsing and AST manipulation, lacking built-in query execution, validation, or subscription features, requiring additional libraries for full GraphQL functionality.
Adheres to the October 2021 GraphQL spec, which may not include newer language features or corrections, potentially limiting compatibility with evolving GraphQL standards.
For simple use cases like basic query parsing, the full AST model introduces unnecessary complexity and memory usage, as configurable options only partially mitigate this.