214语法分析、自上而下分析 本章主要介绍语法分析的处理 要进行语法分析,必须对语言的语法结 构进行描述。 ●采用正规式和有限自动机可以描述和识别语 言的单词符号; 用上下文无关文法来描述语法规则
2.4 语法分析—自上而下分析 本章主要介绍语法分析的处理 要进行语法分析,必须对语言的语法结 构进行描述。 ⚫ 采用正规式和有限自动机可以描述和识别语 言的单词符号; ⚫ 用上下文无关文法来描述语法规则
2.4.1语法分析器的功能 语法分析的任务是分析一个文法的句子 结构 语法分析器的功能:按照文法的产生式 (语言的语法规则),识别输入符号串是 否为一个句子(合式程序)
2.4.1 语法分析器的功能 语法分析的任务是分析一个文法的句子 结构。 语法分析器的功能:按照文法的产生式 (语言的语法规则),识别输入符号串是 否为一个句子(合式程序)
单词符号 语法分 源程序词法分 语法分析树编译程序 析器 取下一单词 析器 后续部分 符号表
源程序 单词符号 取下一单词 ... 语法分 词法分 析树 析器 语法分 析器 符号表 编译程序 后续部分
定义:假定G是一个文法,S是它的开始符号 如果s=则a称是一个句型。仅含终结 符号的句型是一个句子。文法G所产生的句子的 全体是一个语言,将它记为L(G)。 L(G)={c1S→c,c∈I}
* S ( ) { | , } * VT L G = S + ❑定义:假定G是一个文法,S 是它的开始符号。 如果 ,则称是一个句型。仅含终结 符号的句型是一个句子。文法G所产生的句子的 全体是一个语言,将它记为 L(G)
●语法分析的方法: 自下而土分析法( Bottom-up) 基本思想:从输入串开始,逐步进行“归约”, 直到文法的开始符号。即从树末端开始,构造语 法树。所谓归约,是指根据文法的产生式规则, 把产生式的右部替换成左部符号。 ●算符优先分析法:按照算符的优先关系和结合性质 进行语法分析。适合分析表达式。 LR分析法:一种更一般的自下而上分析法
语法分析的方法: ⚫ 自下而上分析法(Bottom-up) 基本思想:从输入串开始,逐步进行“归约” , 直到文法的开始符号。即从树末端开始,构造语 法树。所谓归约,是指根据文法的产生式规则, 把产生式的右部替换成左部符号。 ⚫ 算符优先分析法:按照算符的优先关系和结合性质 进行语法分析。适合分析表达式。 ⚫ LR分析法:一种更一般的自下而上分析法