bug fix

1. don't need to allocate a new block in `stmt { block }` rule

2. only allow two rules of `if`