嗨我遇到了很多麻烦,我遇到了很多网站,但发现这个帖子How to convert BNF to EBNF是非常有用的,但我不知道从哪里开始这个例子。EBNF规则到BNF
<decimal_literal> --> (0|1|2|3|4|5|6|8|9){0|1|2|3|4|5|6|7|8|9|_}
在这个规则中括号和花括号是metsymbols。它需要超过1条规则,可能需要引入1个或多个新的非终端。
这是我正在使用的教科书http://umsl.edu/~mfrp9/misc/cpl.pdf第131页显示了一个示例,但我无法将其应用于此问题。如果有人可以请一步一步解释这个问题的解决方案,所以我可以学习它来做类似的问题,非常感谢。
您交叉引用的问题是从BNF转换为EBNF。您的问题标题显示您正试图从EBNF转换为BNF。你想要做什么?如果目标是BNF,那么BNF的哪个方言?如果目标是EBNF,那么你的意思是标准EBNF(如ISO 14977:1996)还是其他一些EBNF方言? – 2014-10-01 04:45:12
是的,我正在寻找转换EBNF为BNF,但被告知,如果它可以转换一种方式,那么它可以转换另一种方式。我无法找到EBNF到BNF的任何内容,所以我用这篇文章作为指导。是标准EBNF。 – Noobie 2014-10-01 04:53:48
是的,它可以被转换,但问题是“BNF的哪个方言”?我想这个答案是“在书中”。 – 2014-10-01 04:55:39