实验 1: 扫描器的设计与实现1
目的和要求1. 加深对词法分析理论的理解,培育动手实践的能力
2. 学会从以字符串表示的源程序中识别出具有独立意义的基本语法单位,同时指出它们的属性的方法和技术
实验环境Windows XP + WinTC1911
实验准备1、先将课本 3
5 节词法分析程序的生成仔细的学习一遍,理解词法分析程序的构成过程
2、写出 C 语言测试程序,分析可能得到的结果
测试程序:#define pi 3
14void main(){ double r = 2
5; double s = 0
0; s = pi*r*r; printf("%f",s);}预测结果:(513 , # )(14,define) ( 100 , pi ) (200,3 ) (514,
) ( 200,14) ( 1 , void)(2,main ) ( 502,()(503,))(506,{)(15,double)(100,r)(402,=)(200,2)(514,
)(200,5)(501,;)(15,double)(100,s)(402,=)(200,0)(514,
)(200,0)(501,;)(100,s)(402,=)(100,pi)(416,*)(100,r)(416,*)( 100 , r) ( 501 , ; ) ( 12,printf)(502 , ( )(509 , ” ) ( 511, % ) (100,f) ( 509 , ” )(512,,)(100,s)(503,))(501,;)(507,})1
实验内容及步骤1、输入已给的文本格式的扫描程序 Lexical
c 文件,然后编译运行,检查修改错误
2、编译成功后,提示输入 C 语言测试程序,用回车键查看输出的单词流,即单词符号及其属性
3、比较自己分析的结果和屏幕上的输出