Come costruire il grafo che rappresenta:

(+ (/ (* (^ 2 3) (- x)) (- 9 1)) (* x 5))

Metto via via le operazioni e, una riga sotto,
i loro input o le operazioni che rimandano ad
altri input. Uso un font monospazio.

+
/
*
^
2 3

A questo punto metto il secondo input di *, ossia
-x:

    +
    / 
    *
 ^    -
2 3   x

Metto il secondo input di /, ossia 9-1:

         +
         /
    *        -
 ^    -     9 1
2 3   x

Metto il secondo input di +, ossia x*5:

             +
       /          *
   *       -     x 5
 ^   -    9 1
2 3  x

Poi, se voglio, copio le righe precedenti e le
incollo in Paint usando un font monospazio e
aggiungo delle righe bianche in modo da staccare
le righe successive di simboli. Poi aggiungo dei
segmenti per rappresentare i lati del grafo:

Il grafo a destra corrisponde al termine seguente,
analizzato con R:
library(codetools)
walkCode(quote(  (1^2*-3)/(4-5)+6*7  ))
`+`
`/`
`(`
`*`
`^`
[1] 1
[1] 2
`-`
[1] 3
`(`
`-`
[1] 4
[1] 5
`*`
[1] 6
[1] 7