每种程序设计语言都有描述程序语法结构的规则。例如,Pascal程序由程序块(又叫分程序)构成,程序块由语句组成,语句由表达式组成,表达式由记号组成等等。这些规则可以用上下文无关文法或BNF范式(Backus-Naur Form)描述。 编译器常用的文法分析方法有自上而下和自下而上两种。正如它们的名字所示,自上而下分析器建立分析树是从根结点到叶结点,而自下而上分析器恰好反过来。它们的共同点是从左向右地扫描输入,每次一个符号。 最有效的自上而下和自下而上的分析法都只能处理上下文无关文法的子类。这些子类足以描述程序设计语言的大多数语法结构,其中LL文法的分析器通常用手工实现,而LR文法的分析器通常利用自动工具构造。 本章致力于编译器采用的典型语法分析方法。我们首先提出有关上下文无关文法的基本概念,然后介绍适合于手工实现的预测分析技术,最后给出自动工具用的LR分析算法。由于程序员准备的代码经常会出现一些语法错误,因此我们还扩展所介绍的分析方法,使之能从常见的错误中恢复过来。 3.1 上下文无关文法 ..... 3.4 自下而上分析 3.6 二义文法的应用
上传时间: 2013-12-25
上传用户:hanli8870
是有关稀疏矩阵加减乘的一个程序,,数据结构实验书上的题目.
上传时间: 2015-10-21
上传用户:李彦东
简单C++程序 从结构到类 类的定义 对象的定义 构造函数 对象成员初始化 this指针
上传时间: 2014-01-27
上传用户:凌云御清风
结构化异常处理是一种操作系统提供的机制,用来优化程序的结构,提供更加健壮的程序执行环境.
上传时间: 2013-12-31
上传用户:妄想演绎师
简单的泊车程序,数据结构课程的实验.理解栈和队列的逻辑结构和存储结构,进一步提高使用理论知识指导解决实际问题的能力。
上传时间: 2014-01-10
上传用户:ryb
本程序的结构原理如下: 对于每一个用户的请求(Internet 请求,由浏览器发出),本程序将启动两个线程,一个把本地用户的请求数据发送到远程的Internet主机,另一个线程把远程主机的回应数据发送到本地请求用户。
上传时间: 2016-04-14
上传用户:xg262122
一个用java开发的电子相册程序,代码结构清晰易懂.
上传时间: 2016-04-15
上传用户:
vhdl语言的程序基本结构,很有用的资料,结好了很多程序源代码
上传时间: 2016-04-17
上传用户:agent
利用89s51单片机和2个374实现6个LED时钟显示。程序代码结构很清晰,很好懂。
上传时间: 2013-12-22
上传用户:sevenbestfei
分为5个部分: 3.1 M文件 3.2 程序控制结构 3.3 函数文件 3.4 程序举例 3.5 程序调试
上传时间: 2016-07-08
上传用户:cazjing