[m4_eval([$3 <= $1 && $1 <= $4 && $3 <= $2 && $2 <= $4])])
+# b4_subtract(LHS, RHS)
+# ---------------------
+# Evaluate LHS - RHS if they are integer literals, otherwise expand
+# to (LHS) - (RHS).
+m4_define([b4_subtract],
+[m4_bmatch([$1$2], [^[0123456789]*$],
+ [m4_eval([$1 - $2])],
+ [($1) - ($2)])])
+
## ------------------ ##
## Decoding options. ##
b4_define_flag_if([yacc]) # Whether POSIX Yacc is emulated.
-## ------------------------- ##
-## Assigning token numbers. ##
-## ------------------------- ##
-
-
## ----------- ##
## Synclines. ##
## ----------- ##