def graphviz_dot(sentence, font="<STR_LIT>", colors=BLUE):
s  = '<STR_LIT>'<EOL>s += '<STR_LIT>'<EOL>s += '<STR_LIT>'<EOL>s += '<STR_LIT>' % font<EOL>s += '<STR_LIT>'<EOL>s += '<STR_LIT>'<EOL>for w in sentence.words:<EOL><INDENT>s += '<STR_LIT>' % (w.index, w.string, w.type, _colorize(w, colors))<EOL><DEDENT>for w in sentence.words[:-<NUM_LIT:1>]:<EOL><INDENT>s += '<STR_LIT>' % (w.index, w.index+<NUM_LIT:1>)<EOL><DEDENT>s += '<STR_LIT>'<EOL>s += '<STR_LIT>'        <EOL>for i, ch in enumerate(sentence.chunks):<EOL><INDENT>s += '<STR_LIT>' % (i+<NUM_LIT:1>, "<STR_LIT:->".join([x for x in (<EOL>ch.type, ch.role, str(ch.relation or '<STR_LIT>')) if x]) or '<STR_LIT:->', _colorize(ch, colors))<EOL><DEDENT>for i, ch in enumerate(sentence.chunks[:-<NUM_LIT:1>]):<EOL><INDENT>s += '<STR_LIT>' % (i+<NUM_LIT:1>, i+<NUM_LIT:2>)<EOL><DEDENT>s += '<STR_LIT>'<EOL>s += '<STR_LIT>'<EOL>for i, ch in enumerate(sentence.pnp):<EOL><INDENT>s += '<STR_LIT>' % (i+<NUM_LIT:1>, _colorize(ch, colors))<EOL><DEDENT>s += '<STR_LIT>'<EOL>s += '<STR_LIT>'<EOL>for i, ch in enumerate(sentence.chunks):<EOL><INDENT>for w in ch:<EOL><INDENT>s += '<STR_LIT>' % (w.index, i+<NUM_LIT:1>)<EOL><DEDENT>if ch.pnp:<EOL><INDENT>s += '<STR_LIT>' % (i+<NUM_LIT:1>, sentence.pnp.index(ch.pnp)+<NUM_LIT:1>)<EOL><DEDENT>else:<EOL><INDENT>s += '<STR_LIT>' % (i+<NUM_LIT:1>)<EOL><DEDENT>if ch.type == '<STR_LIT>':<EOL><INDENT>for r in ch.related:<EOL><INDENT>s += '<STR_LIT>' % (<EOL>i+<NUM_LIT:1>, sentence.chunks.index(r)+<NUM_LIT:1>)<EOL><DEDENT><DEDENT><DEDENT>for i, ch in enumerate(sentence.pnp):<EOL><INDENT>if ch.anchor:<EOL><INDENT>s += '<STR_LIT>' % (i+<NUM_LIT:1>, sentence.chunks.index(ch.anchor)+<NUM_LIT:1>)<EOL>s += '<STR_LIT>' % (i+<NUM_LIT:1>)<EOL><DEDENT>else:<EOL><INDENT>s += '<STR_LIT>' % (i+<NUM_LIT:1>)<EOL><DEDENT><DEDENT>s += "<STR_LIT:}>"<EOL>return s<EOL>
Returns a dot-formatted string that can be visualized as a graph in GraphViz.