Improve macro syntax

1. Support "-" in macro names
2. Support parenthesis omitting