- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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.pptx
- 株洲市2016届高三年级教学质量统一检测历史试题及答案.doc
- 标准层轮扣式脚手架支模方案.doc
- 校平机文字说明.doc
- 校长专业素养85.ppt
- 样条曲线插值法.ppt
- Photoshop技巧—形状.ppt
- 核心与必考词汇.doc
- 核电厂质量控制.ppt
- 核级焊接材料验收.doc
- 备战高考语文 作文高分素材运用 裔科学家、诺贝尔物理学奖获得者李政道去世.pdf
- 备战高考语文 作文高分素材运用 “世界第一”与“世界唯一”的“祖孙之战”观奥运会上的传承与超越.pdf
- 备战高考语文 作文高分素材运用 想化的青年——获两金一银的乒乓球奥运冠军孙颖莎.pdf
- 备战高考语文 作文高分素材运用 牢山爆火+电视剧《山花烂漫时》好评如潮.pdf
- 备战高考语文 作文高分素材运用 念我国第一颗原子弹爆炸成功六十周年.pdf
- 媒体素养 高考语文全优范文.pdf
- 备战高考语文 作文高分素材运用 万里归途》再现!中国飞机炮火中逆行至黎巴嫩撤侨.pdf
- 备战高考语文 作文高分素材运用 024年诺贝尔文学奖获得者韩江.pdf
- 备战高考语文 作文高分素材运用 国75周年15位国家勋章和国家荣誉称号获得者.pdf
- 备战高考语文 作文高分素材运用 花的精灵——巴黎奥运跳水双冠王全红婵.pdf
最近下载
- 《动画分镜设计》课件——第四章:镜头画面设计.pptx VIP
- 幼儿园餐前播报课件课件(图文).pptx VIP
- 中国肝病诊疗指南(2024版).pdf
- 丰田汽车培训教材-丰田问题解决方法(TBP).ppt VIP
- DB3418T 040-2025五合茶叶生产加工技术规程.pdf VIP
- 人美版小学一年级上册美术《欢快流畅的线》教学PPT课件.pptx VIP
- 4.博物馆、展览馆、陈列馆日常服务、维修施工方案及工艺.docx VIP
- 深度学习:从入门到精通(微课版)PPT全套完整教学课件.pptx
- 幼小衔接20以内凑十法习题PDF打印版.pdf VIP
- 医疗机构医疗质量安全专项整治行动自查自纠报告.docx VIP
文档评论(0)