当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

南京大学:《编译原理》课程教学资源(PPT课件讲稿)第五章 语法分析——自底向上分析技术(1/2)

资源类别:文库,文档格式:PPT,文档页数:131,文件大小:436.5KB,团购合买
概论 从输入符号出发,试图把它规约成识别符号。每一步都寻找特定得某个类型的短语(一般是简单短语)进行规约。 在分析过程中,每次规约的都是最左边的简单短语(或其它短语)。从语法树的角度,以输入符号为树的末端结点,试图向根结点方向往上构造语法树。
点击下载完整版文档(PPT)

编译原理讲义 (第五章:语法分析 自底向上分析技术) 南京大学计算机系 赵建华

编译原理讲义 (第五章:语法分析-- 自底向上分析技术) 南京大学计算机系 赵建华

概论 从输入符号出发,试图把它规约成识别 符号。每一步都寻找特定得某个类型的 短语(一般是简单短语)进行规约 在分析过程中,每次规约的都是最左边 的简单短语(或其它短语) 从语法树的角度,以输入符号为树的末 端结点,试图向根结点方向往上构造语 法树

概论 • 从输入符号出发,试图把它规约成识别 符号。每一步都寻找特定得某个类型的 短语(一般是简单短语)进行规约。 • 在分析过程中,每次规约的都是最左边 的简单短语(或其它短语)。 • 从语法树的角度,以输入符号为树的末 端结点,试图向根结点方向往上构造语 法树

基本问题 如何找出进行直接规约的简单短语? 将找到的简单短语规约到哪个非终结符 号

基本问题 • 如何找出进行直接规约的简单短语? • 将找到的简单短语规约到哪个非终结符 号?

讨论前提 和自顶向下技术同样,不考虑符号的具 体构成方式 文法是压缩了的 识别过程是从左到右,自底向上进行的。 般都采用规范规约:每一步都是对句 柄进行规约(特例除外)

讨论前提 • 和自顶向下技术同样,不考虑符号的具 体构成方式。 • 文法是压缩了的。 • 识别过程是从左到右,自底向上进行的。 一般都采用规范规约:每一步都是对句 柄进行规约(特例除外)

基本方法 基本都采用移入规约方法 使用一个栈来存放规约得到的符号 在分析的过程中,识别程序不断地移入 符号。移入的符号暂时存放在一个栈中 日在已经移入的(和规约得到的)符 号串中包含了一个句柄时,将这个句柄 规约成为相应的非终结符号

基本方法 • 基本都采用移入-规约方法。 • 使用一个栈来存放规约得到的符号。 • 在分析的过程中,识别程序不断地移入 符号。移入的符号暂时存放在一个栈中。 一旦在已经移入的(和规约得到的)符 号串中包含了一个句柄时,将这个句柄 规约成为相应的非终结符号

基本方法(续) 规约中的动作有4类 移入:读入一个符号并把它规约入栈 规约:当栈中的部分形成一个句柄(栈顶的 符号序列)时,对句柄进行规约 接受:当栈中的符号仅有#和识别符号的时 候,输入符号也到达结尾的时候,执行接受 动作 当识别程序觉察出错误的时候,表明输入符 号串不是句子。进行错误处理

基本方法(续) • 规约中的动作有4类 – 移入:读入一个符号并把它规约入栈。 – 规约:当栈中的部分形成一个句柄(栈顶的 符号序列)时,对句柄进行规约。 – 接受:当栈中的符号仅有#和识别符号的时 候,输入符号也到达结尾的时候,执行接受 动作。 – 当识别程序觉察出错误的时候,表明输入符 号串不是句子。进行错误处理

例子 文法G5.1E]:E:=E+E*E(E 输入符号串 已处理符号未处理符号句型句柄规则 *1+1i E∴=i EE i+1 E*+i E*i+i E E*+i1 E∷=1 ERE +++ EE+I EE E:EE E E+ E+i E+i E∷=1 E+E E+EE+EE∷三E+E E

例子 i *i+i i*i+i i E::=i E *i+i E*i+i E* i+i E*i+i E*i +i E*i+i i E::=i E*E +i E*E+i E*E E::=E*E E +i E+i E+i E+i i E::=i E+E E+E E+E E::=E+E E 文法G5.1[E]: E::=E+E|E*E|(E) 输入符号串:i*i+i 已处理符号 未处理符号 句型 句柄 规则

例子的解释 当栈中的符号的栈顶部分还不能形成句柄时, 进行移入操作。 旦发现栈顶部分形成了句柄的时候,对该句 柄进行规约。将句柄出栈,然后将规约得到的 非终结符号压栈。 如果输入是句子,则栈中的符号(从底到上) 和未处理的符号组成句型。 在例子中,发现句柄和规约是人为干预的结果。 所以移入-规约不是实际可运行的技术,而是技 术的模板

例子的解释 • 当栈中的符号的栈顶部分还不能形成句柄时, 进行移入操作。 • 一旦发现栈顶部分形成了句柄的时候,对该句 柄进行规约。将句柄出栈,然后将规约得到的 非终结符号压栈。 • 如果输入是句子,则栈中的符号(从底到上) 和未处理的符号组成句型。 • 在例子中,发现句柄和规约是人为干预的结果。 所以移入-规约不是实际可运行的技术,而是技 术的模板

简单优先分析技术 基本思想: 每次察看句型中相邻的两个符号。通过两个符号 的关系判定出前一个符号是句柄的尾。然后,反 向找出句柄的头。这样我们就找到了一个句柄 S0…S}:1SS+1Sj+2……S:1SS+1…Sn

简单优先分析技术 • 基本思想: – 每次察看句型中相邻的两个符号。通过两个符号 的关系判定出前一个符号是句柄的尾。然后,反 向找出句柄的头。这样我们就找到了一个句柄。 S0…Sj-1SjSj+1Sj+2… …Si-1SiSi+1…Sn U

简单优先分析技术(基本思想续) 我们要通过两个相邻符号SS1之间的关系来找到 句柄: SS1在句柄内:必然有规则U∷=.S;S1 S在句柄内部,但是S1在句柄之后:必然有规 则U:=S1,且存在规范句型.US1 如果S1在句柄内,而S在句柄外,那么必然存 在规范句型..SU.,且U:=S1…

简单优先分析技术(基本思想续) • 我们要通过两个相邻符号SiSi+1之间的关系来找到 句柄: – SiSi+1在句柄内:必然有规则U::=…SiSi+1… – Si在句柄内部,但是Si+1在句柄之后:必然有规 则U::=…Si,且存在规范句型…USi+1…。 – 如果Si+1在句柄内,而Si在句柄外,那么必然存 在规范句型…SiU…,且U::=Si+1…

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共131页,可试读30页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有