编译原理第2章+形式语言基础.ppt

  1. 1、本文档共157页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理第2章形式语言基础

第二章 语言的基本知识 §2.1 语言概述 §2.2 符号和符号串 §2.3 文法与语言 §2.4 语法分析初步 §2.5 文法和语言分类 §2.6 文法其他表示法 §2.1 语言概述 一、语言的定义 二、形式语言提出 三、语言描述方法 四、与语言有关的几个概念 一、语言的定义 任何一种语言都是在某个特定字母表上定义的、按照一定的规则构成的字符串的集合。 二、形式语言提出 形式语言是研究符号的语言,它仅考虑符号间的关系,不考虑含义,即用数学方法(主要是代数方法)对语言进行形式化描述。 1956年N.Chomsky(乔姆斯基)在研究自然语言过程中提出一种文法数学模型,为形式语言理论打下了基础,成为计算机科学理论一个重要分支,即形式语言与自动机。 三、语言描述方法 枚举法 文法生成法:就是用有限个规则来产生出语言中无限个句子,这种规则集合称文法。 自动机识别法:用自动机对语言中的句子进行识别 四、与语言有关的几个概念 元语言:可用来描述其它语言的一种语言 语法:是在字母表上构造句子的一组规则 语义:是按照语法规则所构成结构的含义 语用:是表示语言符号与使用者关系 §2.2 符号和符号串 一、字母表 二、符号串 三、符号串集合 一、字母表 有限个元素的非空集合称字母表,也称符号集。它是组成一个语言最基本的成分。字母表中元素称符号。 习惯上用V、Σ或其它大写字母表示。例如V={a,b,c},V={α,β…ω} | V|表示字母表中符号的个数。 对于不同程序设计语言有不同字母表。例如,机器语言字母表={0,1},PASCAL语言的字母表由字母、数字以及一些特殊符号,如+,-,*,/,·,(,),=,…等组成。 注意:在一个语言中不能出现字母表以外的符号。 二、符号串 1、定义 符号串是字母表中的符号所组成的任何有穷序列(有时也称为符号行或字) 例如: 设V={a,b,c},则符号串有 a, b, c, aa, ab, ac, ba, abc… 又如: 设V={0,1},则符号串有 0,1,00,01,10,11,000… 由上例可以看出,符号串与符号组成顺序有关,如符号串ab不同于ba, 符号串01不同于10,今后我们常用t,u,v,…x,y,z等小写字母表示符号串。 2、空符号串 不包含任何符号的符号串称为空符号串,记为ε。 3、符号串长度 符号串中所含符号个数称为该符号串的长度,设符号串为x,则用|x|来表示x的长度。例如:x=abc,则|x|=3,显然,|ε|=0。 4、关于符号串的几种运算 (1)符号串的联结 设有符号串x和y,则它们的联结xy是将符号串y直接拼接在符号串x之后,即 x=x1x2x3…xm, y=y1y2y3…yn 则 x y = x1x2x3…xmy1y2y3…yn 显然εx = x, xε= x (2)符号串的方幂 若x是符号串 则x0=ε, x1=x,x2=xx,x3=xxx,…xn=xx…x(n个) 如x=abc 则x0= ε, x1 = abc, x2= abcabc X3= abcabcabc 三、符号串集合 举例:字母表V={a,b},问用V中的符号,可以组成哪些符号串? 解: ε,a,b,aa,ab,ba,bb,aaa,…bbb,… 1、定义:若集合A中的一切元素都是字母表V上的符号串,则称A为字母表V上的符号串集合 V*定义:字母表V上各种长度符号串构成串集合,记为V*,不包括空行的集合记为V+ 即 V*={x|x是V上符号串且包括空符号串} V+={x|x是V上符号串且不包括空符号串} V+=V*-{ε} 如:V={a,b},则 V*={ε,a,b,aa,ab,ba,bb,aaa,…bbb,…} V+={a,b,aa,ab,ba,bb,aaa,…

文档评论(0)

peain + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档