《编译原理》课程设计报告--词法分析器

《编译原理》课程设计报告--词法分析器

ID:35625838

大小:126.50 KB

页数:12页

时间:2019-04-03

《编译原理》课程设计报告--词法分析器_第1页
《编译原理》课程设计报告--词法分析器_第2页
《编译原理》课程设计报告--词法分析器_第3页
《编译原理》课程设计报告--词法分析器_第4页
《编译原理》课程设计报告--词法分析器_第5页
资源描述:

《《编译原理》课程设计报告--词法分析器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、201X-201X学年第x学期《编译原理》课程设计报告院系:计算机科学与技术班级:XX级XX班学生姓名:XXXXXX学号:XXXXXXXX指导老师:XXXXXX计算机科学与技术学院监制20XX年X月目录1.课程设计的目的2.课程设计的内容和要求3.问题分析和相关知识介绍4.设计思路和关键问题及其解决方案5.测试和结果分析6.总结和心得体会附件1:参考文献附件2:核心源代码1.课程设计的目的(1)编写词法分析器(2)加深对词法分析器工作原理的了解和认识2.课程设计的内容和要求编写词法分析器,词法分析器能够识别关系算符,词法分析器能够识别标识符和关键字,词法分析器能够识别无符号数。

2、3.问题分析和相关知识介绍构成词法分析器的一种简单方法是用状态转换图来描述源语言词法记号的结构,然后手工把这种状态转换图翻译成为识别词法记号的程序。词法分析器的任务是把构成源程序的字符流翻译成词法记号流。4.设计思路和关键问题及其解决方案把自然语言构造成正规式,把正规式构造成有限自动机NFA,然后根据子集构造法把有限自动机构造成无限自动机DFA,根据极小化DFA状态数算法把DFA构造成最简DFA,其次根据最简DFA画出转换表,根据转换表画出装换图,最后根据装换图就可以编写词法分析器。5.测试和结果分析6.总结和心得体会通过本次试验,不仅仅是我学会了C#基础知识,而且还是我对词法

3、分析器有了更深入的认识,虽然在编写词法分析器过程中遇到了很多困难,例如:C#语言不熟悉,对此法分析器的工作原理分析的不透彻,但在老师和同学的帮助下,我有了很大的提高,通过不断的努力最终顺利的完成了课程设计,很感谢帮助我的XX同学和XX老师。附件1:参考文献《编译原理(第2版)》高等教育出版社;《C#程序设计及应用教程(第2版)》人民教育出版社。附件2:1.Code文档截图2.程序源代码usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.IO;namespaceLexicalAnalys

4、is{classProgram{staticstring[]keys={"static","true","return","string","Length","break","Console","WriteLine","bool","false","ture","void","if","else","while","int","float","for","enum","default","case","double","do"};staticListkey=newList();//保存关键字staticListbsf=newLis

5、t();//保存标识符staticListsz=newList();//保存数字staticListgx=newList();//保存关系运算符staticListys=newList();//保存数字运算符//数字,标识符,空白,关系符,运算符staticvoidMain(string[]args){string[]date=File.ReadAllLines(@"d:\code.txt");//路径,并存入datafor(inti=0;i

6、;i++){Console.WriteLine("第"+(i+1)+"行code:"+date.GetValue(i));analysisByLine(date[i]);}//分别输出存储在四个List中的StringConsole.WriteLine("关键字,输入回车");//输出所有的关键字Console.ReadLine();foreach(stringidinkey){Console.WriteLine(id);}Console.WriteLine("标识符,输入回车");//输出所有的标识符Console.ReadLine();foreach(stringidinb

7、sf){Console.WriteLine(id);}Console.WriteLine("数字,输入回车");//输出所有的数字Console.ReadLine();foreach(stringidinsz){Console.WriteLine(id);}Console.WriteLine("关系运算符,输入回车");//输出所有的关系运算符Console.ReadLine();foreach(stringidingx){Console.WriteLine(id);}Console.Wri

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

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

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