为了定义结构化数据类型,BNF 提供了 3 种构造机制