信息科学与工程学院 __《编译原理》_实验报告 系 别 计算机科学与工程 专 业 计算机科学与应用 班 级 _ _ _ _ _ 计 1 2 2 _ _ _ _ _ _ _ 学 号 _ _ _ _ _ 1 0 1 2 3 5 4 4 _ _ _ _ _ 姓 名 _ _ _ _ _ 陈柏君_ _ _ _ _ _ _ _ _ 指导教师 金登男 2 0 1 4 学年 第二学期 1. 实验题目:词法分析 2. 实验日期: 2015.4.9-2015.4.16 3. 实验环境(操作系统,开发语言) 操作系统:Window s 开发语言:C 4. 实验要求 4.1.用C 语言开发词法分析程序PL0Compiler。 4.2.修改PL/0 词法,将其定义为一种新的语言,例如称其为PL/1 语言,并完成PL/1 语言的词法分析程序。 5. 实验步骤 5.1.用PL/0 语言编写PL/0 测试用例源程序,将其命名为Test0.pl。 5.2.用C 语言开发PL/0 词法分析程序PL0Compiler。 PL0Compiler 读入Test0.pl,识别出一个个单词,并将这些单词流依序同时输出到屏幕和文件中。被输出的每个单词应包括(1)单词序号(2)单词字符串(3)单词类型(4)单词值(如果是标识符,其值是字符串;如果是数,其值是数值;如果是符号,其值是ASCII 代码…) 在程序开发过程中,应设立断点,单步运行词法分析程序,依次输出一个个单词。分析和理解词法分析程序,解释词法分析程序中的数据和变量变化的原因和输出结果。 5.3.研究其他程序设计语言,找出与 PL/0 词法不同的构词法则(例如C 语言的标识符的组成规则与 PL/0 标识符的组成规则有所不同)。据此修改PL/0 的某些词法(例如,将PL/0 标识符组成规则修改为C 语言的标识符的组成规则),将其定义为一种新的语言,例如称其为PL/1 语言。 5.4.用PL/1 语言编写PL/1 测试用例源程序,将其命名为Test1.pl。 5.5.开发PL/1 词法分析程序PL1Compiler。(可通过修改原 PL0Compiler,实现PL/1 语言的词法分析功能)。 5.6.PL1Compiler 读入Test1.pl,识别出一个个单词,并将这些单词流依序同时输出到屏幕和文件中。 6. 实验结果(Test1.pl 内容,PL1Compiler 词法分析程序输出的第 1 张截图) Test1.pl 内容: const _c1=2,A_2=4.56.00; VAR x,num,sum; procedure func1; var y; y:=c1; begin sum:=8.32; read(x); num:=10-x/c2; if num<-2 then x:=-c1; if num>2+2*c2 then x:=8-c2; while x