Коллега, похоже, вы правы!

SimpleExpr = ["+"|"-"] Term {AddOp Term}.
Term = Factor {MulOp Factor}.

Т.е. все-таки унарный минус есть, но он применяется к терму, в частном случае - к константе. А отрицательных чисел в тексте модуля с т.зр. Сообщения не бывает. Я этого не учел, поэтому мое решение некорректно.