【发布时间】:2013-07-25 06:33:55
【问题描述】:
我在某处看到[x],y 在这个符号中,x 是可选的,但我不明白 可选 是什么意思。这是否意味着,可以有y 或x,y 或其他?谁能举个例子吗?
【问题讨论】:
标签: ebnf
我在某处看到[x],y 在这个符号中,x 是可选的,但我不明白 可选 是什么意思。这是否意味着,可以有y 或x,y 或其他?谁能举个例子吗?
【问题讨论】:
标签: ebnf
是的。
关于[]的文档:
可选:
[和]之间的项目是可选的。括号中的所有项目或不包括任何项目。
在EBNF[]代表可以省略的可选参数,所以[x],y定义了y和xy的可能性。
例子:
Bicycle_Accessories = saddle [bell | horn] {water_bottle_holders}
定义下一个可能性:
saddle
saddle bell
saddle horn
saddle water_bottle_holder
saddle bell water_bottle_holder
saddle bell water_bottle_holder water_bottle_holder
【讨论】:
[x],y 可以是,y 或x,y——, 除了, 之外没有其他任何含义。如果你想要y 或x,y,你需要[x,]y。
,是EBNF中的串联,不是典型的符号。