您的当前位置:首页基于规则推导的正规式相交判定算法

基于规则推导的正规式相交判定算法

2024-06-27 来源:飒榕旅游知识分享网
ISSN 1673.9418 CoDEN JKYTA8 Journal of Frontiers of Computer Science and Technology 1673-9418/2015/09(01)-0043-08 doi:10.3778 ̄.issn.1673-9418.1407042 E—mail:fcst@vip.163.com http://www.ceaj.org Tel:+86..10.-89056056 基于规则推导的正规式相交判定算法 刘嘉 ,廖湖声 北京.Y--,Ak大学计算机学院,北京100124 Intersection Checking for Regular Expressions Based on Inference System LIU Jia ̄,LIAO Husheng College of Computer Science,Beijing University of Technology,Beijing 1 00 1 24,China +Corresponding author:E-mail:jeromeliu@emails.bjut.edu.ca LIU Jia,LIAO Husheng.Intersection checking for regular expressions based on inference system.Journal of Frontiers of Computer Science and Technology,2015,9(1):43-50. Abstract:Decision problem of intersection checking for regular expressions plays an important role in the extensible markup language(XML)type checking.The typical technique converts the problem of intersection checking into the problem of automata intersection,which may generate a lot of redundant computing during the conversion. According to the features of XML schema languages,this paper proposes a new intersection checking algorithm based on inference system for regular expressions.This algorithm is derived directly based on regular expressions without any conversion.For general regular expressions,this algorithm is an exponential time algorithm,but wihout tconstructing automata,and for some special cases,especially for the One-Unambiuous gregular expression used in XML type checking,it is the polynomial time algorithm.Finally,this paper proves the correctness and completeness of he inference rules.t Key words:XML type checking;regular expression;intersection checking;inference rule 摘要:正规式相交判定问题在扩展标记语言(eXtensible markup lngauage,xML)类型检查中起着十分重要的 作用。传统方法是将其转化为自动机的相交问题,在转化过程中会产生大量计算。基于XML模式语言的特 点,提出了一种基于规则推导的正规式相交判定算法。该算法直接根据输入的正规式进行推导而无需进行任 The Natural Science Foundation of Beijing of China under Grant No.4082003(北京市自然科学基金). Received 2014・06,Accepted 2014-08. CNKI网络优先出版:2014-08—18,http://www.cnki.net/kcms/doi/10.3778 ̄.issn.1673.9418.1407042.html 44 Journal ofFrontiers ofComputer Science and Technology计算机科学与探索 何转化计算。对于一般的正规式,尽管其仍然是指数级算法,但无需进行复杂的构造自动机的计算;而对于一 些特殊的正规式,特别是在XML类型检查中广泛使用的One.Unambiguous正规式,该算法的时间复杂度降为 多项式级。最后证明了该算法所使用的推导规则的正确性和完备性。 关键词:XML类型检查;正规式;fin交判定;推导规则 文献标志码:A 中图分类号:TP311 1 引言 在过去的几十年中,以关系理论n 为核心的SQL (structured query language)数据库凭借其严谨的数学 基础、简单的结构化数据模型和非过程化的查询语 言等诸多优点,在企业信息管理领域一直占有主导地 位。然而,随着近年来以社交网络和电子商务为代表 的互联网技术的蓬勃发展,传统的SQL数据库因其 难以表示和查询网络上大量的复杂类型数据,而愈 加不能满足当今大数据时代的企业信息管理需求, 海量的非结构化数据的到来及其持续增长已经是一 个不争的事实。扩展标记语言 (extensible markup language,XML)的出现正是针对这一问题而提出的 解决方案。由于其具有数据表示灵活和互操作性强 等诸多SQL数据库所不可比拟的优点,在企业数据 集成和互联网在线服务等领域得到了广泛的应用。 XML事实上已经成为数据交换的标准、SOA(service— oriented architecture)架构的基石,并且在新兴的云计 算和物联网领域中扮演着越来越重要的角色。 正如SQL数据库用DDL(data definition language) 定义关系模式,XML文档同样需要某种语言定义XML 模式,使得符合该模式的XML文档满足相应的语法约 束。目前已基于正规树文法(regular tree grammar)t 提 出了多种类型化XML模式语言,例如CDucet41、XML Schemat 、Xtatict 、XDucet 、Relax Coret 和TREXt 等。XML类型检查问题就是通过确定或指派文档中 各元素的类型关系来检验该XML文档是否满足相应 的XML模式定义。一般地,不希望XML文档中的元 素在某个XML模式定义中具有二义性类型,即该元 素可以同时被指派两个或多个类型,因为这会极大 地增加XML类型检查的计算复杂度。根据正规树文 法,XML模式定义可以转化为一组包含产生式的表达 式,这些产生式由One—Unambiguoust lie规式所定义, 每个产生式唯一地对应XML文档中的某个元素类 型。若某个XML元素有二义性类型,则该元素同时 满足多个产生式,也就是说这些产生式包含的正规式 存在相交问题。 判定正规式是否相交的传统方法是先将两个正 规式转换为非确定性自动机(non—deterministic finite automata,NFA),再转换为确定性自动机(deterministic ifnite automata,DFA),进一步求出这两个确定性自动 机的交集。对于一般的正规式,该算法的计算复杂 度是指数级的,同时还需要进行正规式与自动机的 转换。 本文针对XML模式语言提出了一种基于推导规 则的正规式相交判定算法。本文算法的优点为: (1)具有广泛的适应性,对于一般的正规式,算 法复杂度是指数级的;当判定One—Unambiguous正规 式相交时,算法的时间复杂度是多项式级的。 (2)对于某些特定的非One—Unambiugousie规式, 算法的计算复杂度仍是多项式级。 (3)免去了两次转换运算,节约了计算时间。 2相关研究 关于正规式相交判定问题的理论基础来自于 Meyer、Stockmeye ̄” 和Nerode 上世纪六七十年代基 于自动机所做的工作。Martens等人 对不同类型的正 规式包含和相交问题的算法复杂度进行了理论上的 分析。有关使用规则推导或公理系统解决正规式等 价等判定问题的工作最早见于Salomaa的相关论文 , 这篇论文提出了两个用于证明正规式等价的公理系 统。Brzozowskit 。 首先提出了一套用于解决正规式 包含问题的推导规则。Antimirovt” 对Brzozowski的 刘嘉等:基于规则推导的正规式相交判定算法 工作进行了改进。One—Unambiguous正规式 伽是由 Briiggemann.Klein和Wood为定义标准通用标记语言 (standard generalized markup language,SGML) 的模 式语言DTD(document type definition)而提出的,之 后亦广泛应用于各种XML模式语言。 与本文关系最为密切的是文献[19.20]。文献[191 为解决受限正规树文法 】中出现的正规式相交判定 问题,提出了一种基于自动机的相交判定算法。该算 法根据One—Unambiguous正规式构建相应自动机来 判定两个自动机的交是否为空,其计算复杂度为多 项式时间oGE。I×lE:l×lX1U D,其中E 和 :为算法 的输人正规式,二和二为巨和E的字符集。本文 与该文献所解决的问题相似,但是使用的解决方法不 同。本文提出的基于规则推导的方法省去了转换为 自动机的计算过程,同时具有更广泛的适用性,特别 是针对某些非One—Unambiguous正规式,本文方法仍 可以在多项式时间内给出判定结果,这是文献[19]所 做不到的。文献[2O]提出了一种基于规则推导的One— Unambiguous正规式包含判定算法。本文与文献[201 所做工作的不同之处在于:首先,本文提出的推导规则 是针对相交判定问题而不是包含判定问题;其次,本 文提出的推导规则可以用于任何正规式,而文献[20] 提出的推导规则基本上只能用于One—Unambiguous 正规式,不能判定一般的正规式;最后,文献[20]的每 一步推导过程都需要计算两个表达式的first集和自 定义函数header,这极大增加了计算的时间开销,本 文方法无需计算first集,同时也仅有一个计算复杂度 为o(1)的自定义函数,因此更加高效。 3基本概念 下面先定义一些本文所用到的基本概念。首先 设 为一个有限字符集,a、b和c是属于 的字符, ,,,。,f2…是定义在 上的字符变量。 定义1(正规式)字母表 上的正规式 归纳 定义为R := +R l ・R IR ̄IS。符号“+”表示若 有三1,L2c27",贝0L1+ 2={w1Uw21wl∈L1,W2∈L2}。类 似地,符号“・”表示若有 1,L2 cX ,则L1・L2={w1・W2 45 W1∈L1,W2∈三,};符号“ 则为L 的克林闭包(Kleen eclosure)。计算优先级为“ 最高,“.”次之,“+”最 低。为了防止二义性,可以将R +尺 和带“ 的 ・ 子式加上括号,例如 + )和 ・ ) , 并且在这种情况下,可以将符号“.”省略。下文中用 , …表示正规式。本文与其他正规式定义(例 如文献[19—201)的最大不同之处在于没有在归纳定 义中引入空字符“c”。事实上,不带“E”的正规式定义 除了不能表示空正规式之外,表达能力上与带“E”的 正规式定义是等价的。而本文不考虑包含空正规式 的相交判定问题,因为根据下面的定义2其答案总是 不相交的,且加入“e”会给推导增加不必要的复杂 性。但是在下面的推导中还是用到了符号“e”,它仅 表示正规式的终止,因此只能出现在正规式的末尾。 注意不含“c”的正规式定义仍然可以表示可空正规 式,除非它仅包含一个空串。 定义2(正规语言)正规式 所定义的正规语言 归纳定义为 + :ll=lIrlllU lI'lIr ・ :Il=lIr I, lI=U。 Ilrl l,最后对于 ∈ 有llall={口}。正规式 相交判定问题就是对于任意正规式 和 ,是否存 在非空字符串v,使得1,∈lIr ll八1,∈lIr,II。 定义3(One—Unambiguous W规式)为了定义One- Unambiguous正规式,先引入标记表达式的概念。对 于一个正规式,使用下标来依次标记其中出现的字符, 使得每个标记后的字符在表达式中仅出现一次,这样 的正规式称为标记表达式。用 表示 的标记表 达式,符号 表示标记的逆操作,即取消标记符号的 下标。例如(口1b1) 2b2 3+63)是正规式 6) ab(a+b) 的标记式。下面给出One—Unambiugous正规式的定 义。一个正规式 是One Unambiguous的,当且仅当 对于任意两个句子UXV,uyv∈l rmarkll,其中 ,Y∈ , 若xcy,则 ( ≠ ( ;如果一个正规语言可以用某 个One.Unambiguous正规式来表示,则也称该正规语 言是One-Unambiguous的。One—Unambiugous正规式 是由’Briiggemann.Klein和Wood为定义SGML的模式 语言DTD而提出的,之后亦广泛应用于各种XML模 46 Journal ofFrontiers ofCompu ̄r Science and Technology计算机科学与探索 2015,9(1) 式语言。One—Unambiguous iE规式是一种确定性正规 括号中的条件时,结论才成立。这7条规则按照优先 级分为3组,前5条规则优先级最高,规则+次之,规 则,.c最低。规则+结论中的“v”表示两个子式之间可 式,对于满足该正规式的字符串中的每一个符号,只 能唯一地匹配One-Unambiuous正规式中唯一的一 g个位置而不需要向前看。根据文献[10],可以在线性 兼或的关系,在推导中这两个子式的计算关系没有约 时间内判定一个正规式是否是One—Unambiugous的。 4正规式相交判定推导规则 4.1推导规则 为了方便推导,在推导过程中出现的正规式后 面加上一个终止符E=E I 。终止符只起到标记的作 用,并不影响正规式的语义,即IIr・E’Il=lit・Efll=M。 在推导算法的输入正规式 。和,. 的末尾加上终止符 c ,形成新的输入正规式rl r=r1・E’和r2 r= 2・c 。定 义toc 函数为toe 1 2…厂 ・c)= l 2… ・c ,toe 只是 将正规式末尾E 替换成[f,同样不影响该正规式的 语义。推导中F的语义为根据从输人正规式r 和, 到F的推导,不能找到字符串S,使得S∈I1" ll AS∈ lit:Il;反之, 的语义为根据从 和 到 的推导,必 能找到字符串S,使得 ∈ I/kS∈IIr:IJ。下面是正 规式相交判定推导所使用的7个规则。 规则e1: [c=c orE ] 规则c2: [c=E ] 规则c3: [C:C1] 规 1: [I1 ̄ef2] 规则12: l1  ̄rI@ l2 ̄r2 [ ] :)删+: r1 l I r2 r4 ‘ V r1 Ir3 r4 I 。 删 : 首先对上面的推导规则进行必要的说明。每条 规则由横线分成上下两个部分,上半部分是该规则的 前提,下半部分是这条规则的结论。前5条右侧中括 号括起来的是前提的附加条件,只有当前提满足中 定。规则 结论中的“ ”表示需先计算 n . 再计算 n ,原因是结论中前子式的推导结果会对 后子式的推导产生影响。前子式的推导分支结果无 非有3种:第一是至少有一个 ;第二是推导出的结果 全为F且不存在推出前提 n 的分支;第三是推 导出的结果全为F但存在推出前提 n 的分支。 最后一种情况推导出的 nr: 末尾可能是E ,则 n 的末尾也需是c 。话句话说,规则 要求先对 结论的前子式进行推导,若推导的结果改变了前提 n 末尾的e,则后子式继承改变后的前提 nr 的末尾E。 4.2推导规则的性质 定理1 4.1节的7个规则是正确的。 证明规则cl。因为,. 的first集为,∈27,所以 对于任一字符串S∈lIf.,.1l,其开头字符必为,。不妨 设输入正规式 = -e和 = .,.,+ ”,则对于任 一S ∈ llAS ∈ ll,都有s ・s∈IIr2 ・,・ ll^S ・S仨 IIr .clI。由此可推出F。 规则E2。该规则的前提为c nc 。设输入正规 式为 = 1tF2t…, ・c 和 2= 1 2”…,^ ”・c ,则从,.1 n,2 到c’n c 的推导过程中必不使用规则『2,因为只有 使用规则f2才可以将正规式末尾的E 通过to ̄ 替换 为e 。由此可得该推导过程都是使用规则 将 , ,.2 ,…, 和,l”,r2”,…,r ”消去,因此不能从输入正 规式 和 到c’nE 的推导,找到字符串S,使得S∈ I^ ∈ lIo由此可推出 。 规则e3。该规则的前提为E nc ,设输入正规式 为 1= l 2 … ・E 和 2= 1 2”… m ・E ,则从,1 n 2 到c n 的推导过程中至少使用过一次规则f2,因 为只有使用规则f2才可以将正规式末尾的c 通过 toe 替换为c 。则至少存在一个字符串ulv,,∈ 为 刘嘉等:基于规则推导的正规式相交判定算法 47 推导中应用规则,2所消去的字符,,U,1,∈27 为其他 的字符串,使得 ,1,∈IIrlll^ulv∈ II。由此可推出 规则,1。该规则的前提为f1. n,,. ,,,,≠12。 使用反证法,若由该前提可推出 ,则至少存在一个字 符串lv,1,∈ ,使得lv∈litl-F1II/klv∈Ill2・ ,由此可 得,=,1:,2,这与前提,1≠,2矛盾,因此由 1n,2・ 2, 对于任意正规式 和 ,至少有一个推导规则的前提 满足 和 。根据正规式的定义,可以得出任意正规 式必属于下列4种情况之一:E,, ( +,.2) 。 其中,∈ , ∈R ,E只能出现在正规式的末尾。对 上述4种情况两两组合,可以得到以下l0种情况: cN c;cn,・,.;cN(rl+ 2)・,3;cN 2;,1・r1n,2・ 2; 『1≠,,,只能推出 规则,2。该规则的前提为0 n, . ,f1:12, 也就是,. n,.r 。若,.r1 n,.r 成立,则至少存在 一个字符串lv,v∈ ,使得lv∈lIf_F1_J^lv∈lIf.F2Il, 由此可得V∈ I八 ∈IIr2lI,也就是r n :成立。又因 为根据toc 的定义IIf()c )l『=IIrlI,所以toc )A to ̄ 2) 成立。 揪IJ+。该规则的前提为 1N(r2+ 3)・ 4。当 1=c 时,结论显然成立。当 ≠c时,若该前提成立,则至 少存在一个字符串lv,v∈ ,使得lv∈IIr l1人lv∈ 2+ 3)・ 4fl。根据定义2可得lv∈lIrlII^lv∈qI 2・F4lIU _l,3・,.4lD,也 是lv∈IIr1ll八lv∈II,.2・F4 c_Vlv∈JIr1ll^lv∈ ・r4 JI,因此得出r1n 2・,4v 1n,3・,4成立。 规则 。该规则的前提为 n,; 。当 =c时, 结论显然成立。当 ≠e时,根据4.1节的分析得知, 前子式的推导分支结果有3种:第一是至少有一个 ; 第二是推出的结果全为F且不存在推出前提 n 的分支;第三是推出的结果全为F但存在推出前提 n r 的分支。对于第一种情况,至少存在一个字 符串lv,v∈ ,使得lv∈IIr1ll^lv∈liter3ll,因此lv∈ 日 人lv∈IIr:・ ; l J V lIrllI^lv∈IIr ID也成立。对于第 二种情况,显然前提不能成立。对于第三种情况,若 前提 n 的末尾为c ,则结论前子式所推出的 r n 末尾可能是c ,因为结论的前子式为 n,. . F2 F ,当 不是可空正规式时,只有通过规则,2消去 ,而规则 会将c 替换为Ef。这时需要将结论后 子式的末尾也变为c 。综上所述,规则 成立。 口 定理2 4.1节的7个规则是完备的。 证明证明4.1节的规则是完备的也就是要证明 ,・ 1N(r2+ 3)・ 4;,・ 1n :・ 3; 1+ 2)- 3N(r4+r5)・ 6; 1+,.2)・ 3n :・,.5; 2nr;・,4。下面对这10种 情况一一进行讨论。 情况1 cnE。根据c的定义,情况1又分为以下 3种子情况,即c N c ,E n c 和E N c 。对于c n E 和e Cl E 可以分别直接应用规则e2和规则c3得到F 和L而c n c 在推导过程中是不可能出现的。因为 一方面,若出现E ,则在推导过程中必应用过至少一 次规则f2,而规则12的结论是toe )ntoc ),即两 边的正规式都应用to ̄ 函数,因此若cN c中有一边 是e ,则另一边也一定是c 。另一方面,因为没有一 条规则可以将正规式末尾的c 替换为c ,所以也不 可能通过E N E’得到E’Nc 。因此E N E 在推导过程 中是不可能出现的。 情况2 EN,.,_满足规则E1,得NF。 情况3 cN(r1+ )・ 3满足规则+,推出cn 1・r3 V En,.2・ 3。 情况4 cnr F2满足规则 ,推出cn,.1・r r2V En 2。 情况5,1・r1n,2・ 2。当,1≠,2时满足规则ll,推 出F;当, =,2时满足规则12,推出toc 1)ntoe 2)。 情况6,・ 1N(r2+ 3)・r4满足规则+,推出,・ ln ・,.4V,・r1n 3・,.4。 情况7,・r n ・ 满足规则 ,推出,・,. n ・ :・ 3V,・r1nr3。 情况8 1+ 2)・ 3 N(r4+ 5)・ 6。应用两次规则+, 推出,1・r3n,4・ 6Vr2・r3nr4・r6Vrl・ 3n 5・ 6Vr2・ 3n 5・ 6。 情况9( 1+,2)・ 3n ・,5。应用规则+,推出r1・ 48 Journal ofFrontiers ofComputer Science and Technology计算机科学与探索 ,3n :・ 5v r2・r3n :・,5;再应用规则 ,推出 l・r3n r4・r4‘  r5vr1・F3nr6v V 。 I l V ‘r2・r3nr4・F4 l l 。  r5vr2・r3nr5。V ’ l l o if(r ,r4) S 找到与( ,r )匹配的推导规则; 当规则的结论是 时 Retum“Yes”: 情况10 . :nr:.,一 。与规则8情况类似,两次 应用规则 即可,在此不再赘述。 口 4.3扩展规则 为了简化推导过程,根据4.1节的推导规则可以 当规则的结论是(,. Ar )V…V( nr )时 push(r5,r6),…,(r ,, )on ; 得到以下扩展规则。 规则c : 规则 堋『Jf 规贝0++: 1+ 2)・r3N(r4+r5)・ 6 1・,3nr4・r6V,.2・r3n 4・ 6Vr1・ 3n 5・ 6V,|2・r3n 5・ 6 定理3 4.3节的4个规则是正确的。 证明规则,+、规则 和规则++可参见定理2中 情况6~8的证明。下面主要讨论规则c ,为此可将r 分成5种情况:c 、c 、,・ 、( 1+r2)- 3、 2。对于 E ,可由规则c2推出F;对于c ,已有定理2中的情况 1证明不可能在推导中出现。对于,.r,可由规则cl 推出F;对于( +r2)・,3和 ,.2,亦可由4.1节的规则 展开成以c 、c 、,.r子式组合的形式,由此可归结为 E 、E 、,. 的情况。无论 为哪种情况,c n 都只 能推出F,因此规则E 是正确的。 口 5算法和举例 基于4.1节和4.3节的推导规则,可以给出一个 判定正规式相交问题的算法。 算法正规式相交判定算法 输入:正规式 和 。 输出:“Yes”或“No”。 初始化栈 和集合S为空; push(r1,r2)on ; while T不为空do pop( ,r4)from ; 当规则的结论是( Nr ) (r ,r )时 push(r5,rT),(r5 fTr6)OD ; add(r3,r4)to ; end if(r3,r4)∈S 若( ,r )的末尾为[f,则在 中找到与( ,r )等 价的正规式对(, ,r9),若(r ,rg)的末尾为E ,将 中(, ,rg) 上方所有正规式的末尾改为Ef; end end return“No”; 算法的输人为符合定义1的正规式,为了方便推 导,在输入正规式的末尾加上符号e 。该算法的基 本思想是使用推导规则进行深度优先查找,当找到 第一个结论“ ’时,说明已经找到一个非空字符串 都 满足正规式r 和 ,说明r 和r 存在交集,因此返 回“Yes”,整个推导过程结束。当推出为“F”的结论 时,说明在该推导分支没有找到非空字符串 都满足 正规式 和 ,因此退回到最近的分支点沿着另一 条推导路径查找。若遍历整个查找空间都没有找到 结论“F”,说明 和 是不相交的,因此返回“No”。 根据文献[1 1]的结论,可知正规式相交判定问题 是一个PSPACE.完全的问题。因此该算法对于一般 的正规式其时间复杂度是指数级的。但当两个正规 式都是One.Unambiguous正规式时,则其时间复杂度 降为多项式级 。关于One—Unambiguous 规式相交 判定的例子可参见例1。前文提到比起其他工作n 1, 本文方法具有更广泛的适用性,特别是针对某些二 义性正规式,仍可以在多项式时间内给出判定结 果。具体可见例2。 例1和例2分别是两个正规式相交判定的例子。 刘嘉等:基于规则推导的正规式相交判定算法 49 例1 a*b n +6) l:a—b E n +6) c 1 l:a b E nb(a+b)’( : (11)F 13:b c N b(a+b) E 14:6 c N6 + c (12)16:b c N(a+6 c )17: E n +6) +6) c v F 一. 15:[fNb(a+ E 例2 abn(a+ +c) c(6+c) +c)(6+c) +c))6 1:abe n( +(6+c) c(6+c)(6+c)(6+c)(6+c))6c e *e*(+)2 : a bNabff213口bn(b+c) c(6+c) 6E rv4:———— ———6结束语 本文针对XML类型检查提出了一种基于推导规 则的正规式相交判定算法,该算法根据输入的正规 式直接进行推导得出是否相交的结论,而无需进行确 : N 、 例1为a*b N(a+ ,因为两个输入的正规式中 都没有重复出现的字符,所以这两个正规式都是One— 定性自动机的构造。本文算法具有广泛的适应性,对 于一般的正规式,算法复杂度是指数级的;当判定在 XML类型检查中广泛使用的One—Unambiguous正规 Unambiguous正规式。注意为了方便推导,在开始时 将输入正规式 和 的末尾都加上c ,当计算到8 式时,算法的时间复杂度自动降为多项式级的。对于 某些特定的二义性正规式,例如 +r2)r 这样的正 式时,由于推导结果与1式相同,因此将1式及其所 有下方正规式的末尾都改为E 。例中…表示限于篇 幅省略的一些简单推导过程。当推导到19式时,由 规则,1推出,,程序返回“Yes”。 例2右部是一个非确定性正规式(a+ 规式,其中 1和,^3为One—Unambiguous TI_规式,而,。 为二义性正规式,算法的计算复杂度仍可能为多项 式级。 References: [1】Codd E F.A relational model of data for large shared data banks[J].Communicaitons oftheACM,1970,13(6):377—387. (6+ c(b+c)(6+c)(2)+c)(6+c))6,其中非确定性子式 为(6+c) c(b+c) +c) +c) +C),表示倒数第五个 字符为C的字符串。若要构建正规式(6+c) c(6+c) [2】Bray T,Paoli J,Sperberg—McQueen C M,et a1.REC—xml- 19980210 Extensible markup language(XML)[S/OL].World Wide Web Consortium Recommendation.http:llwww.w3. org/TR/1998/REC—xml-19980210. 的确定性自动机,则该自动机包含的状态与D )成 正比,即状态呈指数级增长。而例2的推导过程直接 将右部的非确定性子式忽略,从而节省了大量的计算 时间。由此可见,对于诸如( + ) 这样的正规式, 其中 和 为One-Unambiguous] ̄规式,而,.2为二义 [3]Comon H,Dauchet M,Gilleron R,et a1.Tree automata tech— niques and applications[M/OL].f2007)[2014—04—12].http:// www.grappa.univ-lille3.fr/tata. 性正规式,当从 , 推出F时,该算法可以自动忽略r , 由此整个推导过程的时间复杂度还能保持多项式级。 [4】Benzaken V Castagna G,Frisch A.CDuce:an XML cen ̄ic general—purpose language[J].ACM SIGPLAN Notices,2003, 50 JournalofFrontiersofComputerScienceandTechnology计算机科学与探索 2015,9(1) 38(9):51-63. oftheACM,1964,11(4):481—494. [1 6】Brzozowski J A。Roots of stra events[C]//Proceedings of the 7th Annual Symposium on Switching nd aAutomata Theory. Piscataway,NJ,USA:IEEE,1966:88—95. [5】Thompson H S.XML schema part 1:structures second edi— ifon[S/OL].World Wide Web Consortium.【2014-04—12].http:// 、)i .w3.org/TR/2004/REC-xmlschema-1-20041028. [6】Gapeyev Levin M Y,Pierce B C,et a1.The Xtatic experi— 【17】Antimirov V Rewriting regular inequalities[C]//LNCS 965: Proceedings of the 10th International Conference on Funda・ ence,MS-CIS-04・24[R].University ofPennsylvania,2004. [7】Hosoya H,Pierce B C.XDuce:a statically typed XML pro— mentals of Computation Theory(FCT’95),Dresden,Ger- many,Aug 22-25,1995.Berlin,Heidelberg:Spfinge ̄1995: 1 16.125. cessing language[J].ACM Transactions on Internet Tech- nology,2003,3(2):117-148. [8]Van der Vlist E.Relax NG[M].Sebastopol,CA,USA:O’Reilly Media Press,2003. 【18】Goldfarb C F,RubinskyY he TSGMLhandbook[M].Oxford, UK:Oxford University Press,1990. [9]Clark J.TREX—tree regular expressions for XML[R]. [2014—04—12].http://www.thaiopensource.com/trex. [19】Ni Xiaoyong,Chen Haiming.Intersection checking of pro— duction rules in regular tree grammar[J].Computer Engi- neering and Design,2012,33(3):1197—1202. 【10】Briiggemarm-Klein A,Wood D.One—unambiguous regular languages[J].Information and Computation,1998,140(2): 229.253. [20]Hovlnd aD.The inclusion problem orf regular expressions[J]. Journal of Computer and System Sciences,2012,78(6): 1795.1813. [11】Stockmeyer L J,Meyer A R.Word problems requiring expo— nential time[C]//Proceedings of the 5th Annual ACM Sym- posim01u1Theory ofComputing(STOC’73).NewYork,NY USA:ACM.1973:1-9. [21】Chen Lei.Restricted regulartree ragmmars ndtaype checking approaches based or/checking inclusion between regular [12】Nerode A.Linear automaton trnsaformations[J].Proceedings ofthe American Mathematical Society,1958,9(4):541-544. [13】Martens w Neven Schwentick et a1.Expressiveness expressions[D].Beijing:Institute of Software,Chinese Acad- emy of Sciences,2010. and complexiy tof XML schema[J].ACM Transactions on Database Systems,2006,31(3):770—813. [14】Salomaa A.Two complete axiom systems for the algebra of 附中文参考文献: [19]倪晓勇,陈海明.正规树文法的产生式相交判定[J].计算 机工程与设计,2012,33(3):1197—1202. [21]陈雷.受限正规树文法与基于正则表达式包含判定的类 regulr aevents[J].Journal oftheACM,1966,13(1):158-169. [15]Brzozowski J A.Derivatives ofregulr aexpressions[J].Journal 型检查[D].北京:中国科学院软件研究所,2010. LIU Jia was bom in 1984.He is a Ph.D.candidate at Beijing Universiyt of Technology.His research interests ncliude software theory and data management for XML,etc. 刘嘉(1984一),男,北京人,北京工业大学博士研究生,主要研究领域为软件理论,XML数据管理等。 LIAO Husheng was born in 1954.He is a professor and Ph.D.supervisor at Beijing University of Technology.His research interests include database technology and theory,compiler technology and software theory,etc. 廖湖声(1954一),男,北京人,北京工业大学计算机学院教授、博士生导师,主要研究领域为数据库技术和理 论,编译技术与程序理论等。 

因篇幅问题不能全部显示,请点此查看更多更全内容