Everyone who took any math function and tried to draw the trace of solving, certainly got something resembling a tree.

There are the SYNTAX TREES behind the scene.

For example, as the following assign of symbols is done, the tree structures as shown -->
are assembled in the memory.

    x = pi/4
    y = exp(-sqr(x)/10)
    z = y*sin(25*x)

   After the string analysis, the tree is ready in the memory – and significantly – it is still the same for every values of variables. It's root contains the wanted value of the function, and it's leaves – they are the numbers and the constants written immediately into the string (so-called literals), and mainly any variable used in the function. This tree works as a navigating machine, steering the flow of the calculation from leaves to the root, defining the appropriate operation in each node. The maximum speed of evaluation is guaranteed.

   There's no need to analyse anything during the calculation. The evaluating process will simply slide along the branches of the trees.
the syntax tree
    x ... symbol (variable)
    y ... symbol (function of variable x)
    z ... symbol (function of variable x)

    pi/4 ... value of the variable
    exp, sqr, neg, sin ... basic functions
    *, / ... arithmetical operations
    10, 25 ... literals (written in the text)