当前位置:首页 > 词法分析器
《编译原理》课程
实验报告
题目 L语言的词法分析程序 专业计算机科学与技术 班级 2014级 学号 姓名张衡
石河子大学信息学院计算机系
2016年10月30日
一. 实验序号:《编译原理》词法分析实验 二. 实验题目:L语言的词法分析程序 三. 实验日期:2016年10月30日 四. 实验环境(操作系统,开发语言) 操作系统:Windows 开发语言:C 五. 实验要求
1) 词法分析程序主要识别用L语言编写的源程序中的各类单词,并以所在
行号和二元式(单词类别,单词值)的形式输出 2) 标识符类单词词法规则“以字母或下划线开头,后面可以跟字母、数字、
下划线”;“区分大小写字母“;”长度最多为8个字符“。 3) 常量类单词分为数值型常量、字符型常量、字符串常量。
1. 数值型常量分为整型常量和小数常量。整型常量有十进制(0-9组成)和十六进制(0-9、A-F组成)两种;小数常量分为定点小数和科学计数法两种,其中定点小数由0-9和一个小数点组成,科学记数法由0-9、小数点和E组成。
2. 字符型常量由一对<>带一个字符组成。
3. 字符串常量由一对“”带一个或多个字符组成。 4) 运算符有算术运算符(+、-、*、/、**);关系运算符(= =、>、>=、<、
<=、!=)。 5) 分界符有;、,、和(、)。每条语句以;结束。
6) 进行单词拼写错误检查,并输出错误信息和所在行号。 六. 实验步骤
1) 用L语言编写测试用例源程序,用C语言编写词法分析程序。
2) 运行词法分析程序,读入L语言的测试用例源程序,进行词法分析。 3) 设立断点,单步运行词法分析程序,依次单个输出单词。分析和理解词
法分析程序,解释词法分析程序中的数据和变量变化的原因和输出结果。 4) 根据上述“实验要求”修改或编写词法分析程序,同时也应修改L语言
测试用例源程序中的相应的单词。
5) 运行修改后的词法分析程序,读入修改后的L语言测试用例源程序,进
行词法分析。
七.L语言词法分析程序的有限自动机(状态转换图表示)
状态转换图如下页所示:
数字 .
数字 非数字 0 1 0 数字 . 2 数字 其他 3 0 数字 数字 e 4 其他 5 1-9或A-F 0 其他 0 6 字母或者 _ X 7 8 0 字母或者 _ 其他 9 0 字符 “ 字符 100 11 ” 12 其他 0 其他 < 13 = 字符 14 > 其他 15 0 16 0 非=,字符 0 > 17 = 18其他 0 非= 0 转下页 = 19= 21 0 ! 2 22= 其他 3 230 非! 0 *24 * 其他 25 非* 其他 0 0 其他 27— , 6 28300 其他 / 0 其他 320 其他 ; 340 其他 ( 36 其他 0 0 ) 38
共分享92篇相关文档