- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
毕业设计论文-cminus词法分析和语法分析设计编译器编译原理设计
编译原理课程设计报告 课题名称: C- Minus词法分析和语法分析设计 提交文档学生姓名: X X X 提交文档学生学号: XXXXXXXXXX 同组 成 员 名 单: X X X 指导 教 师 姓 名: X X 指导教师评阅成绩: 指导教师评阅意见: . . 提交报告时间:2015年6月10日 课程设计目标 实验建立C-编译器。只含有扫描程序(scanner)和语法分析(parser)部分。 分析与设计 C-编译器设计的整体框架,本实验实现扫描处理和语法分析程序(图中粗黑部分)。 2.1 、扫描程序scanner部分 2.1.1系统设计思想 设计思想:根据DFA图用switch-case结构实现状态转换。 惯用词法: 语言的关键字:else if int return void while 专用符号:+ - * / ! ; , [ ] /* */ 其他标记是ID和NUM,通过下列正则表达式定义: ID letter letter* NUM digit digit* letter a|..|z|A|..|Z digit 0|..|9 大写和小写字母是有区别的 空格由空白、换行符和制表符组成。空格通常被忽略,除了它必须分开ID、NUM关键字。 注释用通常的C语言符号/ * . . . * /围起来。注释可以放在任何空白出现的位置 即注释不能放在标记内 上,且可以超过一行。注释不能嵌套 说明:当输入的字符使DFA到达接受状态的时候,则可以确定一个单词了。初始状态设置为START,当需要得到下一个token时,取得次token的第一个字符,并且按照DFA与对此字符的类型分析,转换状态。重复此步骤,直到DONE为止,输出token类型。当字符为“/”时,状态转换为SLAH再判断下一个字符,如果为“*”则继续转到INCOMMENT,最后以“*”时转到ENDCOMMENT状态,表明是注释,如果其他的则是字符停滞于当前字符,并且输出“/”。 2.1.2程序流程图 2.1.3 各文件或函数的设计说明 扫描程序用到:scanner.h,scanner.cpp scanner.h:声明词法状态,词法分析 //DFA中的状态 typedef enum START 1, INNUM, INID, INDBSYM, DONE DFAState; //定义的Token的类型 31种 ,分别对应于else、if、int、return、void、while、+、-、*、/、 、 、 、 、 、! 、 、;、,、 、 、[、]、 、 、/*、*/、num、id、错误、结束 typedef enum ELSE 1,IF,INT,RETURN,VOID,WHILE, PLUS,MINUS,TIMES,OVER,LT,LEQ,GT,GEQ,EQ,NEQ,ASSIGN,SEMI,COMMA,LPAREN,RPAREN,LMBRACKET,RMBRACKET,LBBRACKET,RBBRACKET,LCOMMENT,RCOMMENT, NUM,ID,ERROR,ENDFILE TokenType; //定义的Token结构体,包括类型、对应的串、所在代码的行号 struct Token TokenType tokenType; string tokenString; int lineNo; ; //每种TokenType对应的串,如tokenTypeString[ELSE] ELSE const string tokenTypeString[32] OTHER, ELSE, IF, INT, RETURN, VOID, WHILE, PLUS, MINUS, TIMES, OVER, LT, LEQ, GT, GEQ, EQ, NEQ, ASSIGN, SEMI, COMMA, LPAREN, RPAREN, LMBRACKET, RMBRACKET, LBBRACKET, RBBRACKET, LCOMMENT, RCOMMENT, NUM, ID, ERROR, ENDFILE ; class Scanner:定义scanner.cpp中函数 scanner.cpp文件函数说明 void Scanner :: scan :设置输出结果界面以及设置各种输出状态。 if scanSuccess false cout 词法分析出错! endl; else cout 词法分析成功了! endl; printToken ;/*输出Token到文件Token.txt中*/ //正在删除注释 void Scanner :: deleteCommen
您可能关注的文档
- 毕业设计论文-《双城记》中卡顿的悲剧英语论文.doc
- 毕业设计论文-《华西都市报》城管刻板印象研究.doc
- 毕业设计论文-2×660mw超超临界(上大压小)燃煤机组扩建工程电厂化学部分设计说明书.doc
- 毕业设计论文-2×600mw机组烟气系统施工方案.doc
- 毕业设计论文-2cr13活塞杆的热处理工艺设计课程设计论文.doc
- 毕业设计论文-4s店销售管理总设计.doc
- 毕业设计论文-3mwp光伏电站工程项目施工组织设计.doc
- 毕业设计论文-7万吨年500~6000目超细蒙脱石球磨分级生产线工艺流程设计粉体材料课程设计.doc
- 毕业设计论文-5+1档轿车手动变速箱设计说明书.doc
- 毕业设计论文-8t载货汽车后桥鼓式制动器及其控制系统的设计.doc
- 毕业设计论文-co对吸烟的危害数学建模论文.doc
- 毕业设计论文-cro企业发展策略研究论文.doc
- 毕业设计论文-co气体浓度监测仪设计单片机原理及接口技术课程设计.doc
- 毕业设计论文-dak公司的营销决策simmarketing市场营销模拟实验报告专业课综合实验.doc
- 毕业设计论文-dspbuilder的am2ask2fsk信号调制的实现.doc
- 毕业设计论文-dvd在线租赁数学建模论文.doc
- 毕业设计论文-dvd租赁优化数学建模论文.doc
- 毕业设计论文-cm6132机械系统设计课程设计精密车床主轴箱及变速箱系统设计.doc
- 毕业设计论文-eva-mva方法在上市公司业绩评价中的运用-以方正科技公司为例.doc
- 毕业设计论文-eva在企业绩效评价中的作用研究eva在我国商业银行绩效评价中的应用论文.doc
最近下载
- 电力市场分析软件:PLEXOS二次开发_(18).与其他软件系统的集成.docx VIP
- PLEXOS for Renewables 可再生能源仿真应用场景.pdf VIP
- 洼田饮水评分操作要点.pptx VIP
- 涉密工程必威体育官网网址工作方案(3篇).docx VIP
- 2023年第37届中国化学奥林匹克决赛试题完整版(两套含答案解析) .pdf VIP
- 2025年顶管施工试题及答案.docx
- 中国共产党党内监督条例_学习解读ppt完整版.pptx VIP
- 光大金瓯资产管理有限公司招聘笔试题库2024.pdf
- 电力市场分析软件:PLEXOS二次开发_(16).风险评估与管理.docx VIP
- 新凯来光学技术笔试题.docx VIP
文档评论(0)