- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
fall 2001 §4.5 上下文无关文法与下推自动机 上下文无关文法与下推自动机的等价性: PDA与上下文无关文法之间存在着对应关系。即: PDA(M) = CFG CFG = PDA(M) 从上下文无关文法构造等价的下推自动机 定理4.5.1(由CFG可导出PDA): 设上下文无关文法G=(N,T,P,S),产生语言L(G),则存在PDA M,以空栈接受语言Lφ(M),使Lφ(M)=L(G)。 证明:构造下推自动机M,使M按文法G的最左推导方式工作。 *College of Computer Science Technology, BUPT 构造方法 设 CFG G = (N, T, P , S ) , 构造一个空栈接受方式的 PDA M=(Q,T,Γ,δ,q0,z0,F) 其中 Q={q}, Γ=N∪T, q0=q,z0=S, F=φ (∵以空栈接受) 即 M = ( {q} , T, N?T, ?, q, S , F) , 转移函数 ? 定义如下: (1) 对每一 A?N, ? (q, ?, A) = {(q,?)?A??”?P }; (即将栈顶的A换为β) (2) 对每一 a?T, ? (q, a, a) = { (q, ?) }. (即若栈顶为终结符,则退栈) 从上下文无关文法构造等价的下推自动机 q ε,z0=S/β 若S→β∈P ε,A/α 若A→α∈P a,a/ε a?T, 从上下文无关文法构造等价的下推自动机 用图形表示: 例1 对右边产生式所代表 CFG, 依上述方法构造的 PDA 为 E ? EOE ? (E) ? v ? d O ?+ ? ? ( {q} , {v,d,+, ?,(,) }, {E,O,v,d,+, ?}, ?, q, E, φ ) , 其中? 定义为 ? (q, ?, E) = {(q,EOE), (q,(E)), (q,v),(q,d)}, {(q,+), (q, ?)}, ? (q, ?, O) = { (q, ?) }, ?(q, v, v) = ? (q, d, d)= { (q, ?) } ? (q,+,+) = ? (q, ?, ?) = ? (q,(,( ) = ? (q,),) )= 自顶向下的分析过程 定理的物理意义:利用下推自动机进行自顶向下的分析, 检查一个句子的最左推导过程。 步骤如下: (1) 初始时,将文法开始符号压入空栈. (2) 如果栈为空,则分析完成. (3) 如果栈顶为一非终结符,先将其从栈中弹出. 选择下 一个相应于该非终结符的产生式,并将其右部 符号从 右至左地一一入栈. 如果没有可选的产生式,则转出 错处理. (4) 如果栈顶为一终结符,那么这个符号必须与当前输入 符号相同,将其弹出栈,读下一符号,转第(2)步;否 则,回溯到第(3)步. 例2:利用下推自动机进行自顶向下的分析过程 E ? EOE ? (E) ? v ? d O ?+ ? ? E E O E E O v E O E ? E E ) ( E ) E ) O E E ) O v E ) O E ) + E ) ) d ) v ? ( v + d ) q ε,z0=E/β 若E→β∈P ε,O/* a,a/ε a ? {(,),v,d,+,* } ε,O/+ 定理的证明 证明思路 欲证,对任何 w?T*, w?L(G) ?w?L(M). ? 先证明如下结论, if A ?w, then (q,w,A)├*(q, ?, ?). ? 归纳于 A ?w 的步数 n. ? 基础 n=1,A?w 必为产生式, (q,w,A)├ (q,w,w) ├*(q, ?, ?). 归纳 设第一步使用产生式 A?X1X2…Xm ,必有 w=w1w2…wm , (q,w,A)├ (q,w, X1X2…Xm ) ├* (q, w2…wm , X2…Xm) ├* (q, w3…wm , X3…Xm)├* …├* (q, ?, ?). 所以: if S ?w, then (q,w,S)├*(q, ?, ?). ? 即, w?L(G) ? w?L(M). 定理的证明 ? 先证明如下结论, if (q, w,A)├*(q, ?, ?), then A ? w.
您可能关注的文档
- 异步电动机的拆装.ppt
- 张处矿大讲课演示文稿1.ppt
- 张新国战略管理第五章.ppt
- 张美春课件.doc
- 张国雄版测控电路PPTChapter2-5.ppt
- 材料作文训练全解.ppt
- 张燕华-机关工作人员的请示汇报礼仪 【中华讲师网】.pptx
- 张进智B2B营销关系系统与沟通-9.pptx
- 张建荣 中国石油化工股份有限公司 加快油品质量升级 提前布局国六燃油(中文).ppt
- 材料分拣系统机械系统设计(单片机)全解.doc
- 2024年沧州市公务员考试行测真题及答案详解(名师系列).docx
- 粮油食品检验人员复习提分资料带答案详解(精练).docx
- 粮油食品检验人员自我提分评估(考点精练)附答案详解.docx
- 粮油食品检验人员全真模拟模拟题附参考答案详解(精练).docx
- 2025年延安市公务员考试行测试卷历年真题附答案详解(突破训练).docx
- 2025年株洲市公务员考试行测试卷历年真题含答案详解.docx
- 2024年枣庄市公务员考试行测真题及完整答案详解1套.docx
- 2024年抚顺市公务员考试行测真题及答案详解(各地真题).docx
- 2025年常州市公务员考试行测真题及一套参考答案详解.docx
- 2023年德州市公务员考试行测试卷历年真题及1套完整答案详解.docx
文档评论(0)