Create specific grammar to be used with template engines
If we want to use template engines (e.g., #19 (closed) #20 (moved) ), a specialized grammar is beneficial to
- print out its AST to see, which information are available as context
- easily track, which type is used as context in lists
- separation of concerns