编译原理--第三章词法分析
1、词法分析器:
主要任务:读入源程序,输出单词符号
关键:找出单词的分隔符
其他任务:滤掉源程序中的无用成分,如注释,空格,回车;
处理与平台有关的输入,如文件结束符的不同表示等;
根据模式识别记号,并交给语法分析器
调用符号表管理器或出错处理器,进行相关处理。
2.语言的单词符号:
单词符号是一个程序语言的基本语法符号。称作 token(记号)具有独立意义的最小语法单位。
关键字
标识符
常数
运算符
定界符
3.词法分析器输出单词的形式:
词法分析器输出的单词符号常常标书成如下的二元式(单词种别,单词符号的属性值)
单词种别:表示单词的种类
单词符号的属性值:区分同一种别中不同单词符号
4.词法分析器的两种处理结构:
5、词法分析器的设计:
设计策略:把词法分析设计成一个独立程序
(1)组织成一遍扫描
(2)作为语法分析和语义分析的子程序
6.正规文法和状态转换图
可以用正规文法描述的就可以用状态转换图来描述
…有限个节点所组成的有向图
…每个节点代表在识别分析过程中扫描器所处的状态,其中,含有一个初始状态和若干个终态。在图中,状态用圆圈表示,终态用双层圆圈表示。
…状态之间用有向边连接,其上标记一字符,表示从有向边的射出状态出发,识别一字符后,将进入箭头所指状态。
7.状态转换图的一种实现: