形式语言理论
语言学术语
形式语言理论是用数学方法研究自然语言(如英语)和人工语言(如程序设计语言)的语法的理论。它只研究语言的组成规则,不研究语言的含义。形式语言理论在自然语言的理解和翻译、计算机语言的描述和编译、社会和自然现象的模拟、语法制导的模式识别等方面有广泛的应用。形式语言的研究始于20世纪初,50年代中期将形式语言用于描述自然语言。
历史发展
形式语言的研究始于20世纪初,把形式语言用于模拟自然语言是50年代中期的事。当时,许多数理语言学家致力于用数学方法研究自然语言的结构,尤其是1946年电子计算机出现以后,人们很快想到用计算机来作自然语言的机械翻译。可是这项工作在取得一些初步的成功以后便停滞不前,翻译的质量很难提高,主要是因为当时对自然语言结构的理解太表面化。1956年,N.乔姆斯基发表了用形式语言方法研究自然语言的第一篇文章。他对语言的定义方法是:给定一组符号(一般是有限多个),称为字母表,以∑表之。又以∑*表示由∑中字母组成的所有符号串(或称字,也包括空字)的集合。则∑*的每个子集都是∑上的一个语言。例如,若令∑为26个拉丁字母加上空格和标点符号,则每个英语句子都是∑*中的一个元素,所有合法的英语句子的集合是∑*的一个子集,它构成一个语言。乔姆斯基的语言定义方法为人们所公认,一直沿用下来。
1960年,算法语言ALGOL60报告发表。1961年,又发表了ALGOL60报告发表.其中第一次使用一种称为巴克斯范式的方法来描述程序设计语言的语法。不久,人们即发现巴克斯范式系统极其类似于形式语言理论中的上下文无关文法.从而打开了形式语言广泛应用于描述程序设计语言的局面,使它发展成为理论计算机科学的一个重要分支。
形式文法
形式文法被严格地定义为四元组G=(V,T,P,S),其中V和T分别是变元和终结符的有穷集合,并且V和T没有公共元素,即V∩T=Æ。S是一个特殊变元,称为开始符号。P是生成式的有穷集合,生成式的基本形式是:a→β,这里a和β,这里a和β都是(V∪T)*中的元素,即它们都是由变元和终结符组成的符号串,但要求a至少含有一个非终结符。在形式文法定义中,生成式集合P是至关重要的。在对使用符号的惯例作某些约定后,仅仅考查生成式,就能推断出一个文法的变元、终结符和开始符号,故可以友爱过列出生成式来定义一个形式文法。
形式语言谱系
根据P中生成式a→β的特点,可以将形式文法及其产生的形式语言分类,构成所谓的形式语言谱系。形式语言理论中重点研究四类文法和语言:①0型文法。又称为无限制文法。这种文法对生成式a→β不作特殊限制,a和β可以是任意的文法符号串,当然a不能是空字符串。0型文法是形式语言谱系中最大的文法类。由0型文法产生的形式语言恰是图灵机所识别的语言类,即递归可枚举语言。②1型文法。又称为上下文有关文法。这种文法要求生成式a→β满足|a|≤|β|,即β要至少和a一样长。由1型文法产生的语言称为1型语言或上下文有关语言。1型语言恰是非确定型线性有界自动机所识别的语言类。③2型文法。又称为上下文无关文法。这种文法要求生成式a→β中的a必须是变元。由2型文法产生的语言称为2型语言或上下文无关语言。2型语言恰是由下推自动机所识别的语言类。④3型文法。又称为正则文法。这种文法分为两种类型:第一类要求生成式的形式必须是A→ωB或A→ω,其中A,B都是变元,ω是终结符串(可以是空串),这种特殊的正则文法称为右线性文法。第二类正则文法称为左线性文法,它要求生成式必须是A→Bω,或A→ω的形式。由正则文法生成的语言称为正则语言,它恰是有穷自动机所识别的语言类。
上述定义的4种语言类具有依次包含关系,即对于i=0,1,2,在不考虑空字符串时,i型语言都真包含i+1型语言。
变换文法描述
乔姆斯基用变换文法作为形式语言的描述手段。例如,语言Lɑ可用如下的变换文法描述:{S→ɑ,S→ɑS}。这个文法由两条变换规则组成。每一步变换(也叫推导)都用一条变换规则的右部替换它的左部。S是出发点,代表Lɑ中任何一个可能的句子。例如,句子ɑɑɑɑɑ可以这样推导出来:S→ɑS→ɑɑS→ɑɑɑS→ɑɑɑɑS→ɑɑɑɑɑ。推导共分五步。前四步用了第二条规则,第五步用了第一条规则。按这个办法,可以生成Lɑ中的所有句子,即整个Lɑ语言。
严格地说,变换文法定义成四元组G=(∑,V,S,P)。∑是字母表,又称终结符号表。V 是变量表,又称非终结符号表,S是出发符号,P是变换规则(又称产生式)的集合,其中∑,V和P 都是有限集,∑∩V=φ,S∈V。又令α和β分别表示(∑∪V)+和 (∑∪V)*中的元素(用+代替*表示不含空字),则P 中所有的产生式皆形如 α→β,表示用β替换α。这样定义的文法称为零型文法,又称短语结构文法。由零型文法生成的语言称零型语言。每个零型语言都是递归可枚举集(见可计算性理论),反之亦然。
以|α|表示符号串α的长度。对零型文法的所有产生式加限制|α|≤|β|,即得到一型文法。由一型文法生成的语言称一型语言。一型文法也可以这样定义:它的所有产生式均取γAδ→γωδ的形式,其中γ,ω,δ∈(V∪∑)*,|ω|>0,A∈V。其直观意义是:在左有γ,右有δ的环境下,A可以被ω 所替换。因此,一型文法和一型语言又分别叫上下文有关文法上下文有关语言
如果要求一型文法中α∈V,便得到二型文法,也称上下文无关文法,它生成的语言称二型语言或上下文无关语言。
特点
形式语言自然语言有两个重要的区别。形式语言的界限是明确的,而自然语言的界限往往不明确。因为自然语言有许多方言和习惯用法,而且处于不断发展之中。其次,自然语言不管如何庞大,它总是有限的。形式语言则以无限的语言为主要研究对象。例如,所有由n个ɑ构成的字(n≥1)组成一个语言Lɑ={ɑ,ɑɑ,ɑɑɑ,…},它就是无限的。因此,研究形式语言遇到的第一问题就是描述问题。描述的手段必须是严格的,而且必须能以有限的手段描述无限的语言。
参考资料
最新修订时间:2024-02-02 14:50
目录
概述
历史发展
参考资料