Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: markup/graphical/dot/rascal/abstract/extracted
Source used for this grammar: Bert Lisser, lang::dot::Dot
, 2012 [GitHub]
Id
, DotGraph
, Stms
, NodeId
, PortId
, CompassPt
, Stm
, Attr
, Attrs
, Outline
, Dotline
), 0 root (—), 1 top (Dotline
), 0 bottom (—).[id]
5, [stmts]
2, [graph]
2, [digraph]
, [N]
5, [NE]
, [E]
19, [SE]
, [S]
3, [SW]
, [W]
, [NW]
, [C]
, [_]
, [attrs]
14, [nid]
2, [from]
6, [to]
6, [nfrom]
6, [sfrom]
6, [nto]
6, [sto]
6, [stms]
2, [prop]
2, [val]
2, [A]
, [GRAPH]
, [NODE]
, [EDGE]
, [key]
, [args]
, [outline]
.Id ::= string
DotGraph ::= [graph]::[id]::Id [stmts]::Stms [digraph]:: [id]::Id [stmts]::Stms
Stms ::=
Stm
NodeId ::= Id PortId
PortId ::= Id CompassPt
CompassPt ::= [N]::ε [NE]::ε [E]::ε [SE]::ε [S]::ε [SW]::ε [W]::ε [NW]::ε [C]::ε [_]::ε
Stm ::= [N]::[id]::Id [attrs]::Attrs [N]::[id]::Id [N]:: [nid]::NodeId [attrs]::Attrs [N]::[nid]::NodeId [E]:: [from]::Id [to]::Id [attrs]::Attrs [E]:: [from]::Id [to]::Id [E]:: [nfrom]::NodeId [to]::Id [attrs]::Attrs [E]:: [nfrom]::NodeId [to]::Id [E]:: [sfrom]::Stm [to]::Id [attrs]::Attrs [E]:: [sfrom]::Stm [to]::Id [E]:: [from]::Id [nto]::NodeId [attrs]::Attrs [E]:: [from]::Id [nto]::NodeId [E]:: [nfrom]::NodeId [nto]::NodeId [attrs]::Attrs [E]:: [nfrom]::NodeId [nto]::NodeId [E]:: [sfrom]::Stm [nto]::NodeId [attrs]::Attrs [E]:: [sfrom]::Stm [nto]::NodeId [E]:: [from]::Id [sto]::Stm [attrs]::Attrs [E]:: [from]::Id [sto]::Stm [E]:: [nfrom]::NodeId [sto]::Stm [attrs]::Attrs [E]:: [nfrom]::NodeId [sto]::Stm [E]:: [sfrom]::Stm [sto]::Stm [attrs]::Attrs [E]:: [sfrom]::Stm [sto]::Stm [S]:: [id]::Id [stms]::Stms [S]::[stms]::Stms [A]:: [prop]::Id [val]::Id [GRAPH]::[attrs]::Attrs [NODE]::[attrs]::Attrs [EDGE]::[attrs]::Attrs
Attr ::= [prop]::string [val]::Id
Attrs ::=
Attr
Outline ::=[key]::integer [args]::string
Dotline ::= [graph]::DotGraph [outline]::Outline