编译原理 Part语法分析.ppt

数据库原理与Oracle——SQL语言 Part4语法分析 授课:胡静 语法分析器的作用 以语法分析器为核心的编译器模型 语法分析器所处的位置 语法分析的例子 语法分析的类比 针对自然语言的语法分析: 识别一个句子是不是符合语法规范识别每一个成分的功能。 语法分析器的作用 接收词法分析器提供的记号串 检查记号串是否能由源程序语言的文法产生 用易于理解的方式提示语法错误信息,并能从常见的错误中恢复过来 语法分析器工作原理 语言的结构是用上下文无关文法描述的,因此,语法分析器的工作本质上就是按照文法的产生式,识别输入符号串是否为一个句子。 语法分析器是从左向右的扫描输入字符串,每次读入一个符号,并判断,看是否能从文法的开始符号出发推导出这个输入串。或者,从概念上讲,就是要建立一棵与输入串匹配的语法分析树。 语法分析器分类 通用的语法分析方法,用来分析任何文法,生成编译器时效率太低 编译器使用的语法分析方法—处理文法的一些子类 自顶向下(建立分析树)—LL文法,其分析器常用手工实现 自底向上(建立分析树)—LR文法,其分析器常利用自动生成工具构造 自顶向下分析面临的困难 自顶向下分析面临的困难 自顶向下分析的主旨是,对任何输入串,试图用一切可能的办法,从文法的开始符号(根结)出发,自顶向下的为输入串建立一棵语法树。 这种分析过程本质上是一种试探过程,是反复使用不同产生式谋求匹配输

文档评论(0)

1亿VIP精品文档

相关文档