编译原理2.1文法和语言素材.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.1 文法和语言;0 概述;当我们表述一种语言时,无非是要说明这种语言的句子,如果语言只含有穷多个句子,则只需列出句子的有穷集就行了,但对于含有无穷句子的语言来讲,就存在着如何给出它的有穷表示的问题。 以自然语言为例,人们无法列出全部句子,但是人们可以给出一些规则,用这些规则来说明(或者定义)句子的组成结构,比如汉语句子可以是由主语后随谓语而成,构成谓语的是动词和直接宾语。;任何语言均可看作一个集合。这个集合中的每个元素都是在一定符号集(字母表)上的一个符号串。 对于自然语言来说,它们是定义在某个字母表上的句子的集合。 对于程序语言来说,它们也是定义在某个字母表上的句子的集合。 这里的句子,就是一个源程序。 通常,源程序是由关键字、标识符、常数、运算符以及一些界限符组成。 这些语法成分统称为单词或单词符???。 单词符号是语言中具有独立意义的最基本单位。语言的单词符号是由词法规则所确定的,即词法规则规定了单词符号的形成规则。;语言概述;研究程序设计语言 每个程序构成的规律 每个程序的含义 每个程序和使用者的关系;语法 —— 表示构成语言句子的各个记号之间的组合规律。 语义 —— 表示各个记号的特定含义。(各个记号和记号所表示的对象之间的关系) 语用 ——表示在各个记号所出现的行为中,它们的来源、使用和影响。;如果不考虑语义和语用,即只从语法这一侧面来看语言,这种意义下的语言称作形式语言。 形式语言抽象地定义为一个数学系统。 “形式”是指这样的事实:语言的所有规则只以什麽符号串能出现的方式来陈述。 形式语言理论是对符号串集合的表示法、结构及其特性的研究。是程序设计语言语法分析研究的基础。;一、 形式语言基础;符号串的形式定义 有字母表?,定义: (1)ε是?上的符号串; (2)若x是?上的符号串,且a? ?,则ax或xa是?上的符号串; (3)y是?上的符号串,当且仅当y可由(1)和(2)产生。 ;重要约定: 小写字母 s, t, u, ??? , z 表示符号串 大写字母 A, B, C, ??? , Z 表示符号串集合;二.符号串的运算 1.符号串相等:设 x 、y 是字母表 ? 上的两个符号串,若 x  与 y 的诸符号依次相等,则该两符号串相等,记为 x = y  例:x=ab, y=ba, x=y?;2.符号串长度:设 x 是字母表?上的符号串,符号串中包含  符号的个数称为符号串 x 的长度,用? x ?表示 例: (1). | abc | = ? (2). | ? | = ? (3). | a x | = | x a | = | x | + 1 ( a ∈∑ );3. 符号串的连结:设 x 与 y 是字母表 ? 上的两个符号串,  把 y 的所有符号相继写在 x 的符号之后所得到的符号串  称为x 与 y 的连结,用 x y 表示  注意: | x y | = | x | + | y | ? x = x ? = x x y ≠ y x ( 一般说来 );. 若 x = abcd , 则 = ? ;5.符号串的前缀、后缀和子串:设 x、y、z 是字母表 ? 上的  符号串,则称 x 为符号串 x y 的前缀,y 是符号 串 x y 的  后缀, x、y 、 z 、xy 、yz 是符号串 x y z 的子串  例: abcd前缀、后缀、子串是什么?;6.符号串集合的乘积:设A、B为两个符号串集合,其乘积为 AB={xy|x?A,y ?B} 例: (1). 若 A = { ab, cd }, B = { ef, gh } ,AB=? (2). ∵ ? x = x ? = x ∴ { ? } A = A { ? } = A;7.空集:不含任何元素的集合,记为 ? 注意: (1). ? A = A ? = ? (2). ? ? ?;8.符号串的幂:设 x 是字母表 ? 上的符号串,则 x 的幂运算  为x 0 = ? x 1=x x 2=xx ?????? x n=x n-1x (xx n-1)  例: 若 x = ab 则: x 0 = ?, x 1 = ?, x 2 = ?, ??????,    x n = ?;9.符号串集合的幂:设 A 是符号串集合,则符号串 A 的幂运  算为: A

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档