gpt4 book ai didi

bnf - 如何|影响 BNF 语法?

转载 作者:行者123 更新时间:2023-12-03 03:49:22 30 4
gpt4 key购买 nike

我正在开展一个学校项目,需要我解析 BNF 语法。我有点困惑管道符 (|)(我认为它的意思是“或”)在规则中扮演什么角色。

例如,如果我有以下内容:

<a> ::= b c d | e f g

哪个终端是 |应用于?使用括号进行分组,这将描述如何应用“或”?

(b c d) | (e f g)

(b c) (d) | (e) (f g)

是|应用于整组终端,或仅应用于 |? 旁边的两个终端

如果我的设置如下:

<a> ::= b | <c> <d>
<b> ::= e | f
<c> ::= g | h

如果<c>,这仍然是真的吗?和<d>引用非终结符?到什么程度|适用于这种情况吗?

最佳答案

一般来说,

rule := a b c | d e f

分组为

rule := (a b c) | (d e f)

无论您将它们应用于终端还是非终端,这都不会改变。

关于bnf - 如何|影响 BNF 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11572980/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com