Make tests compile again
Parse `[-z]` correctly

Previously, the hyphen was simply ignored.  Now the parser correctly
treats the expression as `-|z`.