The ambiguity arises due to the fact that you allow unary operators ( - expr), so 2 - 2you can analyze it either as a simple subtraction (giving 0) or as an implicit product (2 and -2, yielding - 4).
, ( ), expr: expr expr, expr .
(, , ), , , .
, : , /, . , ab/cd. , , , .
, . , -ab (-a)b, -(ab) ( , ). .
term: NUM
| '(' expr ')'
unop: term
| '-' unop
| '+' unop
conc: unop
| conc term
prod: conc
| prod '*' conc
| prod '/' conc
expr: prod
| expr '+' prod
| expr '-' prod