1 / 6
文档名称:

实验一词法分析实验报告.docx

格式:docx   大小:65KB   页数:6页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验一词法分析实验报告.docx

上传人:ttteee8 2019/7/14 文件大小:65 KB

下载得到文件列表

实验一词法分析实验报告.docx

相关文档

文档介绍

文档介绍:实验一词法分析一、 实验目的通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在対程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。编制一个读单词过程,从输入的源程序屮,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。(遇到错误时可显示“Error",然后跳过错误部分继续显示)二、 实验要求使用一符一种的分法关键字、运算符和分界符可以每一个均为一种标识符和常数仍然一类一种三、 实验内容功能描述:1、 待分析的简单语言的词法(1) 关键字:beginifthenwhiledoend(2) 运算符和界符::=+-*/<<=<>>>==;()#(3) 其他单词是标识符(ID)和整型常数(NUM),通过以下正规式定义:ID=letter(letter|digit)*NUM=digitdigit*(4) 空格由空白、制表符和换行符组成。空格一般用来分隔ID、NUM,运算符、界符和关键字,词法分析阶段通常被忽略。2、 各种单词符号对应的种别码单词符号。种别码"单词符号d种别码・,begins丄a17pifp2q:=^^4^<>4521pdoa5-p<=P22aeud^6p<(letter|digit)4JLOq>=P24adigitdigitJLJLq=P2"r26。2JL4G2"JL5q2S<16^■10*图1稈序结构描述:*-返回四、实验结果输入beginx:=9:ifx>9thenx:=2*x+l/3;end#后经词法分析输岀如下序列:(begin1)(x10)(:17)(= 18)(9 11)(:26)(if2)……如图3所示:x>0tx:=2*X+1/3;107816203130781503161600111121211**********>>>>>>>>>>>>>>>>>>>>>>>>图3输入privatex:=9;ifx>0thenx:=2*x+l/3;end#后经词法分析输出如下序列:(private10)(x10)(:17)(= 18)(9 11)(;26)(if2)……如图4所示:Pleaseinputstring:[privatex•=9;ifx>0thenx•=2*x*l/3;endtt<10^.priuate><><18,:=><><26,;><2^1F><10,x><20,>>〈丄丄,0><3then><><18^:=>〈〉<13.*><><15.<14,/><26.;><6,end><弘甘?图4显然,private是关键字,却被识别成了标示符,这是因为图1中没有定义private关键字的种别码,所以把private当成了标示符。输入privatex:=9;ifx>0thenx:二2*x+l/3;©end#后经词法分析输岀如下序列:(private10)(x10)(:17)(= 18)(9 11)(;26)(if2)……如图5所示□Pleaseinput;string=ex-=9;i£x>0thenx:=2*x-*-l/3; (?endtt<10^.private>,x〉<18.==><><26.;><2^i