eBNF 语法中的运算符优先级

Operators priority in eBNF grammar

提问人:QuickDzen 提问时间:11/10/2023 更新时间:11/10/2023 访问量:18

问:

我有以下 eBNF 语法:

expression   = term { add_operator term }
term         = factor { mul_operator factor }
factor       = "(" expression ")" | variable | number
add_operator = "+" | "-"
mul_operator = "*" | "/"

variable   = letter { letter | digit | "_" }
letter     = "a" | "b" | ... | "z"

number     = [sign] digit { digit }
digit      = "0" | "1" | ... | "9"
sign       = "-"

为什么我需要因子和不同的运算来mul_operatoradd_operator。运营商有必要优先吗?如果是,它将如何工作?

解析 编译器构造 无关语法 ebnf

评论

0赞 user207421 11/10/2023
是的,操作员优先是必要的。太宽泛了。

答: 暂无答案