I agree. I'm very weak in grammar, but I dont understand how this one would work. Shouldn't it be ?
Expr ::= Expr + Term | Expr - Term | Term;
Term ::= Term * Factor | Term / Factor | Factor
Factor ::= Int | ( Expr )