- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《编译原理课程设计》课程报告
题目 C语言词法分析器和C-语言语法分析器
学生姓名
学生学号
指导教师
提交报告时间 2019 年 6 月 8 日
C语言词法分析器C语言词法
掌握构造DFA的过程
掌握利用DFA实现C语言的词法分析器
理解编译器词法分析的工作原理
2 词法特点及正则表达式
2.1词法特点
2.1.1 保留字
AUTO, BREAK , CASE , CHAR , CONST ,
CONTINUE , DEFAULT , DO , DOUBLE , ELSE,
ENUM , EXTERN , FLOAT , FOR , GOTO,
IF , INT , LONG , REGISTER , RETURN,
SHORT , SIGNED , SIZEOF , STATIC , STRUCT ,
SWITCH , TYPEDEF , UNION , UNSIGNED , VOID,
VOLATILE , WHILE,
2.1.2 符号
+ - * / ++ -- += -= *= = = == != = ; , ( ) [ ] { } /* */ :
2.2 正则表达式
whitespace = (newline|blank|tab|comment)+
digit=0|..|9
nat=digit+
signedNat=(+|-)?nat
NUM=signedNat(“.”nat)?
letter = a|..|z|A|..|Z
ID = letter(letter|digit|“_”)+
CHAR = other+ STRING = “other+”
3 Token定义
3.1 token类型
保留字 auto break case char const continue default do double elseenum extern float for gotoif int long redister returnshort signed sizeof static struct switch typedef union unsigned void volatile while 特殊符号 + - * / ++ -- += -= *= = = == != = ; , ( ) [ ] { } /* */ : 文件结束、错误 EOF ERROR 其它token NUM ID CHARACTER STRING
3.2 tokenType类型代码
4 DFA设计
4.1 注释的DFA设计
注释的DFA如下所示,一共分为5个状态,在开始状态1时,如果输入的字符为/,
则 进入状态2,此时有可能进入注释状态,如果在状态2时,输入的字符为*,则进入注释状态,状态将转到3,如果在状态3时,输入的字符为*,则有可能结束注释状态,此时状态将转到状态4,如果在状态4时输入的字符为/,则注释状态结束,状态转移到结束 状态。
4.2 词法分析的DFA设计
词法分析的DFA如下所示,一共分为10个状态:START、INNUM、INNUM1、INNUM2、INID、INCOMPARE、INOPERATE、INSTRING、INCHAR、DONE。状态START表示开始状态,状态INNUM,INNUM1,INNUM2表示数字类型(NUM)Token的状态,状态INID表示标示符(ID)类型Token的状态,状态INOPERATE表示算数运算符型Token的状态,状态INOCOMPARE表示比较运算符型Token的状态,INSTRING表示字符串(STRING)
您可能关注的文档
- 8伏稳定开关电源模块的设计-大学毕业论文设计.doc
- 27米单层厂房梯型钢屋架课程设计论文正文论文-大学毕业论文设计.doc
- 30℃时水吸收二氧化硫填料塔的设计课程设计论文正文论文报告-大学毕业论文设计.doc
- 30kw出口三相异步电机设计大学-大学毕业论文设计.doc
- 66kv绥林变电站增容改造工程监理规划-大学毕业论文设计.doc
- 85个拓展培训项目介绍-大学毕业论文设计.doc
- 110kv输电线路零序电流保护设计课程设计论文正文论文-大学毕业论文设计.doc
- 250k屋顶光伏并网发电系统技术方案防逆流-大学毕业论文设计.doc
- 330wm亚临界供热机组全厂原则性热力计算课程设计-大学毕业论文设计.doc
- 400吨每炉天然气铜精炼回转炉系统设计课程设计论文正文论文说明书-大学毕业论文设计.doc
- eq1061型载货汽车变速器取力器设计说明书-大学毕业论文设计.doc
- fda批准前现场检查的政策要求及实施—概述-大学毕业论文设计.doc
- fidic合同条件下工程变更引起索赔研究-大学毕业论文设计.doc
- fidic施工合同下缺陷通知期内业主的索赔研究-大学毕业论文设计.doc
- flash物理多媒体课件-大学毕业论文设计.doc
- gsm无线网络设计与优化-大学毕业论文设计.doc
- hermite插值的上机实现及应用课程设计论文正文-大学毕业论文设计.doc
- javaatm机银行存取款系统的设计与实现-大学毕业论文设计.doc
- jna型米粉挤丝机零部件的设计-大学毕业论文设计.doc
- mro工业品超市服务因素对客户购买的影响研究以ll工业品超市为例-大学毕业论文设计.doc
最近下载
- 发育生物学教学课件08-1 原肠作用.ppt VIP
- 【中考真题】2025年安徽省中考数学试题(含解析).docx VIP
- 2025年职业资格大学辅导员笔试-笔试参考题库含答案解析(5套试卷).docx VIP
- 一种电池模组手动入箱定位及导向机构.pdf VIP
- 边立新:《路德维希·费尔巴哈和德国古典哲学的终结》导读.ppt VIP
- 纳米氢氧化镁晶须的制备及其分散性研究.docx VIP
- 肥厚型心肌病护理查房.pptx VIP
- 2025年内河码头行业现状分析报告及未来五至十年发展前景预测报告.docx
- 领导德性量表的编制.docx VIP
- 石化受限空间作业标准化管理方案-图文并茂版.pptx VIP
文档评论(0)