# Module Dot_ast

    module Dot_ast: sig .. end

AST for DOT file format.

`type ``id =`

`|` | `Ident of `string``
`|` | `Number of `string``
`|` | `String of `string``
`|` | `Html of `string``

    type attr = (id * id option) list

`type ``compass_pt =`

`|` | `N`
`|` | `Ne`
`|` | `E`
`|` | `Se`
`|` | `S`
`|` | `Sw`
`|` | `W`
`|` | `Nw`

`type ``port =`

`|` | `PortId of `id * compass_pt option``
`|` | `PortC of `compass_pt``

    type node_id = id * port option

`type ``subgraph =`

`|` | `SubgraphId of `id``
`|` | `SubgraphDef of `id option * stmt list``

`type ``node =`

`|` | `NodeId of `node_id``
`|` | `NodeSub of `subgraph``

`type ``stmt =`

`|` | `Node_stmt of `node_id * attr list``
`|` | `Edge_stmt of `node * node list * attr list``
`|` | `Attr_graph of `attr list``
`|` | `Attr_node of `attr list``
`|` | `Attr_edge of `attr list``
`|` | `Equal of `id * id``
`|` | `Subgraph of `subgraph``

`type ``file = {`

`` | `strict : `bool`;`
`` | `digraph : `bool`;`
`` | `id : `id option`;`
`` | `stmts : `stmt list`;`

}