# Graph descriptions consist of a root declaration,
# edges, and comments like these.

# This sets the root to the vertex labeled "a"
root a

# This adds a directed edge from "a" to a new vertex "b"
a->b

# As does this
b<-a

# This adds an undirected edge from "b" to "c"
b-c

# Note that multiple edges can be placed on one line
# separated by commas or semicolons:
c-d, d-e; e-f

# Spaces are allowed:
a -> b

# Numeric labels are OK
1-2, 2-3; 1-4

# In fact, vertex labels can be any nonempty string of letter and digits:
# Note that EV is case-insensitive
thisIsAVertex1 -> 22ThisIsAnotherVertex