- 1、本文档共88页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译器的设计和实现1
编译器的设计与实现;课程描述;一个简单的编译器的设计与实现;1 语言;1.1简单的C 语言的文法;expression→ ID = expression | simple-expression
simple-expression→ additive-expression [ relop additive-expression ]
relop → | = | | = | == | !=
additive-expression→ term [( + | - ) term ]
term→ factor [ ( * | / ) factor ]
factor→ ( expression )| ID | call | NUM
call→ ID( args )
args→ expression { , expression } | empty;1.2程序举例;1.3进一步的扩展;2 目标机器建模;2.1 CPU的设计;2.2存储器组织;;2.3目标机器模型;数据结构;2.4指令系统;指令集举例;目标代码数据结构;大纲;3 编译程序的实现;简单回顾-编译的各个阶段;示例源代码;3.1词法分析;单词符号是什么?;如何表示单词符号?;如何表示单词符号?;示例;词法分析器的实现;S;实现代码; case scanState. INID:
if(!Char.IsLetter(ch)!Char.IsDigit(ch)) { ungetNextChar(); tokType=TokenType.ID; state=scanState.DONE;
}
break;
case scanState.INNUM:
if(!Char.IsDigit(ch)){
ungetNextChar(); tokType=TokenType.NUMBER; state=scanState.DONE;
}
break;
……
} //end_switch
str+=ch; //记录当前正在判断的单词符号串
} //end_while
Token tok= new Token();
tok.TType = tokType; tok.Str = str;
return tok;
};3.2语法分析;简单的C 语言的文法;expression→ ID = expression | simple-expression
simple-expression→ additive-expression [ relop additive-expression ]
relop → | = | | = | == | !=
additive-expression→ term [( + | - ) term ]
term→ factor [ ( * | / ) factor ]
factor→ ( expression )| ID | call | NUM
call→ ID( args )
args→ expression { , expression } | empty;示例;语句if(ab) a = a-b;的语法分析树;对应的语法分析子程序;语法分析树与抽象语法树;语句if(ab) a = a-b;的抽象语法树;3.3抽象语法树与中间表示;抽象语法树 节点表示;;抽象语法树 节点表示;;;示例;语法分析器的实现;语法树节点设计;语法树节点设计;语法分析器的实现;TreeNode var_decl() {
TreeNode retnode, nextnode, curnode; retnode = curnode;
retnode.NType = curnode.NType = NodeType.VarDecl;
While(curtoken.TType!=TokenType.SEMI) {
Switch(curtoken.TType) {
case TokenType.INT:
match(TokenType.INT); break;
Case TokenType.ID:
nextnode.NodeStr = curtoken.str;
//nextnode.IsArray = 0; nextnode.ArraySize = 0; 数组?
curnode.Sibling = nextnode; curnode = nextnode;
match(TokenType.ID); break;
case TokenType.COMMA: match(Toke
您可能关注的文档
- 工程翻斗车特点参数.ppt
- 综合素养评价电子平台.ppt
- 常用抗凝药物种类注意事项.ppt
- 绿色植物光合作用复习课件1.ppt
- 综艺秀杰星[王武]13年五月必威体育精装版资料.ppt
- 综合的管理中心月度工作汇报.ppt
- 常见杀毒软件防火墙比较.ppt
- 常见错用成语病句修改.ppt
- 绿色通道一轮总复习1_3.ppt
- 编写童话习作指教.ppt
- 《GB/Z 44363-2024致热性 医疗器械热原试验的原理和方法》.pdf
- GB/T 16716.6-2024包装与环境 第6部分:有机循环.pdf
- 中国国家标准 GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统.pdf
- 《GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统》.pdf
- GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统.pdf
- 中国国家标准 GB/T 44315-2024科技馆展品设计通用要求.pdf
- GB/T 44305.2-2024塑料 增塑聚氯乙烯(PVC-P)模塑和挤塑材料 第2部分:试样制备和性能测定.pdf
- 《GB/T 44315-2024科技馆展品设计通用要求》.pdf
- GB/T 44315-2024科技馆展品设计通用要求.pdf
- GB/T 39560.9-2024电子电气产品中某些物质的测定 第9 部分:气相色谱-质谱法(GC-MS)测定聚合物中的六溴环十二烷.pdf
最近下载
- 中医科医疗质量持续改进质量管理.docx
- 停电停水的应急预案(6篇).docx VIP
- 理财教材《小狗钱钱》.pdf
- 护理品管圈问题解决型之提高慢性肾功能不全患者饮食指导知晓率.pptx VIP
- 复旦投毒案林森浩(详细的参考资料整理).docx
- Axure RP原型设计图解微课视频教程(Web+App)(刘刚)PPT全套完整教学课件.pptx
- 2024年国家电网招聘之财务会计类题库附参考答案(轻巧夺冠).docx
- 1精益管理倡导者培训.pptx
- 整本书阅读 《朝花夕拾》(同步课件) 七年级语文上册(统编版2024).pptx
- 2024-2029年中国房地产投资行业发展分析及投资风险预警与发展策略研究报告.docx
文档评论(0)