上QQ阅读APP看书,第一时间看更新
3.3 词法分析器的LEX实现
由于程序设计语言中的单词基本上都可用一组正规式来描述,因此,人们希望构造一个自动生成系统:对于一个给定的高级语言,只要给出用来描述其各类单词词法结构的一组正则表达式,以及识别各类单词时词法分析程序应采取的语义动作,该系统便可自动产生此语言的词法分析程序。1975年美国贝尔实验室的M. Lesk和Schmidt基于正规式与有限自动机的理论研究,用C语言研制了一个词法分析程序的自动生成工具LEX。对任何高级程序语言,用户只需用正规式描述该语言的各个词法类(这一描述称为LEX的源程序), LEX就可以自动生成该语言的词法分析程序。