编译原理课程设计报告词法分析范文.docVIP

  • 3
  • 0
  • 约8.52千字
  • 约 17页
  • 2018-11-25 发布于安徽
  • 举报

编译原理课程设计报告词法分析范文.doc

. WORD格式整理. . . .专业知识分享. . 目录 TOC \o 1-3 \h \z \u HYPERLINK \l _Toc276634209 一、 实验题目 PAGEREF _Toc276634209 \h 3 HYPERLINK \l _Toc276634210 二、 实验目的 PAGEREF _Toc276634210 \h 3 HYPERLINK \l _Toc276634211 三、 实验要求 PAGEREF _Toc276634211 \h 4 HYPERLINK \l _Toc276634212 四、 实验步骤 PAGEREF _Toc276634212 \h 4 HYPERLINK \l _Toc276634213 基本设计思路 PAGEREF _Toc276634213 \h 4 HYPERLINK \l _Toc276634214 流程框图 PAGEREF _Toc276634214 \h 5 HYPERLINK \l _Toc276634215 算法设计 PAGEREF _Toc276634215 \h 6 HYPERLINK \l _Toc276634216 函数相关说明 PAGEREF _Toc276634216 \h 6 HYPERLINK \l _Toc276634217 输入与输出 PAGEREF _Toc276634217 \h 8 HYPERLINK \l _Toc276634218 程序运行结果 PAGEREF _Toc276634218 \h 9 HYPERLINK \l _Toc276634219 五、 实验方案设计实现 PAGEREF _Toc276634219 \h 9 HYPERLINK \l _Toc276634220 六、 实验程序亮点描述 PAGEREF _Toc276634220 \h 10 HYPERLINK \l _Toc276634221 七、 实验程序使用说明 PAGEREF _Toc276634221 \h 10 HYPERLINK \l _Toc276634222 八、 实验心得体会 PAGEREF _Toc276634222 \h 10 HYPERLINK \l _Toc276634223 九、 源程序清单 PAGEREF _Toc276634223 \h 10 实验题目 设计、编制、调试一个识别一简单语言单词的词法分析程序。程序能够识别基本字、标识符、无符号整数、浮点数、运算符和界符)。单词符号及种别表如下: 单词符号 种别编码 begin 1 if 2 then 3 while 4 do 5 end 6 l(l|d)* 10 dd* 11 + 13 - 14 * 15 / 16 : 17 := 18 20 21 = 22 23 = 24 = 25 ; 26 ( 27 ) 28 # 0 实验目的 设计、编制并调试一个词法分析程序,加深对词法分析原理的理解。 实验要求 词法分析程序需具备词法分析的功能: 输入:所给文法的源程序字符串。(字符串以“#”号结束) 输出:二元组(syn,token或sum)构成的序列。 其中:syn为单词种别码; token为存放的单词自身字符串; sum为整型常数。 例如:对源程序begin x:=9: if x9 then x:=2*x+1/3; end #的源文件,经过词法分析后输出如下序列: (1,begin)(10,x)(18,:=)(11,9)(26,;)(2,if)…… 实验步骤 基本设计思路 基本字作为一类特殊的标识符来处理:识别出标识符,差基本字表,给出相应种别码。基本字表置初值:char *rwtab[6]={begin,if,then,while,do,end};(字符指针的数组) 识别无符号整数是将数字串转换为无符号整数。我们在getchar()的时候是把数字当做字符从外部输出读取的。将数字串345#转换为整数: (3*10+4)*10+5=345送到sum中 程序主要由2个函数组成,主函数main()和扫描子函数scanner()。扫描程序每次读取1个独立意义的单词符号,并判断单词类型。主程序做相应处理后做控制台输出。 流程框图 图 SEQ 图 \* ARABIC 1主程序 图 SEQ 图 \* ARABIC 2扫描子程序 算法设计 词法分析程序所用的较为重要的全局变量和需调用的函数如下: ch字符变量,存放当前读进

文档评论(0)

1亿VIP精品文档

相关文档