编译原理中词法分析器的设计与实现

需积分: 42 0 下载量 45 浏览量 更新于2024-08-22 收藏 618KB PPT 举报
编译原理课件 编译原理是计算机科学中的一门重要课程,它涉及到编程语言的设计、实现和优化。下面是编译原理课件的相关知识点: **词法分析** 词法分析是编译过程的第一步,它的任务是将源程序从左到右逐个字符地扫描,产生一个个的单词符号,把由字符串组成的源程序改造成单词符号串的中间程序。词法分析器是执行词法分析的程序,它的功能是输入源程序,输出单词符号。 **词法分析器的要求** 词法分析器的功能是输入源程序,输出单词符号。单词符号是一个程序语言的基本语法符号,它包括关键字、运算符、界符、标识符和常数。词法分析器所输出的单词符号形式是一种(单词种别,属性值)的形式,单词种别通常用整数编码,属性值是反映单词符号特性或特征的值。 **词法分析器的设计** 词法分析器的设计可以按词法分析的任务和作为一个独立子程序来考虑。词法分析器的第一步工作是输入源程序文本到一个输入缓冲区中,然后对输入串进行预处理,目的是为了方便单词符号的识别。预处理的工作是将源程序中多余的空白符、跳格符、回车符、换行符等编辑性字符以及注释部分剔除掉,并将结果存入扫描缓冲区中。 **词法分析器的预处理** 词法分析器的预处理子程序是将源程序中多余的空白符、跳格符、回车符、换行符等编辑性字符以及注释部分剔除掉,并将结果存入扫描缓冲区中。预处理的目的是为了方便单词符号的识别。 **词法分析器的扫描** 词法分析器对扫描缓冲区进行扫描时,一般用两个指示器(P1,P2):一个指向当前正在识别的单词的开始位置,另一个用于向前搜索以寻找单词的终点。 **正规式** 正规式是一种用来描述语言的语法结构的数学表达式。例如,(b* | ab*a)*是描述含有偶数个a的∑上的字符串的正规式。 **二进制串** 二进制串是由0和1组成的字符串。例如,(0|10)*是描述每个1都有0直接跟在右边的二进制串的正规式。 编译原理课件的知识点包括词法分析、词法分析器的要求、词法分析器的设计、词法分析器的预处理、词法分析器的扫描、正规式和二进制串等。