一、学习内容
本章主要学习词法分析有关内容,包括对于词法分析器的要求,词法分析器的设计,正规表达式与有限自动机等,其中正规表达式和有限自动机是本章重点。
词法分析任务是从左至右逐个字符的对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为由单词符号串组成的程序。词法分析器工作过程为源程序—>词法分析器—>单词符号。此处引入单词符号概念:指语言中具有独立意义的最小的语法符号。单词符号常用二元式<单词种别,单词符号的属性值>表示,其中单词符号的属性值指反映单词特性或特征的值。
词法分析器由输入缓冲区、预处理子程序,扫描缓冲区、扫描器组成。输入缓冲区、预处理子程序将预处理好的子程序放到扫描缓冲区中,扫描缓冲区、扫描器直接进行单词的识别。单词符号的识别有以下几种方法:超前搜索(在单词识别的过程中,通过向前多读几个符号的形式,准确的进行单词的识别,需要注意一旦确定识别到的单词之后,要进行扫描指针的回退,保证单词识别工作的顺利进行),直接分析法(根据读来的第一个字符的种类分别转到各种子程序处理)和状态转换图法。其中状态转换图法需详细介绍,状态转换图是一张用来识别(接受)一定的符号串(单词)的有限方向图,结点代表状态用圆圈表示,箭弧指状态之间的连接,箭弧上的标记代表在射出节点下可能出现的字符或字符串。
我们把具有相