[Grammar] Add the one or more operator . It closes #6.
[Grammar] Support the optional operator, the  is not recognized by the Rust Lexer so we use  instead. It closes #4.
[Attribute] Add the #[start] attribute on the rule we want to start with. It closes #18.