type 3 grammar - 正则表达式

时间:2012-01-11 21:19:48

标签: compiler-construction regular-language

我已经读过3型语法不能同时具有这两种产品的说明

A-> aB
A-> Ba

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

我对第3类知识不足,但我无法理解上述

1 个答案:

答案 0 :(得分:1)

如果允许这两种产品发生,这将改变3类型的含义。您可以编写如下语法:

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

如果您认为A是非终端的起点,那么您的语言将为您提供所有单词

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

其中任一侧的括号数相同。然而,这不是类型3语言(非正式地,正确的解析器需要计数,因此它不能是有限状态)。