On choosing a good syntax for the EBNF specification of your programming language: https://dwheeler.com/essays/dont-use-iso-14977-ebnf.html