西北工业大学数据库编辑作业资料课件

上传人:我*** 文档编号:137842171 上传时间:2020-07-12 格式:PPT 页数:22 大小:152.50KB
返回 下载 相关 举报
西北工业大学数据库编辑作业资料课件_第1页
第1页 / 共22页
西北工业大学数据库编辑作业资料课件_第2页
第2页 / 共22页
西北工业大学数据库编辑作业资料课件_第3页
第3页 / 共22页
西北工业大学数据库编辑作业资料课件_第4页
第4页 / 共22页
西北工业大学数据库编辑作业资料课件_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《西北工业大学数据库编辑作业资料课件》由会员分享,可在线阅读,更多相关《西北工业大学数据库编辑作业资料课件(22页珍藏版)》请在金锄头文库上搜索。

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,结果,

9、栈底,SP,Sage,PUSH(),PUSH(),POP(),小结,通过学习数据库管理系统这门课程和做这次大作业,不仅使我加深了对数据库中的基本知识点的理解;而且也对汇编语言有肤浅的了解,它让我知道where子句如何被计算机检测和识别最终将运行的结果反馈给用户。在此,我对袁老是和我班的同学给予的帮助和支持深表谢意。,课程设计,运行结果,谢 谢,2008年11月8日,人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号