type Graph …
func newGraph() *Graph { … }
func (g *Graph) addNode(label string) bool { … }
func (g *Graph) AddEdge(from, to string) { … }
func (g *Graph) DelEdge(from, to string) { … }
func (g *Graph) HasEdge(from, to string) bool { … }
func (g *Graph) Edges(from string) []string { … }
func Parse(dag string) (*Graph, error) { … }
type rule …
type syntaxError …
func (e syntaxError) Error() string { … }
func parseRules(rules string) (out []rule, err error) { … }
type rulesParser …
func (p *rulesParser) syntaxError(msg string) { … }
func (p *rulesParser) nextList() (list []string, token string) { … }
func (p *rulesParser) nextToken() string { … }