#27, #28: Push negative constant recognition in lexer to grammar/generator stage, fix unary generation bugs