We built an SQL compiler in Haskell, and this has been our model from day 0 (back in 2010)...
It's really easy to follow these rules with Haskell. We develop our syntax to be easily extensible. Being strongly and statically typed allows us to extend our parser/compiler with relative ease, and not think too much about how the future will look.