语法树表示正规式(续) start A B 1 C D 2 E 3 4 5 F e e e e e e e e a a b b b 6 # (a|b)*abb#对应的NFA 3.9.2 正规式直接转换为DFA 扩充正规式(r)#,构造语法树T nullable, firstpos, lastpos, followpos 函数nullable, firstpos, lastpos定义在T的结点上 followpos函数定义在position集上,其计算依赖上面三个函数 最后,利用followpos构造DFA followpos 符号只在标有该符号的position处匹配 position的相邻关系,e-closure(d(…)) followpos——表示位置间的相邻关系 i:一个position followpos(i):一个position集合,其中的每个position j满足: 存在一个输入串…cd… c在i处匹配,d在j处匹配(i,j相邻) j跟随(follow)i 例3.21 (a|b)*abb#:followpos(1)={1, 2, 3} B 1 C D 2 E 3 e e e e e e a b 1 1 2 2 1 3 4 5 a a b b a a b b followpos的计算 对子正规式,其首尾符号的对应位置之间存在跟随关系 rs,s的首位置跟随r的尾位置 r*,r的首位置跟随其尾位置 firstpos(n):对以n为根的子正规式,可匹配其首符号的位置的集合 lastpos(n):可匹配尾符号的位置的集合 前例: firstpos(n) = {1, 2, 3}, lastpos(n) = {6} nullable(n):可匹配空串 计算firstpos, lastpos, nullable 结点n firstpos(n) n是标记为e的叶结点 n是标记为位置i的叶结点 nullable(n) true false ? {i} nullable(c1) or nullable(c2) firstpos(c1) ∪ firstpos(c2) 计算firstpos, lastpos, nullable 结点n firstpos(n) nullable(n) true nullable(c1) and nullable(c2) if nullable(c1) thenfirstpos(c1) ∪ firstpos(c2)else firstpos(c1) firstpos(c1) 计算followpos lastpos计算同firstpos,c1、c2交换即可 followpos的计算 n——·结点,左孩子c1,右孩子c2,i∈lastpos(c1),c1的尾位置?对所有j∈firstpos(c2) ,j∈followpos(i) n——*结点,i∈lastpos(n),n的尾位置?对所有j∈firstpos(n) , j∈followpos(i) 例3.22 位置 123456 followpos {1,2,3}{1,2,3}{4}{5}{6}- 例3.22(续) 有向图 位置——状态,j∈followpos(i)——边i?j a a b b a a b b b 例3.22(续) 看作NFA firstpos(root)中的位置均为初态 边(i, j)标记为位置i的符号 #对应位置为唯一终态 a a b b a a b b b 算法3.5 正规式直接构造DFA 输入:一个正规式r 输出:一个DFA D,L(D)=L(r) 方法: 构造扩充正规式(r)#对应的语法树T 深度优先搜索T,计算函数nullable, firstpos, lastpos和followpos 构造D的状态集Dstates和状态转换表Dtran,算法如下所示。状态——位置集,firstpos(root) 为初态,#对应位置为终态。 算法3.5 (续) 构造Dstates和Dtrans算法 初始,Dstates中唯一状态为firstpos(root),设为未标记,其中root为(r)#对应语法树的根; while (Dstates中有未标记状态T) { 标记T; for (每个符号a) { U=∪followpos(p) (p∈T, 且位置p处符号为a); if (U不空且不在Dstates中) { 将U加入Dstates,设为未标记; } Dtran[T, a] = U; } } 例3.23 A=firstpos(root)={1, 2, 3} Dtrans[A, a]=followpos(1)∪followpos(3)={1,2,3,4}=B Dtrans[A, b
您可能关注的文档
- MW汽轮发电机培训.ppt
- x煤矿安全预控管理体系贯标培训.ppt
- 《中国美术史》精品PPT.ppt
- 《伤逝》鲁迅大学语文.ppt
- 《七律长征》精品.ppt
- 《中医药学概论》.ppt
- “感恩父母拥抱亲情:主题班会.ppt
- [图文]园林制图与识图.ppt
- 《外科护理学》教案—急性胰腺炎病人的护理.pptx
- 《孙权劝学》优秀.ppt
- 2025-2026学年科普版七年级下册英语Unit7 Being a Smart Shopper素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit10 Lending a Helping Hand素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit11 Rules Matter素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit12 Better Together素养测评卷(含答案).docx
- 2026年中考英语语法选择专题训练(含答案).docx
- 2026中考语文二轮学思并重,涵养君子之德论语十二章、虽有佳肴、大道之行也.docx
- 中考文言文常见文化常识梳理.docx
- 中考语文二轮:内修君子德外尽忠臣心诚子书出师表修身立德主题学习.docx
- 中考语文二轮:不一样的求学路一样的成长梦送东阳马生序劝学主题学习.docx
- 中考语文二轮:《陋室铭》《爱莲说》托物寓意主题学习.docx
最近下载
- 中国神经外科重症患者气道管理专家共识(2025版).docx
- 《农产品区域公用品牌评价指南》.docx VIP
- 中央储备粮通辽直属库余粮堡分库新建储备仓施工项目施组设计.doc VIP
- 危险化学品安全知识培训.pptx VIP
- 中央储备粮唐山直属库油脂油料仓储物流项目三期工程施工组织设计最新.doc VIP
- 承包人自行施工范围内拟分包的非主体和非关键性工作.doc VIP
- 中央储备粮遂宁直属库有限公司搬迁项目滑模施工方案.docx VIP
- 危险化学品安全知识与处理培训.ppt VIP
- 方正证券-信息技术-OpenClaw赋能金融投研-17个高效应用案例详解——AI Agent赋能金融投研应用系列之三.pdf VIP
- 高二生物第一次月考卷【测试范围:苏教版2019选择性必修2第1章~第2章】(考试版).docx VIP
原创力文档

文档评论(0)