as per metagrammar.gram item can be optional
item[Item]:
| '[' ~ alts ']' {Opt(alts)}
by this it can be concluded that alt can be optional and so on. As understood by me is that it is possible to write a rule like rulename: with no alts. pls clerify.