编译原理与技术讲义-第5章.ppt

编译原理与技术讲义-第5章.ppt

编译原理与技术 主要内容 自底向上语法分析概述 算符优先分析方法 LR分析方法 LALR分析器的生成工具yacc 5.1 自底向上语法分析概述 自底向上语法分析器的体系结构 本书介绍的自底向上的语法分析器明显地使用一个栈结构来执行语法分析 5.1 自底向上语法分析概述 包括四个组成: 记录语法分析信息和过程的语法分析栈; 被分析的输入符号串; 语法分析控制程序 表达文法结构和存储控制信息的语法分析表。 5.1 自底向上语法分析概述 控制程序自左向右地逐个扫描输入字符,对每一个分析栈元素和输入符号的二元组X,a,根据不同的语法分析表,执行下列四个动作之一: (1)移进 把输入串当前符号a读入栈顶,并把指针指向下一个输入符号; (2)规约 把自栈顶X向下的若干符号串用某个产生式的左端非终结符替换; (3)接受 宣布语法分析成功,此时栈指针指向栈内的维一符号——文法开始符,输入串指针指向结束符号$; (4)出错 发现源程序有错,调用出错处理程序。 由于自底向上语法分析的基本动作是移进输入字符或者归约符号串,有时也称之为移进-归约分析。 5.1 自底向上语法分析概述 5.1 自底向上语法分析概述 5.1 自底向上语法分析概述 有两个基本问题值得探讨: (1)如何确定是执行移进还是归约操作? 例如,当前输入符号同样是+,在第(5)行是移入栈顶的操作,而第(2)、(

文档评论(0)

1亿VIP精品文档

相关文档