i want to construct a .dot graph (graphviz) to be able to visualise my AST for debugging purposes. here are my nodes so far: ```py
class Constant:
value: Any
class Variable:
name: str
class BinOp:
left: Node
op: str
right: Node
class UnOp:
op: str
node: Node
what's the best way to go about this? for example, parsing `(2x + 3) * 5 + 5 + 2` outputs: ```yml
<BinOp op='+' left=<BinOp op='*' left=<BinOp op='+' left=<BinOp op='*' left=<Constant value='2'> right=<Variable name='x'>> right=<Constant value='3'>> right=<Constant value='5'>> right=<Constant value='7'>>
which would be:
Add
/ \
Mul 7
/ \
Add 5
/ \
Mul 3
/ \
2 Var
|
x
however i dont know how to put this into .dot syntax reliably. any ideas?