- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[编译原理-7-语法分析-I
例:表达式文法直接左递归的消除 E → E + T|T T → T * F|F F → ( E )|id E→ T E’ E’→ + T E’|ε T→ F T’ T’→* F T’|ε F→ ( E )|id Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 第四章 语法分析 syntax analysis Part I Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 主要内容 PDA 语法分析概述 递归子程序法 常用终结符号集 LL(1)方法 LR分析 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 1、下推自动机(PDA) Push Down Automata M=(S, ?, ?, ?, K, x0, F) S:状态集合 ?:输入字母表 ?:下推字母表 ?:S ? (Σ?{}) ? ? ? S ? ?* K:初态集合 x0:下推栈中的初始符号 F:终态集合 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. ?(Si, a, xk) = (Sj, ?) ?-转换:输入符号全部读完,但PDA的状态仍然可以进行转换。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. a0 a1 a2 a3 a4 a5 a6 a7 a8 … an-1 an 有限控制器 磁头 识别程序的数学模型下推自动机 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 例 S={S0} ?={(,)} ?={A,(} ?:S ? (Σ?{}) ? ? ? S ? ?* K={S0} x0=A F={S0} ? ( S0,(,A)={( S0,(A )} ? ( S0,(,( )={(S0,(()} ? ( S0,),( )={(S0, ? )} ? ( S0, ?,A)={(S0, ? )} 对于输入串:( ( ) ( ) ) 如何进行识别? Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 例:Pda P=({A,B,C),{a,b,c), {h,i}, f, A,i,{ }) f(A,a,i) = (B,h) f(B,a,h) = (B,hh) f(C,b,h) = (C, ?) f(A,c,i) = (A, ?) f(B,c,h) = (C,h) 接受输入串aacbb的过程 (A,aacbb,i) 读a, pop i, push h, goto B (B,acbb,h) 读a, pop h, push hh, goto B (B,cbb,hh) 读c, pop h, push h , goto C (C,bb,hh) 读b, pop h, push ? , goto C (C,b,h) 读b ,pop h, push ? , goto C (C, ? ,? ) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. PDA与语法分析 PDA: NPDA, DPDA 2
文档评论(0)