词法分析器(含完整源码).pdfVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

词法分析器(含完整源码)--第1页

词法分析实验报告

一、实验目的与要求:

1、了解字符串编码组成的词的内涵,感觉一下字符串编码的方法和解读

2、了解和掌握自动机理论和正规式理论在词法分析程序和控制理论中的应用

二、实验内容:

构造一个自己设计的小语言的词法分析器:

1、这个小语言能说明一些简单的变量

识别诸如begin,end,if,while等保留字;识别非保留字的一般标识符(有下划线、

字符、数字,且第一个字符不能是数字)。识别数字序列(整数和小数);识别:=,=,=

之类的特殊符号以及;,(,)等界符。

2、相关过程(函数):

Scanner()词法扫描程序,提取标识符并填入display表中

3、这个小语言有顺序结构的语句

4、这个小语言能表达分支结构的语句

5、这个小语言能够输出结果

总之这个小语言词法分析器能提供以上所说明到的语法描述的功能……

三、实验步骤:

1、测试评价

(1)、测试1:能说明一些简单的变量,如关键字、一般标识符、界符等;

(2)、测试2:能输出结果:单词符号(内码形式)、各种信息表(如符号表、常量表等);

(3)、测试程序:

varx,y,z;

begin

x:=2;

y:=3;

if(x+5=y*y)then

begin

z:=y*y-x;

词法分析器(含完整源码)--第1页

词法分析器(含完整源码)--第2页

z:=z+x*x;

end

else

z:=x+y;

prnz;

end.

(4)、结果:

①、从键盘读入;

部分结果如下:

词法分析器(含完整源码)--第2页

词法分析器(含完整源码)--第3页

(类型:该标识符所属的类型,如关键字,变量等;下标:该标识符所对应表(如变量标

识符表,常量标识符表等)中其相应的位置,下同)

②、从文件读入,输出到文件;

部分结果如下:

词法分析器(含完整源码)--第3页

词法分析器(含完整源码)--第4页

其他测试及结果如下:

词法分析器(含完整源码)--第4页

词法分析器(含完整源码)--第5页

③、出错处理;

注:若有错误,则只指出错误,不输出各个表;

(5)、评价:

这个小语言程序基本上能完成词法分析阶段的工作,识别诸如begin,if等保留字;识

别非保留字的一般标识符(有下划线、字符、数字,且第一个字符不能是数字)。识别数字

序列(整数和小数);识别:=,=,=之类的特殊符号以及;,(,)等界符。在扫描源程序

串的同时,能进行一些简单的处理,如删除空格、tab、换行等无效字符,也进行了一些基

本的错误处理,如变量长度

文档评论(0)

187****6719 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档