编译原理 第四章语法分析 自上而下分析
编译原理 第四章 语法分析—— 自上而下分析
编泽原理 语法分折析-自上而下分析 4.1语法分析器的功能 墨语法分析是编译过程的核心部分。它的任务是在词法分 析识别出单词符号串的基础上,分析并判定程序的语法 结构是否符合语法规则。 中间 中间 源程序 编译前端 代码优化 代码生成器 目标程序 代码 代码 符号表 彩2页
编译原理 第2页 语法分析-自上而下分析 4.1语法分析器的功能 语法分析是编译过程的核心部分。它的任务是在词法分 析识别出单词符号串的基础上,分析并判定程序的语法 结构是否符合语法规则。 源程序 编译前端 中间 代码 代码优化 中间 代码 代码生成器 目标程序 符 号 表
编泽原理 语法分析-自上而下分析 语法分析器的工作本质上就是按文法的产生式,识 别输入符号串是否为一个句子。并建立一棵与输入 串相匹配的语法分析树。 墨按照语法分析树的建立方法,可以把语法分析办法 分成两类:一类是自上而下分析法,另一类是自下 而上分析法 第3页
编译原理 第3页 语法分析-自上而下分析 语法分析器的工作本质上就是按文法的产生式,识 别输入符号串是否为一个句子。并建立一棵与输入 串相匹配的语法分析树。 按照语法分析树的建立方法,可以把语法分析办法 分成两类:一类是自上而下分析法,另一类是自下 而上分析法
编泽原理 语法分折-自上而下分析 4.2自上而下分析面临的问题 自上而下分析就是从文法的开始符号出发,向下推 导,推出句子。 自上而下分析的主旨是,对任何输入串,试图用一 切可能的办法,从文法开始符号(根结)出发,自 上而下地为输入串建立一棵语法树。或者说,为输 入串寻找一个最左推导。 这种分析过程本质上是一种试探过程,是反复使用 不同产生式谋求匹配输入串的过程。 第4负
编译原理 第4页 语法分析-自上而下分析 4.2自上而下分析面临的问题 自上而下分析就是从文法的开始符号出发,向下推 导,推出句子。 自上而下分析的主旨是,对任何输入串,试图用一 切可能的办法,从文法开始符号(根结)出发,自 上而下地为输入串建立一棵语法树。或者说,为输 入串寻找一个最左推导。 这种分析过程本质上是一种试探过程,是反复使用 不同产生式谋求匹配输入串的过程
编泽原理 语法分析-自上而下分析 雪例4.1假定有文法 (1)S→XAy (2)A→** (4.1) 以及输入串xy(记为a)。 为了自上而下构造α的语法树,我们首先按文法的开始符号产生根结$, 并让指示器P指向输入串的第一个符号x。然后,用$的规则(此处 关于$的规则仅有一条)把这棵树发展为 第5页
编译原理 第5页 语法分析-自上而下分析 例4.1假定有文法 (1)S→xAy (2)A→**|* (4 .1) 以及输入串x*y(记为α)。 为了自上而下构造α的语法树,我们首先按文法的开始符号产生根结s, 并让指示器IP指向输入串的第一个符号x。然后,用S的规则(此处 关于S的规则仅有一条)把这棵树发展为 S X A Y