这个语法上下文是否免费?
> outfile.txt
答案 0 :(得分:0)
你要问的对象不是语法,而是语言:一组字符串。一组字符串可能由无上下文语法描述,在某种意义上存在一些语法,其规则生成该字符串集。
在这种情况下,您的集合的扩展如下所示:
{ "", "aab", "aaaabb", "aaaaaabbb", ... }
它是由偶数a
- s组成的所有字符串的集合,后跟一半b
- s。
可以通过重复以下规则生成此集合:
s
在集合中,那么字符串"aa" + s + "b"
就在集合中。也就是说,从集合中的任何字符串开始,我们可以在集合中形成一个新字符串,只需在左侧添加两个a
- s并在b
上添加{正确的。与空字符串在集合中的基本案例规则一起,这些规则描述整个集合。
这些规则等同于,并且可以以无上下文语法的形式编写:
s -> ""
-> "aa" s "b"
语法是无上下文的,因为它只有形式的规则" a - >符号......":左侧只有一个非终端符号。因此,没有一代依赖于上下文:采用单个符号,并根据一些可用规则单独替换。