正则文法:又称为3型文法。这种文法分为两种类型:第一类要求生成式的形式必须是A→ωB或A→ω,其中A,B都是变元,ω是终结符串,这种特殊的正则文法称为右线性文法。第二类正则文法称为左线性文法,它要求生成式必须是A→Bω,或A→ω的形式。由正则文法生成的语言称为正则语言,它恰是有穷自动机所识别的语言类。
正则文法:又称为3型文法。这种文法分为两种类型:第一类要求生成式的形式必须是A→ωB或A→ω,其中A,B都是变元,ω是终结符串,这种特殊的正则文法称为右线性文法。第二类正则文法称为左线性文法,它要求生成式必须是A→Bω,或A→ω的形式。由正则文法生成的语言称为正则语言,它恰是有穷自动机所识别的语言类。
正则文法:又称为3型文法。这种文法分为两种类型:第一类要求生成式的形式必须是A→ωB或A→ω,其中A,B都是变元,ω是终结符串(可以是空串),这种特殊的正则文法称为右线性文法。第二类正则文法称为左线性文法,它要求生成式必须是A→Bω,或A→ω的形式。由正则文法生成的语言称为正则语言,它恰是有穷自动机所识别的语言类。
在计算机科学中,正则文法是产生式规则取下述形式的一种形式文法(N, Σ,P,S):
下面给出一个正则文法的例子: 文法G= (N, Σ,P,S),其中N= {S, A},Σ = {a, b, c},S是起始符号,P包含下述规则:
S -> aSS -> bAA -> εA -> cA这个文法描述的语言也可以用正则表达式a*bc* 来表达。
正则文法描述的语言构成了正则语言类,正则语言类中的语言也可以由有限状态自动机或正则表达式来表达。
正则语言又称正规语言是满足下述相互等价的一组条件的一类形式语言:
可以被确定有限状态自动机识别;可以被非确定有限状态自动机识别;可以被只读图灵机识别;可以用正则表达式描述;可以用正则文法生成。可以用前缀文法生成。这里语言的运算参见条目形式语言。
正则语言的交、并、差、补运算得到的语言仍然是正则语言;两个正则语言连接(把第一个语言的所有字符串同第二个语言的所有字符串连接起来)后得到的语言仍然是正则语言;正则语言闭包运算后得到的语言仍然是正则语言;正则语言的每个字符串转置后得到的语言仍然是正则语言;正则语言被任意语言的字符串商(左商或右商)后得到的语言仍然是正则语言。正则语言字符串代换后得到的语言仍然是正则语言。与正则语言字符串同态或逆同态的语言仍然是正则语言。