新闻资讯
看你所看,想你所想

正规语言

正规语言

正规语言又称正则语言,是形式语言与自动机理论中讨论的最基本的语言系。通过它可以架起有穷自动机和正则表达式之间的一座桥樑。

基本介绍

  • 中文名:正规语言
  • 外文名:Formal language

正规语言的定义

设∑为有穷字母表,∑*为其Kleene闭包(见作用代数)。那幺称字元串集L∈∑*为正规语言,若且唯若满足下列条件之一:
  1. L可以被一个确定有穷自动机识别;
  2. L可以被一个非确定有穷自动机识别;
  3. L可以用正则表达式表达;
  4. L可以用正则文法生成;
  5. L可以由前缀文法生成;

正规语言的性质

一、封闭性
  1. 正规语言的交、并、差、补运算得到的语言仍然是正则语言;
  2. 两个正规语言连线(把第一个语言的所有字元串同第二个语言的所有字元串连线起来)后得到的语言仍然是正规语言;
  3. 正规语言闭包运算后得到的语言仍然是正规语言;
  4. 正规语言的每个字元串转置后得到的语言仍然是正规语言;
  5. 正规语言被任意语言的字元串商(左商或右商)后得到的语言仍然是正规语言;
  6. 正规语言字元串代换后得到的语言仍然是正规语言;
  7. 与正规语言字元串同态或逆同态的语言仍然是正规语言;
二、判定準则
  1. 判定一个语言不是正则语言通常使用泵引理,或者其加强形式;
  2. 要判断一个语言是正则语言,一般方法是构造一个识别该语言的有穷自动机或正则表达式。也可以通过迈希尔-尼罗德定理所确定的充要条件来证明;

正则语言的套用

由于正则语言可以用有穷自动机识别,所以在进行字元串匹配时可以设计一个无回溯的分析程式。这样就可以使得字元串匹配可以在O(n)时间内完成,而且很容易编程实现。(正则语言在字元串匹配中的套用可以参见词条:正则表达式)

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com