- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章目的 自然语言是人与人交流思想的工具,程序语言是人和计算机之间传达信息的工具。为了描述程序语言,本章将引进有关形式语言的基本概念。文法是程序语言的生成系统,自动机是程序语言的识别系统,用文法来精确定义一个语言,然后根据这个文法构造识别这个语言的自动机,因此文法对程序语言和编译程序的构造来说意义重大。随着计算机的发展,形式语言学发展很快。N.Chomsky将文法分成四类,程序语言的词法可用正规文法描述,语法可用上下文无关文法描述,语义则要借助于上下文有关文法来描述。因此我们的注意力是针对这几类文法,特别是上下文无关文法。 定义2.19 文法G的每一个产生式均为下列形式: A→α其中α ∈V*,A ∈Vn 则称文法G为2型文法或上下文无关文法。 显然用α去替换A时,与A的上下文无关。 2型文法相应的语言称为2型语言或上下文无关语言。它的识别系统是下推自动机。 定义2.20 文法G的每个产生式均为下列形式: A→α或A→αB 其中α ∈Vt*,A ,B∈Vn ,则文法G称为3型文法或正规文法、右线性文法。3型文法相应的语言为3型语言或正规语言,它的识别系统为有限自动机。 当然3型文法呈左线性形式: A→α或A→Bα也是一样的。 习 题: 2.1(a),(b) 2.2 2.3 2.5 2.6 * * 编译原理 第二章 文法和语言 上海交通大学 张冬茉 Email:zhang-dm@cs.sjtu.edu.cn 2005年3月 第二章 文法和语言 §2.1 基本概念 一、语言 1. 字母表 定义2.1 符号的非空有穷集合称为字母表,通常用∑表示。字母表中每个元素称为一个符号或一个字符。 不同语言的字母表可能是不同的,例如二进制数这个语言的字母表∑={0,1}。程序语言中的标识符,它的字母表∑={a,b,..,z,0,1,..,9}。通常程序语言的字母表是ASCⅡ字符集。 2. 字符串 定义2.2 由字母表∑中的字符所组成的有穷序列,称为字母表上的符号串,或字符串,字。 [例2.1]如,字母表∑={0,1},则0,1,00,01,10,11,000,001,010,…都是∑上的字符串,如则a, b, , ab, ba, bb, aaa…分别是∑上的字符串。 ?空串:不包含任何字符的字符串,用ε表示,它是∑上的一个特殊的字符串。对任一字母表∑,都有ε是∑上的字符串。 ?字符串的长度:是指字符串x中的字符的个数,用|x|表示。如x=abc,则|x| =3。特别地有| ε | =0. ?字符串的联结:设x,y是∑上的字符串,则它们的联结xy是将y的符号相继连接在x的符号后所得到的新的字符串,如,x=aba,y=bba,则xy=ababba. 联结是字符串上的一种运算,满足结合律,但不满足交换律。但εx=xε=x则另当别论。 3.子串 ?字符串的前缀和后缀:设z=xy则x是z的前缀,y是z的后缀,特别当y≠ε时x是z的真前缀,当x≠ε时,y是z的真后缀. [例2.2]设x=abc,则ε,a,ab,abc都是x的前缀,其ε,a,ab为真前缀,而abc,bc,c, ε都是x的后缀,其中bc,c, ε为真后缀。 定义2.3 一个非空字符串x删去它的前缀和后缀后所得的字符串为x的子串,如果删去的前缀和后缀不同时为ε ,则该子串为真子串。 [例2.3]设x=abc,其子串为abc, ab, bc, a, c, b, ε 真子串为 ab, bc, a, c, b, ε请注意ac不是子串,它只是字符串abc的一个子序列。 4.语言 定义2.4 : 给出字母表? ,则?上任一字符串集合,称为?上的一个语言,记为L,该语言的每一个字符串,便是语言L的一个语句或句子。 [例2.4]设?={a,b,c},则L={a,aa,ab,aaa,aab,aba,abb,…}为?上的一个语言,如果a表示字母,b表示数字,c看作其他符号,则L通常是程序语言中的标识符集。其中每个标识符便是标识符集的一个句子。 由有限个字符串组成的集合为一有穷语言,反之为无穷语言。 ?对于字母表? ,用?*表示?上所有字符串的集合。 如?={a,b},则?*={? ,a,b,aa,ab,bb,ba,…}。 显然?上的任一语言L,都有L? ?* 对于? ,令?+=?*-{?},它是?上不含空串的字符串集合。 ?对于?*的子集L,M,(它们都?上的语言),可以定义下列四种语言之间的运算。 定义2.5 :语言L和M的连接,LM={xy | x∈L and y∈M}。 基于同一律, {?}L=L {?}=L,除此而外,通常LM≠ML,即连接不满足交换律,但满足结合律,即(LM)N
您可能关注的文档
- 第11章 三维立体人才管理系统的构建.ppt
- 客户经理基本素质.ppt
- 广告学基础——整合营销传播.ppt
- 缺省路由汇总报告.ppt
- 计算机辅助设计(Proe)课件第五章.ppt
- 人教版生物第三章第二节细胞器.ppt
- 2011传递讲义5(201103014).ppt
- 注册公用设备师考试复习资料——物理光学1.ppt
- 第五章贴现现金流量的估价.ppt
- 第二节_半纤维素降解微生物及半纤维素酶类[1].ppt
- 讲稿:深入理解“五个注重”把握进一步深化改革统筹部署以钉钉子精神抓好落实.pdf
- 副市长在2025年全市医疗工作会议上的讲话.docx
- 2025年市县处级以上党委(党组)理论学习中心组专题学习计划.docx
- 市民族宗教事务局党组书记、局长2024年度民主生活会个人对照检视发言材料.docx
- 烟草局党组书记2024年度抓基层党建工作述职报告.docx
- (汇编)学习2025年全国教育工作会议精神心得体会发言心得感悟.pdf
- 汇编学习领会在二十届中纪委四次全会上的重要讲话精神心得体会.pdf
- 在2025年镇安全生产、消防安全和生态环境保护第一次全体会议上的讲话提纲.docx
- 书记干部座谈会上的讲话+纪委全会上的讲话.pdf
- 党课:从毛泽东诗词中感悟共产党人初心使命.docx
最近下载
- 外研版 选择性必修第二册Unit3 Times change Developing ideas 课件.pptx
- 带头严守政治纪律和政治规矩,维护党的团结统一等四个方面存在的问题与整改材料4.docx VIP
- 市政工程竣工验收流程图汇.doc
- 【新教材】统编版高中历史选择性必修3《文化交流与传播》教学计划(含教学进度表).pdf
- 2024年苏州卫生职业技术学院单招语文考试试题及答案解析.docx
- 美的-风冷热泵模块机组技术手册.pdf
- 2024年长沙职业技术学院单招语文考试试题及答案解析.docx
- 2024年高中生物晨背和晚背知识点.doc
- 医院培训课件:《护理查对制度》.pptx
- 高中数学教学中的学生自主学习能力分析教学研究课题报告.docx
文档评论(0)