形式语言理论

形式语言理论
形式语言理论,是用数学方法研究自然语言(如英语)和人工语言(如程序设计语言)的语法的理论。形式语言就是模拟这些语言的数学工具。它只研究语言的组成规则,不研究语言的含义。

正文

形式语言理论在自然语言的理解和翻译、计算机语言的描述和编译、社会和自然现象的模拟、语法制导的模式识别等方面有广泛的应用。
历史情况 形式语言的研究始于20世纪初,把形式语言用于模拟自然语言是50年代中期的事。当时,许多数理语言学家致力于用数学方法研究自然语言的结构,尤其是1946年电子计算机出现以后,人们很快想到用计算机来作自然语言的机械翻译。可是这项工作在取得一些初步的成功以后便停滞不前,翻译的质量很难提高,主要是因为当时对自然语言结构的理解太表面化。1956年,N.乔姆斯基发表了用形式语言方法研究自然语言的第一篇文章。他对语言的定义方法是:给定一组符号(一般是有限多个),称为字母表,以∑表之。又以∑* 表示由∑中字母组成的所有符号串(或称字,也包括空字)的集合。则∑* 的每个子集都是∑上的一个语言。例如,若令∑为26个拉丁字母加上空格和标点符号,则每个英语句子都是∑* 中的一个元素,所有合法的英语句子的集合是∑* 的一个子集,它构成一个语言。乔姆斯基的语言定义方法为人们所公认,一直沿用下来。
1960年,算法语言ALGOL60报告发表。1961年,又发表了ALGOL60修改报告。在这两个报告中,第一次使用一种称为 BNF范式的形式方法来描述程序设计语言的语法。不久,人们即发现BNF范式极其类似于形式语言理论中的上下文无关文法,从而打开了形式语言广泛应用于程序设计语言的局面,并给形式语言理论本身的研究以极大的推动,使它发展成为理论计算机科学的一个重要分支。