类型3语法-正则表达式



我读到一条注释,类型3的grammer不能同时拥有这两种产品

A-> aB
A-> Ba

其中A、B是非终端,A是终端

我对类型3有足够的了解,但我不能理解上面的

如果允许这两种生成都发生,这将改变类型3的含义

A -> '(' B
B -> A ')'
A -> '1'

如果你假设A是起始非终端,你的语言会给你所有的单词

((...((1))...))

其中两边的括号数量相同。然而,这不是一种类型3语言(非正式地说,一个正确的解析器需要计数,所以它不能是有限状态)。

最新更新