编译原理 第四章语法分析 上海交通大学 张冬茉 Email: zhang-dm(acs situ. edu.cn 2004年3月
1 编译原理 第四章 语法分析 上海交通大学 张冬茉 Email:zhang-dm@cs.sjtu.edu.cn 2004年3月
本章目的 描述程序语言的语法结构,需借助 于上下文无关文法。文法是描述程序语 言的依据,也是编译的依据。识别上下 文无关文法所生成的语言的方法是语法 分析的关键。本章的目的是研究这些方 法
2 本章目的 描述程序语言的语法结构,需借助 于上下文无关文法。文法是描述程序语 言的依据,也是编译的依据。识别上下 文无关文法所生成的语言的方法是语法 分析的关键。本章的目的是研究这些方 法
第四章语法分析 §4.1语法分析概述 词法分析器按词法规则将输入字符串识别 为单词符号流,这些单词符号便是上下文无关 文法中的终结符。 语法分析器的任务,是把由这些终结符组 成的有限列序,作为语法分析器的输入串,按 文法规则,识别它是否构成了合法的句子(程 序),并对语法分析中发现的错误,作出必要的 处理
3 第四章 语法分析 §4.1 语法分析概述 词法分析器按词法规则将输入字符串识别 为单词符号流,这些单词符号便是上下文无关 文法中的终结符。 语法分析器的任务,是把由这些终结符组 成的有限列序,作为语法分析器的输入串,按 文法规则,识别它是否构成了合法的句子(程 序),并对语法分析中发现的错误,作出必要的 处理。
语法分析器与词法分析器和语义分析 器的关系 如果语法分析器作为单独一遍,通常以分析 树的形式作为其输出,供语法分析的后续阶段 继续分析。如果语法分析与语义分析,中间代 码生成构成一遍,则每当识别一个文法结构时, 就调用相应分析程序,并生成中间代码,因此 输出为中间代码形式
4 语法分析器与词法分析器和语义分析 器的关系 如果语法分析器作为单独一遍,通常以分析 树的形式作为其输出,供语法分析的后续阶段 继续分析。如果语法分析与语义分析,中间代 码生成构成一遍,则每当识别一个文法结构时, 就调用相应分析程序,并生成中间代码,因此 输出为中间代码形式。
语法分析的方法 通常有两类,即自上而下分析方法和自下 而上分析方法,或称为自顶向下top-down)和 自底向上( bottom-up)分析方法。它们都要判断 输入串是否为一合法句子
5 语法分析的方法 通常有两类,即自上而下分析方法和自下 而上分析方法,或称为自顶向下(top-down)和 自底向上(bottom-up)分析方法。它们都要判断 一输入串是否为一合法句子。