Algorithm 如何使这种上下文无关的语法明确无误?

Algorithm 如何使这种上下文无关的语法明确无误?,algorithm,context-free-grammar,ambiguous,formal-languages,context-free-language,Algorithm,Context Free Grammar,Ambiguous,Formal Languages,Context Free Language,语言是所有形式为(0^i)(1^j)的二进制字符串,其中2i>=j。换句话说,一组二进制字符串,其中最多有两倍的1和0以及所有0是前导的 我的尝试: S -> 0S | T T -> 0T1 | U U -> 0U11 | epsilon 但是,这在字符串0011上是不明确的。我怎样才能解决这个问题呢?您几乎拥有了它,只需一个小小的变化: S -> 0S | T T -> 0U1 | U U -> 0U11 | epsilon 这确保了一定数

语言是所有形式为
(0^i)(1^j)的二进制字符串,其中2i>=j
。换句话说,一组二进制字符串,其中最多有两倍的
1
0
以及所有
0
是前导的

我的尝试:

S -> 0S | T

T -> 0T1 | U

U -> 0U11 | epsilon

但是,这在
字符串0011
上是不明确的。我怎样才能解决这个问题呢?

您几乎拥有了它,只需一个小小的变化:

S -> 0S | T    
T -> 0U1 | U 
U -> 0U11 | epsilon

这确保了一定数量的1只能以一种方式产生。然后使用规则S->0S生成仍然需要的0。

您几乎拥有了它,只需一个小改动:

S -> 0S | T    
T -> 0U1 | U 
U -> 0U11 | epsilon
这确保了一定数量的1只能以一种方式产生。然后使用规则S->0S生成仍然需要的0。

您确定发布此消息的正确站点也是吗?@user202729。您确定发布此消息的站点是正确的吗?@user202729。