每种程序设计语言都有描述程序语法结构的规则。例如,Pascal程序由程序块(又叫分程序)构成,程序块由语句组成,语句由表达式组成,表达式由记号组成等等。这些规则可以用上下文无关文法或BNF范式(Backus-Naur Form)描述。 编译器常用的文法分析方法有自上而下和自下而上两种。正如它们的名字所示,自上而下分析器建立分析树是从根结点到叶结点,而自下而上分析器恰好反过来。它们的共同点是从左向右地扫描输入,每次一个符号。 最有效的自上而下和自下而上的分析法都只能处理上下文无关文法的子类。这些子类足以描述程序设计语言的大多数语法结构,其中LL文法的分析器通常用手工实现,而LR文法的分析器通常利用自动工具构造。 本章致力于编译器采用的典型语法分析方法。我们首先提出有关上下文无关文法的基本概念,然后介绍适合于手工实现的预测分析技术,最后给出自动工具用的LR分析算法。由于程序员准备的代码经常会出现一些语法错误,因此我们还扩展所介绍的分析方法,使之能从常见的错误中恢复过来。 3.1 上下文无关文法 ..... 3.4 自下而上分析 3.6 二义文法的应用
资源简介:每种程序设计语言都有描述程序语法结构的规则。例如,Pascal程序由程序块(又叫分程序)构成,程序块由语句组成,语句由表达式组成,表达式由记号组成等等。这些规则可以用上下文无关文法或BNF范式(Backus-Naur Form)描述。 编译器常用的文法分析方法有自...
上传时间: 2013-12-25
上传用户:hanli8870
资源简介:使用verilog作为CPU设计语言实现单数据通路五级流水线的CPU。具有32个通用寄存器、一个程序计数器PC、一个标志寄存器FLAG,一个堆栈寄存器STACK。存储器寻址粒度为字节。数据存储以32位字对准。采用32位定长指令格式,采用Load/Store结构,ALU指令采用三地址...
上传时间: 2013-12-11
上传用户:源弋弋
资源简介:一套非常实用的大型办公自动化程序,程序设计语言为C#,本程序己调试通过
上传时间: 2013-12-25
上传用户:talenthn
资源简介:C程序设计语言 第2版 新版 机械工业的 C程序设计语言 第2版 新版 机械工业的
上传时间: 2014-05-30
上传用户:cmc_68289287
资源简介:( 汇编语言程序设计教程) 这个教程描述详细很好的学习资料 支持源码开放
上传时间: 2013-12-12
上传用户:xfbs821
资源简介:编译原理 语法分析程序设计 [实验目的]: 1.了解语法分析的主要任务。 2.熟悉编译程序的编制。 [实验内容]:根据某文法,构造一基本递归下降语法分析程序。给出分析过程中所用的产生式序列。 全部源码
上传时间: 2014-10-14
上传用户:牛津鞋
资源简介:这是MFC Windows程序设计(第2版)书上的代码。第8章,对话框和属性表的编程,供大家参考。
上传时间: 2014-01-25
上传用户:dancnc
资源简介:这是MFC Windows程序设计(第2版)书上的代码。第11章,MFC和多文档界面,拆分窗口的编程,供大家参考。
上传时间: 2013-12-11
上传用户:xinyuzhiqiwuwu
资源简介:这是MFC Windows程序设计(第2版)书上的代码。第4章,菜单基础,SHAPES应用程序,菜单魔术,COLORS应用程序的编程,供大家参考
上传时间: 2014-12-02
上传用户:离殇
资源简介:这是MFC Windows程序设计(第2版)书上的代码。第3章,从鼠标获取输入,从键盘获取输入,VISUALKB应用程序的编程,供大家参考
上传时间: 2013-12-11
上传用户:星仔