~emersion/mrsh

ref: 07e65a3a88e03c6d9e6f1f6ac4a1cfa9a74a9b09 mrsh/test/arithm.sh -rw-r--r-- 962 bytes
parser/arithm: fix && and ||

"&" and "|" have higher priority, so they were consuming the first character of
"&&" and "||", leaving a trailing "&" or "|".
parser/arithm: fix comparison operators

> and < were recognized before >= and <=. For this reason, >= and <= were never
parsed (since they are prefixes of < and >).

Closes: https://github.com/emersion/mrsh/issues/86
shell/arithm: implement assignments

The parser still chokes on assignments with an operation.
Partially implement arithmetic expansion

The only expansion missing is assignment expansion, which requires more
discussion.

Additionally, the parser is missing variable support, e.g. $((var+1)).