【发布时间】:2021-04-01 22:36:00
【问题描述】:
作为上下文,我的教科书将这种风格用于 EBNF:
Sebesta, Robert W. 《编程语言概念》第 11 版,Pearson,2016 年,第 150 页。
问题: 将以下具有三个 RHS 的 BNF 规则转换为具有单个 RHS 的 EBNF 规则。
注意:转换为 EBNF 应删除所有显式递归并生成单个 RHS EBNF 规则。
A ⟶ B + A | B – A |乙
我的解决方案:
A ⟶ B [ (+ | –) A ]
我的教授告诉我:
"首先,您应该使用 { } 而不是 [ ], 其次,根据 BNF 规则, 是 B。"(他指的是上面贴的样式指南)
他说的对吗?我想是的,但我读过其他 EBNF 风格,想知道我是否有权获得信用。
【问题讨论】:
标签: grammar context-free-grammar bnf ebnf