compiler4 - 1 编译原理 第四章 语法分析...

Info icon This preview shows pages 1–10. Sign up to view the full content.

View Full Document Right Arrow Icon
1 编译原理 第四章 语法分析 上海交通大学 张冬茉 Email:[email protected] 2015 3
Image of page 1

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
2 本章目的 描述程序语言的语法结构,需 借助于上下文无关文法。文法是描述 程序语言的依据,也是编译的依据。 识别上下文无关文法所生成的语言的 方法是语法分析的关键。本章的目的 是研究这些方法。
Image of page 2
3 第四章 语法分析 §4.1 语法分析概述 词法分析器按词法规则将输入字符串 识别为单词符号流,这些单词符号便是上下 文无关文法中的终结符。 语法分析器的任务,是把由这些终结 符组成的有限列序,作为语法分析器的输入 串,按文法规则,识别它是否构成了合法的 句子 ( 程序 ) ,并对语法分析中发现的错误, 作出必要的处理。
Image of page 3

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
4 语法分析器与词法分析器和语义分 析器的关系 如果语法分析器作为单独一遍,通常以 分析树的形式作为其输出,供语法分析的后 续阶段继续分析。如果语法分析与语义分析 ,中间代码生成构成一遍,则每当识别一个 文法结构时,就调用相应分析程序,并生成 中间代码,因此输出为中间代码形式。
Image of page 4
5 语法分析的方法 通常有两类,即自上而下分析方法和自 下 而 上 分 析 方 法 , 或 称 为 自 顶 向 下 (top- down) 和自底向上 (bottom-up) 分析方法。它 们都要判断一输入串是否为一合法句子。
Image of page 5

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
6 对自上而下分析来说,能否找到从文法开始 符开始的推导序列,使得推导出的句子恰为 输入串。或者说,能否从根结点出发,向下 生长出一棵语法分析树,其叶结点组成的句 子恰为输入串。显然语法分析树的每一步生 ( 每一步推导 ) 都以能否与输入串匹配为准 对自下而上分析来说,能否从输入串出发找 到一个归约序列,能最终地归约为文法开始 符。或者说,能否从叶结点出发,向上归结 出以文法开始符为根结点的语法分析树,每 一步的归约,都以待处理的字符串是否已形 成句柄 ( 或最左素短语 ) 为准。
Image of page 6
7 §4.2 递归下降分析方法 递归下降分析法是一种自顶向下 的分析方法,文法的每个非终结符,对 应于一个递归过程。分析就是从方法开 始符出发执行一组递归过程,向下推导 ,直到推导出句子。或者说从根结点出 发,自上而下为输入串寻找一个最左匹 配序列,建立一棵语法分析树
Image of page 7

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
8 一、试探分析法 [ 4.1] 文法 S->xAy A->ab | a 若输入串为 xay 时,分析过程为: (1) 首先建立根结点 S (2) 文法关于 S 的产生式只有一个,所以从 S 生长分析树如图 4.1(a) 。它的第一个终结符 x 与输入串待分析字符 x 匹配,于是下一待分 析字符为 a ,期待与分析树中 x 右的叶结点 A 匹配。
Image of page 8
9 (3) 非终结符 A 有两个候选式,先选用第一
Image of page 9

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 10
This is the end of the preview. Sign up to access the rest of the document.