理论教育 学习编译器设计,了解Lex自动生成词法分析器

学习编译器设计,了解Lex自动生成词法分析器

时间:2023-11-04 理论教育 版权反馈
【摘要】:无论是手工构造,还是自动生成词法分析器都是完全可行的。Lex根据输入的正则表达式,生成相应的词法分析器。对于有志于学习与研究自动机与形式语言的读者而言,《自动机理论、语言与计算导论》是该领域一本较新的著作,值得深入阅读。

学习编译器设计,了解Lex自动生成词法分析器

词法分析理论与技术的应用是现代计算机科学的一个相当成功的故事。无论是手工构造,还是自动生成词法分析器都是完全可行的。本书以介绍手工构造为主,不过,实践证明,依据一定的规则,自动生成词法分析器也是一个不错的选择。其中,最经典的实例就是UNIX平台上的Lex,它是基于有限自动机理论实现的。Lex根据输入的正则表达式,生成相应的词法分析器。当然,手工编码实现词法分析器的方法也是可行的,经典实例是不胜枚举的。两者并不存在绝对的优劣之分,更多关注的是是否有利于源语言的实现。这里,笔者推荐一个词法分析器构造程序--Flex,它的基本思想与Lex是一脉相承的。Flex诞生于1987年,经常与Bison -起使用,生成词法、语法分析器。读者可以访问http://www.gnu.org/software/flex/,以获得更多的相关信息。当然,正则表达式作为形式语言和自动机理论的早期雏型,为搜索与扫描技术的发展提供了源动力,广泛应用于文本编辑、网络检索、编译器、信息安全领域

自动机理论与形式语言是计算机科学中两个非常重要的理论研究方向,许多计算理论书籍都会涉及这两个话题。对于有志于学习与研究自动机与形式语言的读者而言,《自动机理论、语言与计算导论》是该领域一本较新的著作,值得深入阅读。

l、编译器工程 Keith D.Cooper,Linda Torczon 机械工业出版社

说明:这是一本以介绍编译器实践工程为主的教材,堪称“龙书”之后的另一本经典著作。

2、Lex A lexical Analyzer Generator M.E. Lesk,E. Schmidt

说明:Lex是一个基丁有限自动机理论实现的词法分析器的生成器,也是早期自动化生成技术的一个经典范例。(www.daowen.com)

3、ISO/IEC 9945

说明:这是一个正则表达式的标准,它是对UNIX正则表达式规范的扩充及完善。

4、自动机理论、语言与计算导论(原书第2版) John E.Hopcroft,Rajeev Motwani 机械工业出版社

说明:这本书详细阐述了自动机理论与形式语言的相关问题,同时还讨论了不可判定性等疑难话题。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈