Re-organize smie bnf and comment what's going on.
Indentation is mostly working