I think the second approach allows to manage priority of operations is a
simpler way.
Using the form Espression/Term/Factor , the syntax tree obtained has
implicit informations about priority of multiplication respect to addition.
In other words: precedence of multiplication is reflected in the structure
of syntax tree obtained after parsing. In the first approach you must add
code to the compiler to check priority, you need to process syntax tree to
compute expressions.