哈工大威海编译原理实验二语法分析

哈工大威海编译原理实验二语法分析

ID:34003141

大小:52.00 KB

页数:6页

时间:2019-03-03

哈工大威海编译原理实验二语法分析_第1页
哈工大威海编译原理实验二语法分析_第2页
哈工大威海编译原理实验二语法分析_第3页
哈工大威海编译原理实验二语法分析_第4页
哈工大威海编译原理实验二语法分析_第5页
资源描述:

《哈工大威海编译原理实验二语法分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、哈尔滨工业大学(威海)计算机学院编译原理实验报告姓名院系计算机学院学号任课教师指导教师闫健恩实验地点宋健二楼机房实验时间实验名称实验二LR语法分析技术同组人无预习报告(对实验主要内容的认识)得分(1)给出主要数据结构:分析栈、符号表、语法分析树;(2)将扫描器作为一个子程序,每次调用返回一个TOKEN;(3)程序界面:表达式输入、语法分析树的表示结果(文件或者图形方式);实验内容(问题,思路,程序,结果)得分(1)开发环境:vs2010(2)输入:在运行打开的软件下(win32格式),输入相应的代码(即要进行词法分析的字符串)(3)输出:在输入字符串后,按回车键后,既

2、可以得到相应的词法分析的结果(4)在相应的运行程序的文件夹中生成一个txt文件,用来存储生成的Token链表(5)系统功能:1、词法分析:将输入的字符串进行单词级别的分析并且生成且输出Token表2、语法生成器:可以将语法生成相应的状态,在这个实验中共有语法如下:3、CLOSURE生成4、LR项集族的生成6、Goto表的生成7、Scaner词法分析器将Token表输出8、语法分析器对Token表的分析,得出结果(2)开发平台(操作系统、设计语言):1、操作系统:windows72、设计语言:c++3、编译器:vs2010(3)设计方案;1)主数据流图;开始读取构造的文

3、法(grammar.txt)构造item.txt集族构造action表,写入文档进行语法的匹配(自底向上RL(1))匹配时出现错误?YN查找action表继续进行匹配如果代码分析还未完成,继续结束2)主要数据结构:符号表、TOKEN串表等。//符号表classsymTable{private:char*symName;char*symStyle;intsymLength;public:symTable*next;public:symTable();symTable(char*sysName,char*sysStyle,intsysLength);symTable(sy

4、mTable&s);char*getName();char*getStyle();intgetLength();voidsymAdd(symTable*symFirst);voidprint();};charG[30][30];//useamatrixtostoregrammarG//存放文法,用来分析作为输入intlength[30];//lengthusetostoreeachformula'slengthintnumber=0;booltempofinput[150];//bufferofinput//输入???charstr_vn[30];//putallvn

5、intoitintsize_vn=0;charstr_vt[150];//putallvtintoitintsize_vt=0;boolfirst_vn[30][150];charbuffer[50];//用来存放生成CLOSURE(I)时需要的first_set也用来读入用户的输入串^_^intbsize=0;structthri{intbeg;intnex;charch;};thritrans[200];intsize_trans=0;//定义项目集的形式structproj{intformula_numb;intpart;charexpc;};/*项目集*/pr

6、ojitems[200][200];intCcount=0;intsize_item[200];/*状态转换表*/structaction{charch;intnxt_sta;};actionaction_table[200][200];intsize_act_table[200];ifstreamG_ifile;ifstreaminput_ifile;ofstreamitems_ofile;ofstreamact_ofile; (4)具体设计过程(包括主控程序、各个功能模块的具体实现)。1、主控程序简介:主控制流程主要包括下面的几部分:(1)词法分析器的子函数修改(

7、2)对于输入grammar,输出集族(3)输入集族,可以构造出相应的action表(4)根据得到的action表生成相应的语法分析策略2、对于词法的分析简介:主要实现和在实验一中的功能相同,只是将现在的实现包装到一个函数里面,这样就是为了对代码进行重复的快捷的利用,只是需要将得到的程序代码作为输入,词法分析函数就会自动的生成相应的token表和相应的符号表。3、对于item生成简介:自己通过分析课本上的实验伪代码,以及yacc文法代码生成工具的研究,编写相依的item集族的生成工具,生成的I状态共有105中,具体的实现以及生成的状态在文档中(见于:i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。