This is a small, inflexible li'l Unix filter that reads a single sexp from stdin and prints out Graphviz' Dot language.
It features different fonts for strings vs symbols (which you can change with -l and -g respectively).
When a list starts with another list, a dot-node is inserted to branch things off.
Quotes inside the sexp are treated as strings.
(a ((b c) (d e)) '(f g h))
(a (· (b c) (d e)) "(f g h)")
and looks like this when rendered with dot:
git clone https://idiomdrottning.org/cst