文档介绍:
会计学
1
编译原理 PPT课件
第一节 词法分析概述
一. 词法分析的功能
1. 功能
扫描源程序的字符串,按照词法规则,识别出单词符号作为输出;对识别过程中发现的词法错误,则输出有关的错误信息。
电子科技大学计算机科学与工程学院
第1页/共34页
输入串
词法分析器
语法分析器
单词流
2.词法分析器和语法分析器的关系
(1)词法分析作为单独的一遍
电子科技大学计算机科学与工程学院
第2页/共34页
输入串
词法分析器
语法分析器
符号表
取下一单词
返回下一单词
(2)词法分析作为子程序
电子科技大学计算机科学与工程学院
第3页/共34页
1. 单词的种类
标识符:用来命名程序中出现的变量、数组、
函数、过程、标号等
基本字:也可称关键字或保留字, 如if、while、
for、do、goto等
常数:各种类型的常数, 如216、3.14159、TRUE等
运算符:如+、-、*、/等
界符:如;、:、/*、*/等
二. 词法分析器的输出形式
电子科技大学计算机科学与工程学院
第4页/共34页
(单词类别,单词的属性)
区分单词所属的类(整数编码) 单词的值
2.单词的输出形式
(1)二元式
电子科技大学计算机科学与工程学院
第5页/共34页
(2)单词类别的划分
基本字、运算符、界符:一字一码
标识符:单列一种
常数:按类型分类
电子科技大学计算机科学与工程学院
第6页/共34页
一个例子
A:=B50+10; 的输出为:
(标识符的编码,‘A’)
(:=的编码,—)
(标识符的编码,‘B50’)
(+的编码,—)
(整数的编码,‘10’)
(;的编码,—)
电子科技大学计算机科学与工程学院
第7页/共34页
第二节 词法分析器的结构
一. 扫描缓冲区
1. 输入缓冲区:源程序输入缓冲区
2. 预处理程序:取消注解,剔除无用的空白、跳格、回车、换行等
电子科技大学计算机科学与工程学院
第8页/共34页
3.扫描缓冲区:从输入缓冲区输入固定长度的字符串到另一个缓冲区(扫描缓冲区),词法分析可以直接在此缓冲区中进行符号识别。扫描缓冲区的结构:
起点指针:用来指示正在扫描的单词的起点;
搜索指针:用于向前搜索,寻找单词的结束;
双缓冲区结构:设置左右两个缓冲区,当左缓冲区读完后,新读入的字符存入右缓冲区;反之,存放在左缓冲区;
左缓冲区
右缓冲区
起点指示器
搜索指示器
电子科技大学计算机科学与工程学院
第9页/共34页
内容来自淘豆网www.taodocs.com转载请标明出处.