《编译原理》课程简介 (26).pdf
《《编译原理》课程简介 (26).pdf》由会员分享,可在线阅读,更多相关《《编译原理》课程简介 (26).pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编 译 原 理 C O M P I L A T I O N P RIN C IP LE 第四章 语法分析-自上而下分析4.4.1 递归子程序的原理4.4.1 递归子程序的原理一、递归子程序法的原理:n对文法中每个非终结符U(它们代表一定的语法成分)都编出一个子程序,以完成该非终结符号所对应的语法成分的分析和识别任务。n每个非终结符号的子程序功能是:用该非终结符的产生式规则右部符号串去匹配输入串。注:可匹配任何终结符,但搜索指针不前进。n使用自上而下的方法时前提是:p消除左递归;p提取公共左因子。4.4.1 递归子程序的原理n当一个文法满足LL(1)条件时,我们就可以为它构造一个不带回溯的自上而
2、下分析程序,这个分析程序是由一组递归过程组成的,每个过程对应文法的一个非终结符。这样的一个分析程序称为递归下降分析器。n如果用某种高级语言写出所有递归过程,那就可以用这个语言的编译系统来产生整个的分析程序。4.4.1 递归子程序的原理n例如,考虑文法:E TEE+TE|T FT T*FT|F(E)|in它的每个非终结符都有对应的递归过程,在分析过程中,当需要从某个非终结符出发进行展开时,就调用这个非终结符对应的子程序。4.4.1 递归子程序的原理n几个全局过程和变量ADVANCE是指把输入串指示器IP调至指向下一个输入符号SYM是指IP当前所指的那个输入符号ERROR为出错诊察处理程序4.4.
3、1 递归子程序的原理n对应的递归过程如下PROCEDURE E;BEGIN T;E ENDPROCEDURE E;IF SYM=+THEN BEGIN ADVANCE;T;EEND4.4.1 递归子程序的原理PROCEDURE T;BEGINF;TENDPPROCEDURE T;IF SYM=*THENBEGIN ADVANCE;F;TEND4.4.1 递归子程序的原理PROCEDURE F;IF SYM=i THEN ADVANCE ELSE IF SYM=(THEN BEGIN ADVANCE;E;IF SYM=)THEN ADVANCE ELSE ERROR END ELSE ERROR;|编译原理谢 谢Thanks
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译原理 编译原理课程简介 26 编译 原理 课程 简介 26
限制150内