in `The M4 Macro Processor', by Kernighan and Ritchie.
* `|' and `||' are both logical or. There is no binary or.
* `&' and `&&' are both logical and. There is no binary and.
* `!' has a much higher precedence.
* The equal and relation operators have the same precedence.
* `**' is implemented, and `^' is for exponentation (not xor).
* Unary `+' in implemented.
I've coded exponentiation to return what appears to be the same results
that other versions of m4 return.