我正在尝试为此表达式派生语法:
操作数列表是以括号括起来的零个或多个术语的逗号分隔列表。
应该像OPList = ...
有人可以帮帮我吗?这个英语让我有点失落
答案 0 :(得分:1)
好的,让我们来看看英文。以逗号分隔的术语很简单:
term, term, term, ...
零或更多很容易,因为它表示整个列表可以为空。用括号括起来是模棱两可的。这可能意味着整个列表可以放在这样的括号中:
(term, term, term)
或者,这可能意味着每个术语都在括号中,如下所示:
(term), (term), (term)
与的使用通常意味着后者的风格。
这给了我们一个CFG:
OPList : element | List "," element |
List : element "," List | element
element : "(" term ")"