标准实验报告(语法分析)

标准实验报告(语法分析)

ID:38631551

大小:95.50 KB

页数:9页

时间:2019-06-16

标准实验报告(语法分析)_第1页
标准实验报告(语法分析)_第2页
标准实验报告(语法分析)_第3页
标准实验报告(语法分析)_第4页
标准实验报告(语法分析)_第5页
资源描述:

《标准实验报告(语法分析)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、[标准实验报告]南昌航空大学实验报告年月日课程名称:编译原理实验名称:语法分析班级:姓名:同组人:指导教师评定:签名:一、实验目的为了更好的配合《编译原理》有关词法分析章节的教学,加深和巩固学生对于语法分析的了解和掌握,让学生进一步认识PL/0语言基础和简单的程序编写;通过本实验能够初步了解和认识语法分析的整个过程,并在上机过程中提高C或C++的语言编制能力。二、实验要求1、在做本实验之前要先阅读完总体的预备知识以及本实验相关的基础知识。2、本实验要求自己独立的完成,不允许抄袭别人的实验结果。3、在编写

2、和调试过程中出现的问题最好做一下记录。4、阅读懂我所给出的语法分析程序,然后进行改进。5、在阅读懂我所给出的语法分析程序后,老师将进行逐个的检查以及提问,然后给出成绩。三、实验步骤1、阅读书中所给出的语法分析程序,弄懂程序中每一个变量的含义,以及每一个过程的作用,并在必要的语句后加上注释。2、完成语法分析流程图的设计。3、将程序流程图用C语言进行编辑、编译、链接和运行。4、完成实验的调试,并形成实验报告。四、参考源代码publicvoidanalyzer(){//********************

3、*******//循环读取grammar.txt//***************************9/*此处代码略*///***************************//循环读取lengh.txt//***************************/*此处代码略*///****************************//读入文件,进行语法分析////****************************stringstrReadFile;strReadFile="inp

4、ut.txt";myTextRead.myStreamReader=newStreamReader(strReadFile);stringstrBufferText;intwid=0;Console.WriteLine("分析读入程序(记号ID):");do{strBufferText=myTextRead.myStreamReader.ReadLine();if(strBufferText==null)break;foreach(StringsubStringinstrBufferText.Spl

5、it()){if(subString!=""){intll;if(subString!=null){ll=subString.Length;//每一个长度}else{break;}inta=ll+1;char[]b=newchar[a];9StringReadersr=newStringReader(subString);sr.Read(b,0,ll);/把substring读到char[]数组里intsort=(int)b[0];//word[i]和wordNum[i]对应//先识别出一整个串,再根据

6、开头识别是数字还是字母Word[wid]=subString;if(subString.Equals("void")){wordNum[wid]=0;}else{if(subString.Equals("main")){wordNum[wid]=1;}else{if(subString.Equals("()")){wordNum[wid]=2;}else{if(subString.Equals("{")){wordNum[wid]=3;}else{if(subString.Equals("int")){

7、wordNum[wid]=4;}else{if(subString.Equals("=")){wordNum[wid]=6;}else{if(subString.Equals("}")){wordNum[wid]=22;}9else{if(subString.Equals(";")){wordNum[wid]=23;}else//识别变量和数字{if(sort>47&sort<58){wordNum[wid]=7;}else{wordNum[wid]=5;}}}}}}}}}Console.Write(s

8、ubString+"("+wordNum[wid]+")"+"");wid++;}}Console.WriteLine("");}while(strBufferText!=null);wordNum[wid]=24;myTextRead.myStreamReader.Close();//*********************************//读入LR分析表////******************************

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

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

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