Skip to main content

Module language

Module language 

Source
Expand description

Kind definition module. Language configuration module.

§DOT Language Definition

This module contains the metadata and configuration options for the DOT language within the Oak framework.

§⚙️ Configuration

The DotLanguage struct defines how the parser and lexer should behave to accommodate various graph description styles:

pub struct DotLanguage {}

Currently, DotLanguage serves as a marker struct for DOT support. Future versions may include configuration for:

  • strict: Enforce Graphviz strict mode (no duplicate edges).
  • attribute_validation: Validate attribute names against standard Graphviz properties.

§🧩 Oak Integration

By implementing the Language trait, this module provides the glue that connects:

  • TokenType: Defined in the lexer module, covering keywords (graph, digraph, subgraph), operators, and identifiers.
  • ElementType: Defined in the parser module, representing graphs, nodes, edges, and attribute lists.
  • TypedRoot: Defined in the ast module, providing a strongly-typed view of the DOT graph description.

This centralization allows the Oak framework to handle generic tasks like incremental parsing and LSP support while remaining deeply aware of DOT’s graph-based structure.

Structs§

DotLanguage
DOT language configuration (Graphviz).