EBNF冒号和分号的用法?

问题描述:

我不知道在BNF或EBNF中冒号是什么意思。它没有在互联网上的任何地方列出。无论如何,我的教授决定在作业中分配它。我认为他用分号或其他东西来混淆它。我仍然不确定分号的含义。下面是一些上下文:EBNF冒号和分号的用法?

给出的以下CFG(上下文无关的语法),用于声明:

D -> D ; D 
D -> id : T 
T -> char 
T -> integer 

给一个属性的语法定义的标识符的类型(ID表示标识符)。

有人认为他们可以帮忙吗?

+0

我认为它应该是一个;假设是一些运营商。这只是意味着。 D可以是T,其中t可以是 - >标识符或char /整数。 – Kevin 2012-01-31 19:57:33

;:只是终端,就像id,charinteger一样。所以你的代码可能是这样的:

x : char ; y : integer ; z : char