《编译原理实践及应用》第3章词法分析幻灯片课件.ppt

《编译原理实践及应用》第3章词法分析幻灯片课件.ppt

ID:59527463

大小:1.15 MB

页数:100页

时间:2020-11-08

《编译原理实践及应用》第3章词法分析幻灯片课件.ppt_第1页
《编译原理实践及应用》第3章词法分析幻灯片课件.ppt_第2页
《编译原理实践及应用》第3章词法分析幻灯片课件.ppt_第3页
《编译原理实践及应用》第3章词法分析幻灯片课件.ppt_第4页
《编译原理实践及应用》第3章词法分析幻灯片课件.ppt_第5页
资源描述:

《《编译原理实践及应用》第3章词法分析幻灯片课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《编译原理实践及应用》第3章词法分析词法分析程序所处的位置:语法分析器词法分析器符号表编译程序的后续部分token取下一个单词语法树3.1词法分析器的功能功能:逐个读入源程序字符并按照构词规则切分成一系列单词主要任务:读入源程序,输出单词符号其他任务:滤掉空格,跳过注释、换行符追踪换行标志,指出源程序出错的行列位置宏展开,……关键:找出单词的分隔符源程序词法分析程序Token串语法分析程序单词:是语言中具有独立意义的最小单位,常用单词分类:保留字:具有固定意义的标识符运算符界符标识符:表示各种名字常数对于一个程序设计语言,保留字、运算符和界符都是确定的

2、,可以给以固定的编号(种别码)。标识符是根据构词规则定义的,常数是符合定义的各种类型的常数种别码:是对能识别的单词的分类编码有多种编码方式:标识符一般统一为一种:一个编号常数按类型分别编码:整数、实数、布尔、字符关键字一般一字一种运算符一般一符一种界符一般一符一种某语言单词的种别码定义举例单词种别码单词种别码单词种别码and1procedure21*41array2program22*/42begin3read23+43bool4real24,44call5repeat25—45case6set26、46char7then27··47constant8

3、to28/48do9true29/*49else10until30:50end11var31:=51false12while32;52for13write33<53if14标识符34<=54input15整常数35<>55integer16实常数36=56not17字符常数37>57of18‘38>=58or19(39[59output20)40]60词法分析器的输出1.Token串:输出源文件中各个有用的单词格式:(单词的种别码,单词符号的属性值)单词种别:是对能识别的单词的分类编码(P42)单词符号的属性值:单词的某种特性或特征常数的值,标识符的名

4、字等保留字、运算符、分界符的属性值可以省略文件存放最好有格式,如每个单词占一行方便“语法分析”程序调用P38例{thisisasampleprogramwritinginsimplelanguage}programexample1;{usedforillustratingcompilingprocess}vara,b,c:integer;x:char;beginif(a+c*3>b)and(b>3)thenc:=3;end.programexample1;vara,b,c:integer;x:char;beginif(a+c*3>b)and(b>3)t

5、henc:=3;end.源程序token文件注意token文件的格式举例2.符号表各种常数和标识符一般放在符号表中,在输出的token文件中的单词属性值则存放单词在符号表中的指针符号表的格式:字符串if(a>b2)test:=3;格式1:(数组)入口单词名及长度类型种属值内存地址1a1整简单变量未知未知2b22整简单变量未知未知3test4实简单变量未知未知……{thisisasampleprogramwritinginsimplelanguage}programexample1;{usedforillustratingcompilingprocess

6、}vara,b,c:integer;x:char;beginif(a+c*3>b)and(b>3)thenc:=3;End.源程序符号表举例3.其它输出:错误信息和源程序清单错误信息应该详细,准确,指出出错的具体行、列位置,发生了哪类错误等,方便用户修改错误处理应尽可能发现更多的错误处理方式每个程序段单独处理错误统一处理错误(商用软件系统)记录式的文件数据库统计表明,现代软件系统中,75%的程序代码都是用于处理错误与错误信息商业系统中错误处理的特点是:统一错误编号,编制文档指出错误信息的含义、应对措施、解决方案词法错误类型非法字符单词拼写错误难以发现下

7、面的错误fi(a=x)…在实数是a.b格式下,可以发现下面的错误123.词法分析是编译过程中的一个阶段,在语法分析前进行。可以作为一个独立的子程序,独立出来的原因:简化设计改进编译效率增加编译系统的可移植性可以和语法分析结合在一起作为一遍,由语法分析程序调用词法分析程序来获得当前单词供语法分析使用。3.2词法分析程序的设计扫描器的任务组织源程序的输入;按规则拼单词,并转换成二元式形式;删除注解行、空格及无用符号;行计数、列计数;列表打印源程序;发现并定位词法错误;如需要,还要建立关键字表、符号表、常数表等表格。词法分析程序的接口识别单词前作如下假定:关

8、键字就是保留字单词中间不能有分界符(如空格、空白、界符和算符等)单词中间不能有注释单词必须在一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。