- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
1型文法的另一种定义方法是文法G的每一个产生式具有下列形式:?A?????其中,?A??V*,A?VN,??V+;显然它满足前述定义的长度限制,但它更明确地表达了上下文有关的特性,即A必须在?、?的上下文环境中才能被?所替换。自然语言的语法应属于上下文有关文法。2型文法与2型语言(对应下推自动机)文法G的每一个产生式具有下列形式:A??其中,A?VN,??V*,则称文法G为2型文法或上下文无关文法,记为CFG(Context-FreeGrammar)。2型文法相应的语言称为2型语言或上下文无关语言,它的识别系统是下推自动机。程序设计语言的语法是上下文无关的。文法G的每个产生式具有下列形式:3型文法与3型语言(对应有限自动机)其中,A、B?VN,??VT*,则文法G称为右线性文法。若每个产生式具有下列形式:A??或A??B则文法G称为左线性文法。右线性和左线性文法都称为3型文法、正规文法,记为RG(RegularGrammar)。3型文法相应的语言为3型语言或正规语言,它的识别系统是有限自动机。A??或A?B?例2.1和例2.2中的文法都是上下文无关的。例2.3设G=(VN,VT,P,S),VN={S,B,E},VT={a,b,e}, P={S?aSBE,S?aBE, EB?BE, aB?ab,bB?bb, bE?be,eE?ee} 文法G是上下文有关的,L(G)={anbnen|n?1}S?0S1,S?01标识符?字母标识符?标识符字母标识符?标识符数字字母?a|?|z数字?0|?|9S?aSBE (S?aSBE)?aaBEBE (S?aBE)?aabEBE (aB?ab)?aabBEE (EB?BE)?aabbEE (bB?bb)?aabbeE (bE?be)?aabbee (eE?ee)S?aSBE?aaSBEBE?aaaBEBEBE四类文法的联系与区别联系:从0型文法到3型文法逐渐增加限制。1~3型文法都属于0型文法,2、3型文法均属于1型文法,3型文法属于2型文法。区别:(1)1型文法中不允许有形如“A??”的产生式存在,而2、3型文法则允许形如“A??”的产生式存在;(2)0、1型文法的产生式左部存在含有终结符号的符号串或两个以上的非终结符,而2型和3型文法的产生式左部只允许是单个的非终结符号。123文法的应用在编译方法中,通常用3型文法来描述高级程序语言的词法部分,然后用有限自动机FA来识别高级语言的单词;利用2型文法来描述高级语言的语法部分,然后用下推自动机PDA(Push-DownAutomata)来识别高级语言的各种语法成分。贯穿词法分析和语法分析始终如一的思想是:语言的描述和语言的识别是表示一个语言的两个不同的侧面,二者缺一不可。用正规文法和上下文无关文法描述语言时的识别方法(即自动机)不同。通常,正规文法适合于描述线性结构,如标识符、关键字和注释等;而上下文无关文法则适合于描述具有嵌套(层次)性质的非线性结构,如不同结构的语句if-else、while等。2.2推导与分析(语法)树上下文无关文法有足够的能力描述现今程序设计语言的语法结构,比如描述算术表达式和各种语句等。例2.6文法G[E]:E→E+E∣E*E∣(E)│i非终结符E表示一类算术表达式。i表示程序设计语言中的变量,该文法定义了由变量、+、*、(和)组成的算术表达式的语法结构。分析树对程序语言来说,有两个问题需要解决:其一是判别程序在语法上是否正确;其二是句子的识别或分析。在编译方法中,为了便于识别或分析句子而引入了分析树这一重要的辅助工具。分析树以图示化的形式把句子分解成各个组成部分来描述或分析句子的语法结构,这种图示化的表示与所定义的文法规则完全一致,但更为直观和完整。 对文法G=(VT,VN,S,P),满足下列条件的树称为G[S]的句型的分析树: (1)结点用G[S]的一个终结符或非终结符标记; (2)根结点用文法开始符S标记; (3)内部结点(指非叶结点)一定是非终结符,如果某内部结点A有n个分支,它的所有子结点从左至右依次标记为x1、x2、…、xn,则A?x1x2…xn一定是文法G[S]的一条产生式; (4)如果某结点标记为?,则它必为叶结点且是其父结点的唯一子结点。01例2.7例2.6的文法的一棵分析树02句子i+i*i的分析树E→E+E∣E*E∣(E)│i在一棵分析树生长过程中的任何时刻,所有那些没有后代的树叶结点自左至右排列起来就是一个句型。分析树表示了在推导过程中施用了哪个产生式和施用在哪个非终结符上,它并没
您可能关注的文档
最近下载
- 扬州大学马克思期末考试复习题.doc.doc VIP
- TD/T1009-2007《城市地价动态监测技术规范》.pdf
- 国有企业党委书记深入学习贯彻中央八项规定精神学习研讨发言材料.docx VIP
- 电工电子技术说课.ppt VIP
- 2025年关于深入贯彻中央八项规定精神学习教育的交流发言材料+单位部署开展深入贯彻中央八项规定精神学习教育讲话提纲.doc VIP
- 《赌博的危害》课件.ppt VIP
- 2025年中央八项规定专题党课讲稿四篇.docx VIP
- 大单元教学3.12《善用自然资源》课时课件 苏教版六年级科学下册 .pptx
- 关于王姓的历史和现状的研究报告.doc
- 墓园日常管护投标方案投标文件(技术方案).doc
文档评论(0)