西北工业大学数据库编辑作业资料_第1页
西北工业大学数据库编辑作业资料_第2页
西北工业大学数据库编辑作业资料_第3页
西北工业大学数据库编辑作业资料_第4页
西北工业大学数据库编辑作业资料_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用c语言编译where子句,2008年11月8日,数据库表格,汇编语言基础,文法GS:它可表示成形如(Vt,Vn,P,S)的四元式。其中是非终结符号集,是终结符号集,产生式和开始符号。 递归文法:许多无限的语言仍可用有限个产生式既用有限的文法来描述。 状态转换图:是一组矢线连接的有限个结点所组成的有向图。每个结点均代表在识别过程中扫描器所处的状态。 左(右)推导:是指对一个推导序列中的每一直接推导,被替换的总是当前符号中的最左(右)非终结符号集。,自顶向下的语法分析:就是对已给的输入符号串w,试图自上向下为它构造一棵语法树。 递归向下法:是指对文法的每一个非终结符号,都根据相应产生式各候选式的

2、结构,为其编写一个子程序,用来识别该非终结符号所表示的语法范畴。 中间代码:是指把单词符号串形式的源程序转换为另一种等价的表示,而这种表示更便于以后的代码优化处理和目标代码生成工作。 逆波兰表达式:我们通常把波兰表达式。后缀表达式称为逆波兰表达式。 属性:一个文法符号X Vn Vt的语义性质称为该文法符号的语义属性(Semantic Attributes).,常用的查询条件,非终结符号集合和终结符号集合表,非终结符号集合和终结符号集合表,举例说明:,我们用以下的例子简要地说明计算机如何检测和识别where子句。,例1:Sage=22,词法分析(Lexical Analysis),词法分析:就是

3、把依次输入的字符流转换成具有独立意义的单词流。 确定的有限自动机(FA):我们把这五个元素组成的五元式M=(K, ,f,So,Z)称为确定的有限自动机DFA(Deterministic Finite Automatic)。 状态图:是由一组连接的有限个结点组成的有向图。每个结点均代表在识别过程或分析过程中扫描器所处的状态。 正规文法:我们把左线性文法和右线性文法统称为3型文法。,例1的状态图,1,2,3,4,例1:Sage=22,对于上面所列的文法G,若把,分别表示为编号1,2,3,4。,where,Sage,=,22,语法分析(Syntax Analysis),语法分析:它是以单词流作为输入

4、,并根据语言的与法规则,分析源程序的语法结构,而且对源程序进行语法检查。 注意:在语法分析过程中,要消除大量的回溯和文法中的左递归。通常用递归下降法和LL(1)消除回溯。 预测分析法LL(1):是一种比递归子程序发更为有效的自顶向下语法分析方法,采用此种方法的分析器由一张预测分析表、一个控制程序和一个分析站组成。 自顶向下分析法:是对已给的输入符号串w,试图自上向下地为它构造一棵语法树。或者说,从文法的开始符号,为w构造一个最左推导。,语法树,where,Snumber,Sname,Ssex,Sage,Sdept,比较,多重条件,确定范围,空值,字符匹配,确定集合,=,=,=,!=,属性列的值

5、,查找的结果,因绘制语法树比较复杂,我只绘制举例中的部分语法树,其余的语法树大部分雷同。,语义分析(Semantic Analysis),语义分析:是对文法中的每个产生式都附加一个语义动作或语义子程序,且在语法分析过程中,每当需要使用一个产生式进行推导或归约时,语法分析程序除了执行语法动作外,还要执行语义动作或语义子程序。 属性文法AG:是一个形如AG=(G,A,R,B)的四元组,其中:G=(Vt,Vn,S,P)是已简化的前后无关文法;A=A(X)是属性的有限集合;R=R(P)是属性定义规则的有限集;而B=B(P)是条件的有限集。 属性翻译文法ATG(Attribute Translation

6、 Grammar):是具有以下性质的翻译文法,1.每个文法符号和语义动作符号X都有一个相关的有限集合A(X),且每个属性都有一个允许值的集合。2.每个非终结符号和动作符号的属性可分为继承性与综合性两类。3.继承性和综合性的定义规则各不相同。 中间代码生成:是指把单词符号串形式的源程序转换成为另一种等价的表示,而且这种表示更便于以后的代码优化出来和目标代码的生成。目前常见的中介代码是逆波兰表示、三元式和四元式。,语义树,where,Snumber,Sname,Ssex,Sage,Sdept,比较,多重条件,确定范围,空值,字符匹配,确定集合,=,=,=,!=,属性列的值,查找的结果,语 义 子

7、程 序,语 义 动 作,语 义 子 程 序,语 义 动 作,语 义 子 程 序,语 义 子 程 序,语 义 动 作,语 义 子 程 序,语 义 动 作,语 义 动 作,语义子程序,语义动作,语 义 动 作,语 义 子 程 序,语义树:既为语法树的每个结点添加语义子程序和语义动作两个属性。,目标代码(Object Code Generation),目标代码:将语义分析的中间代码作为输入,翻译成计算机能够直接识别的程序,通常翻译成汇编语言的形式。 代码优化:首先主要考虑生成的目标代码占用尽量少的内存空间,其次考虑生成的目标代码的执行时间尽量短,尽量访问寄存器少访问内存。 存储组织:是指目标代码在运

8、行时对内存的使用和再使用的安排。尽量可能满足对内存使用的合理性和经济性,以及对程序中各个数据和实体访问的方便性。 符号表:符号表一般由两栏组成,第一栏为名字栏,用来存放标识符或其内部码;另一栏为信息栏,一般由若干个子栏来记录与该项名字相对应的隔着那个属性和特征。,目标代码的存储,既例1:Sage=22最终的目标代码如何在堆栈中存储:,SP,栈底,Sage,图(a),POP(),SP是栈顶指针,POP()是出栈函数,PUSH()是入栈函栈数,以上是目标代码如何入出栈。,栈底,图(c),图(b),=,栈底,SP,Sage,POP(),PUSH(),PUSH(),执行后的结果,栈底,Sage,结果,栈底,SP,Sage,PUSH(),PUSH(),POP(),小结,通过学习数据库管理系统这门课程和做这次大作业,不仅使我加深了对数据库中的基本知识点的理解;而且也对汇编语言有肤浅的了解,它让我知道where子句如何被计算机检测和识别最终将运行的结果反馈给用户。在此,我对袁老是和我班的同学给予的帮助和支持深表谢意。,课程设计,运行结果,谢 谢,2008年11月8日,人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论