【问题标题】:How do I Convert EBNF to BNF?如何将 EBNF 转换为 BNF?
【发布时间】:2020-02-05 12:12:15
【问题描述】:

我在为我的大学项目学习时遇到了一个问题。 上网查了一下BNF和EBNF的语法。

(1) 我需要将此短语转换为 EBNF。

<id> ::= <letter> | <id><letter> | <id><digit>

所以我做了这个转换。

<id>::= <letter>( <letter> | <digit> )*

这个语法对不对,还要怎么用语法图来表达?

(2) 反过来,如何将这个 EBNF 改为 BNF?

<complex sentence> ::= ‘{’ <sentence> { <sentence> } ‘}’

网上有很多从BNF转换为EBNF的方法,但我觉得我缺乏关于如何将EBNF转换为BNF的信息。我也想知道这是如何用语法图表示的。

【问题讨论】:

标签: syntax bnf ebnf


【解决方案1】:

我不相信 EBNF 使用尖括号(&lt;&gt;)。

id ::= letter ( letter | digit )*

还有Railroad Diagram Generator:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多