西北工业大学数据库编辑作业资料
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用的查询条件
查询条件 比较 确定范围 确定集合 字符匹配 空值 多重条件 谓词 <, <=, >, >=, ==, != BETWEEN AND,NOT BETWEEN AND IN , NOT IN LIKE , NOT LIKE IS NULL , NOT IS NULL AND , OR
非终结符号集合和终结符号集合表
序号 符号 值 1 < NULL 2 <= NULL 3 > NULL 4 >= NULL 5 == NULL 6 != NULL 7 AND VALUE 8 OR VALUE 序号
9 10 11 12 13 14
符号
IN LIKE NOT LIKE IS NLL
值
VALUE VALUE VALUE VALUE
用c语言编译where子句
2008年11月8日
数据库表格
Snumber 06311 06423 06671 06712
Sname
Ssex 男 女 男 女
Sage 21 21 19 20
Sdept 计算机 微电子 航空 法律
汇编语言基础
文法G[S]:它可表示成形如(Vt,Vn,P,S)的四元式。 其中是非终结符号集,是终结符号集,产生式和 开始符号。 递归文法:许多无限的语言仍可用有限个产生式 既用有限的文法来描述。 状态转换图:是一组矢线连接的有限个结点所组 成的有向图。每个结点均代表在识别过程中扫描 器所处的状态。 左(右)推导:是指对一个推导序列中的每一直接 推导,被替换的总是当前符号中的最左(右)非终 结符号集。
举例说明:
我们用以下的例子简要地说明计算 机如何检测和识别where子句。
例1:Sage<=22
词法分析(Lexical Analysis)
词法分析:就是把依次输入的字符流转换
成具有独立意义的单词流。 确定的有限自动机(FA):我们把这五个元 素组成的五元式M=(K, ∑,f,So,Z)称为确定 的有限自动机DFA(Deterministic Finite Automatic)。 状态图:是由一组连接的有限个结点组成 的有向图。每个结点均代表在识别过程或 分析过程中扫描器所处的状态。 正规文法:我们把左线性文法和右线性文 法统称为3型文法。
自顶向下的语法分析:就是对已给的输入符号串 w,试图自上向下为它构造一棵语法树。 递归向下法:是指对文法的每一个非终结符号, 都根据相应产生式各候选式的结构,为其编写一 个子程序,用来识别该非终结符号所表示的语法 范畴。 中间代码:是指把单词符号串形式的源程序转换 为பைடு நூலகம்一种等价的表示,而这种表示更便于以后的 代码优化处理和目标代码生成工作。 逆波兰表达式:我们通常把波兰表达式。后缀表 达式称为逆波兰表达式。 属性:一个文法符号X∈ Vn ∪Vt的语义性质称为 该文法符号的语义属性(Semantic Attributes).
语义树
语义子程序 where 语义动作
语 义 子 程 序
语 义 动 作
Snumber
Sname
Ssex
Sage
Sdept
空值 语 义 子 程 序
多重条件
比较
字符匹配
确定集合 语 义 子 程 序 语 义 动 作
确定范围 语 义 子 程 序 语 义 动 作
语 义 动 作
<
<=
> 语 义 子 程 序
>=
NOT IN VALUE
IS NOT VALUE NULL
非终结符号集合和终结符号集合表
序号 15 16 17 18 19 20 21 符号 BETWEEN AND NOT BETWEEN AND Snumber Sname Ssex Sage Sdept 值 NULL NULL VALUE VALUE VALUE VALUE VALUE
==
语法树
where
Snumber
Sname
Ssex
Sage
Sdept
空值
多重条件
比较
字符匹配
确定集合
确定范围
<
<=
>
>=
==
!=
属性列的值 查找的结果
因绘制语法树 比较复杂,我只绘 制举例中的部分语 法树,其余的语法 树大部分雷同。
语义分析(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 Grammar):是 具有以下性质的翻译文法,1.每个文法符号和语义动作符 号X都有一个相关的有限集合A(X),且每个属性都有一个 允许值的集合。2.每个非终结符号和动作符号的属性可 分为继承性与综合性两类。3.继承性和综合性的定义规 则各不相同。 中间代码生成:是指把单词符号串形式的源程序转换成 为另一种等价的表示,而且这种表示更便于以后的代码 优化出来和目标代码的生成。目前常见的中介代码是逆 波兰表示、三元式和四元式。
例1的状态图
where 22 3 4
例1:Sage<=22
Sage <=
1
2
对于上面所列的文法G[<where>],若 把<where>,<Sage>,<<=>,<22>分别表 示为编号1,2,3,4。
语法分析(Syntax Analysis)
语法分析:它是以单词流作为输入,并根据语言 的与法规则,分析源程序的语法结构,而且对源 程序进行语法检查。 注意:在语法分析过程中,要消除大量的回溯和 文法中的左递归。通常用递归下降法和LL(1)消 除回溯。 预测分析法LL(1):是一种比递归子程序发更为 有效的自顶向下语法分析方法,采用此种方法的 分析器由一张预测分析表、一个控制程序和一个 分析站组成。 自顶向下分析法:是对已给的输入符号串w,试 图自上向下地为它构造一棵语法树。或者说,从 文法的开始符号,为w构造一个最左推导。