Idris2Doc : Graphics.DOT.AST

Graphics.DOT.AST

(source)

Definitions

data CompassPoint : Type
  The various compass points that can be used in DOT

Totality: total
Visibility: public export
Constructors:
N : CompassPoint
NE : CompassPoint
E : CompassPoint
SE : CompassPoint
S : CompassPoint
SW : CompassPoint
W : CompassPoint
NW : CompassPoint
Center : CompassPoint
Underscore : CompassPoint
data Keyword : Type
  The various DOT keywords

Totality: total
Visibility: public export
Constructors:
StrictKW : Keyword
GraphKW : Keyword
DigraphKW : Keyword
NodeKW : Keyword
EdgeKW : Keyword
SubgraphKW : Keyword
data DOTID : Type
  A DOT identifier

Totality: total
Visibility: public export
Constructors:
StringID : String -> DOTID
NameID : String -> DOTID
Numeral : String -> DOTID
HTML : String -> DOTID
data Port : Type
  A DOT port

Totality: total
Visibility: public export
Constructors:
IDPort : DOTID -> Maybe CompassPoint -> Port
  A port with an id
port := ':' ID [ ':' compass_pt ]
PlainPort : CompassPoint -> Port
  A port without an id
port |= ':' compass_pt
data NodeID : Type
  A node identifier (separate from regular identifiers, for some reason)

Totality: total
Visibility: public export
Constructor: 
MkNodeID : DOTID -> Maybe Port -> NodeID
data Assign : Type
  Assignment
id '=' id

Totality: total
Visibility: public export
Constructor: 
MkAssign : DOTID -> DOTID -> Assign
data EdgeOp : Type
  An edge op

Totality: total
Visibility: public export
Constructors:
Arrow : EdgeOp
Dash : EdgeOp
data EdgeRHS : Type
  The right hand side (RHS) of an edge op

Totality: total
Visibility: public export
Constructor: 
MkEdgeRHS : EdgeOp -> Either NodeID Subgraph -> EdgeRHS
data Subgraph : Type
  A subgraph

Totality: total
Visibility: public export
Constructor: 
MkSubgraph : Maybe (Keyword, Maybe DOTID) -> List Stmt -> Subgraph
data Stmt : Type
  A DOT statement

Totality: total
Visibility: public export
Constructors:
NodeStmt : NodeID -> List (List Assign) -> Stmt
EdgeStmt : Either NodeID Subgraph -> List1 EdgeRHS -> List (List Assign) -> Stmt
AttrStmt : Keyword -> List (List Assign) -> Stmt
  An attribute statement
`attr_stmt : (graph | node | edge) '[' [ a_list ] ']' [ attr_list ]`
AssignStmt : Assign -> Stmt
SubgraphStmt : Subgraph -> Stmt
data Graph : Type
  A DOT graph. This is the top-level IR node

Totality: total
Visibility: public export
Constructor: 
MkGraph : Maybe Keyword -> Keyword -> Maybe DOTID -> List Stmt -> Graph