Update grammar documentation
- Update the grammar documentation to describe what is already achieved (e.g. fresh id with a script as seed) and what is expected to exist (e.g. unary operator metavariable)
- Complete the description of the semantics of the different grammatical elements (e.g. what is matched by a parameter metavariable)
- Write missing tests to improve the coverage of the described grammar
- Open issues for elements that are described in the grammar but not fully or only partially accounted for
- Open issues for invalid behaviours that are observed (e.g. allowing to check if an int is a binary operator)