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