正规语言

正规语言【正规语言】正规语言又称正则语言,是形式语言与自动机理论中讨论的最基本的语言系 。通过它可以架起有穷自动机和正则表达式之间的一座桥樑 。
基本介绍中文名:正规语言
外文名:Formal language
正规语言的定义设∑为有穷字母表,∑*为其Kleene闭包(见作用代数) 。那幺称字元串集L∈∑*为正规语言,若且唯若满足下列条件之一:

    L可以被一个确定有穷自动机识别;
    L可以被一个非确定有穷自动机识别;
    L可以用正则表达式表达;
    L可以用正则文法生成;
    L可以由前缀文法生成;
正规语言的性质一、封闭性
    正规语言的交、并、差、补运算得到的语言仍然是正则语言;
    两个正规语言连线(把第一个语言的所有字元串同第二个语言的所有字元串连线起来)后得到的语言仍然是正规语言;
    正规语言闭包运算后得到的语言仍然是正规语言;
    正规语言的每个字元串转置后得到的语言仍然是正规语言;
    正规语言被任意语言的字元串商(左商或右商)后得到的语言仍然是正规语言;
    正规语言字元串代换后得到的语言仍然是正规语言;
    与正规语言字元串同态或逆同态的语言仍然是正规语言;
二、判定準则
    判定一个语言不是正则语言通常使用泵引理,或者其加强形式;
    要判断一个语言是正则语言,一般方法是构造一个识别该语言的有穷自动机或正则表达式 。也可以通过迈希尔-尼罗德定理所确定的充要条件来证明;
正则语言的套用由于正则语言可以用有穷自动机识别,所以在进行字元串匹配时可以设计一个无回溯的分析程式 。这样就可以使得字元串匹配可以在O(n)时间内完成,而且很容易编程实现 。(正则语言在字元串匹配中的套用可以参见词条:正则表达式)