【发布时间】: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的信息。我也想知道这是如何用语法图表示的。
【问题讨论】:
-
虽然this question 看起来有更好的答案