X%AT%from < X^from-2
is invalid while
X%AT%from < X^from - 2
is ok.
Comments
I suspect that X^from-2 gets tokenized as X,^,from,-2
The proper solution to this would be to change RE_NUM (in scanner.l.m4) and introduce a
unary minus operator in the appropriate places in parser.y.