- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理第14章-pl0要点
PL/0 编译程序的语法分析 分析方法 借助于PL/0的语法描述图或EBNF表示进行 自顶向下分析 合法的PL/0程序都可以对应一棵自顶向下构 造的语法分析树 语法分析树的根节点为程序,叶节点为构 成源程序的单词,每个内部节点代表构成源 程序的各种不同的语法单位 PL/0 编译程序的语法分析 VAR A; BEGIN READ(A) END. 程序 自顶向下分析举例 分程序 . 变量说明部分 语句 标识符 VAR ; 复合语句 语句 BEGIN END 读语句 ( ) 标识符 READ A A 自顶向下进行 递归下降分析 PL/0 编译程序的语法分析 实现方法 递归子程序法 可以自然实现递归下降分析过程 每个语法单位都对应一个分析子程序,其设 计基于该语法单位的语法描述图或EBNF表示 递归下降分析过程从调用语法单位程序对 应的子程序开始,运行时的调用关系反映了 语法分析树的结构 PL/0 编译程序的语法分析 递归子程序的设计 沿语法分析图箭头所指方向进行如下工作: 遇到一个语法单元,调用相应的子程序 遇到一个词法单位,则判断当前读入的单词 是否与该词法单位相匹配,若匹配,再读取 下一个单词继续分析;若不匹配,则进行出 错处理 利用EBNF的方法与此相似 PL/0 编译程序的语法分析 递归子程序的设计实例 表达式 ::= [ + | - ] 项 {( + | - ) 项 } int expression(…) { if (sym==plus || sym==minus) {/* 此时表达式被看作正的或负的项 */ getsym(); term (…); /* 处理项 */ } else /* 此时表达式被看作项的加减 */ { term (…); /* 处理项 */ } while (sym==plus || sym==minus) { getsym; term (…); /* 处理项 */ } return 0; } PL/0 编译程序的语法分析 递归子程序的设计实例 项 ::= 因子 { (* | / ) 因子 } int term(…) { factor(…); /*处理因子*/ while (sym==times || sym==slash) { getsym(); factor (…); /* 处理因子 */ } return 0; } PL/0 编译程序的语法分析 递归子程序的设计实例 因子 ::= 标识符 | 无符号整数 | ‘(’ 表达式 ‘)’ int factor (…) { if (sym==ident) {/* 因子为常量或变量 */ getsym(); else if (sym==number) /*因子为立即数*/ getsym(); else if (sym==lparen); /* 因子为立即数*/ { expression(…); if (sym==rparen) getsym(); else error(22); /*提示22号出错信息:缺少右括号*/ } return 0; } PL/0 编译程序的语法分析 PL/0 语法分析程序入口 程序 ::= 分程序 . int main() { … /*初始化*/ … /*读写文件*/ getsym(); block(…) /* 处理分程序*/ … if (sym != period) error(9); /*提示 9 号出错信息:缺少程序结束符’.’*/ … return 0; } PL/0 编译程序的语法分析 主要语法单位相应子程序之间的调用关系 PL/0 编译程序的语义分析 功能 借助符号表进行上下文相关的静态语义分析 确保符号表可
您可能关注的文档
- 综合实验说明.ppt
- 维护女职工的合法权益.ppt
- 第四章物质的形态及其变化.doc
- 综合布线系统方案.doc
- 综合布线系统开提报告+倪琳琳.ppt
- 第四章氧化还原滴定法.ppt
- 第四章犯罪现象.pptx
- 综合布线系统施工作业标准.doc
- 第四章特写:镜头式的新闻片段.ppt
- 第四章犯罪的概念与特征.pptx
- 2026年中国能源建设集团辽宁电力勘测设计院有限公司招聘备考题库及一套完整答案详解.docx
- 2026年中物流建设开发(北京)有限公司招聘备考题库及答案详解参考.docx
- 2026年中国电子工程设计院股份有限公司招聘备考题库带答案详解.docx
- 2026年中铝国际贸易集团有限公司招聘备考题库及参考答案详解一套.docx
- 2026年中国联合网络通信有限公司上海市分公司招聘备考题库及一套完整答案详解.docx
- 2026年中国船舶重工集团衡远科技有限公司招聘备考题库含答案详解.docx
- 2026年中国能源建设集团广东电力工程局有限公司招聘备考题库及完整答案详解一套.docx
- 2026年佛冈县石角镇公开招聘新城社区专职网格员备考题库及一套答案详解.docx
- 2026年华创证券有限责任公司上海分公司招聘备考题库有答案详解.docx
- 2026年中国科学院声学研究所南海研究站招聘备考题库有答案详解.docx
最近下载
- 病态窦房结综合征护理查房.pptx VIP
- 《生物监测》教学课件—01利用水生生物监测水质.ppt VIP
- 光伏工程建设标准强制性条文实施计划方案-范本.pdf VIP
- 青海省西宁市2024-2025学年八年级上学期期末调研测试物理试卷.docx VIP
- JB/T7688.1-2008冶金起重机技术条件第1部分:通用要求.pdf VIP
- 中储粮-内环流控温储粮技术标准-2017.pdf VIP
- 电竞场馆建设规范.pdf VIP
- LST-粮油储藏 内环流储粮技术规程.pdf VIP
- JGJ215-2010:建筑施工升降机安装、使用、拆卸安全技术规程.pdf VIP
- 入党志愿书(全电子版).pdf VIP
原创力文档


文档评论(0)