版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章根据语法和语言、高级语言的出现和使用,必须面对编译理论的研究和编译节目设计。编译过程是非常复杂的信息处理过程,它是用高级语言编写的程序。1.要成功完成编译操作,需要解决的问题包括:如何正确说明或定义编程语言?如何识别和分析牙齿语言?2.20世纪50年代,N.choumsky首先讨论了语言的描写。提出了用于描述语言的数学系统。定义了你茄子性格的其他语法和语言(0型语法、1型语法、2型语法、3型语法)。主要内容,2.1语言和语法的直观概念2.2符号和符号字符串2.3语法和语言的格式定义2.4语法的类型2.5上下文无关语法和语法树2.6文章模式分析2.7语法的一些说明,2.1语言和语法的直观概
2、念,编程语言的定义语言是符号系统。符合汉语-汉语语法的句子的整体英语-符合英语语法的句子的整体编程语言-该语言的整体节目,编程语言由语法和语义定义。语法(syntax)定义:是适当的节目描述工具3360语法角色:定义,语义分类:静态语义:确定符合语法的程序是否具有适当的动态语义的一系列限制规则:程序是什么描述工具:参考语义、操作语义等角色3360检查类型匹配、操作语义等。语法是描述语言语法(形式)结构的格式规则。如果语言贫穷(只包括贫穷的句子),则可以逐个列出句子,表明如果语言无限,就要寻找语言的贫穷表达。有两种生成方法(语法)的茄子方法。语言中的每个句子都可以使用严格定义的规则来构造识别方法
3、(机器人)。当作为一个进程输入的字符串属于语言时,如果进程计算受到限制,则停止并回答“是”。否则,您可以停止并回答“否”。2.2符号和符号字符串,字母定义:元素的非空集合,例如=01=ab,c元素称为符号,字母也称为符号集。编程语言的字母由字母数字字符和几个茄子特殊符号组成。符号字符串定义:ab由字母表中的符号组成的所有有限序列示例:0,00,10是字母=0,1的符号字符串a,ab,aaca是=a,b,c的符号字符串。符号的顺序不同,顺序也不同。用于表示空集合符号字符串长度:符号字符串中包含的符号数(例如, |abc|=3| |=0,子符号字符串,非空符号字符串u=xvy)。其中v是符号字符串
4、u的子符号字符串。v(例如符号字符串x=a b*(c d)、a、a b*、(c d)等,分别为|a|=1、|a b*|=4、长度x的子符号字符串Y如果不为空,则x为如果x不为空,则y是z的唯一尾巴。例如字母A=a、b、c中的符号字符串x=abc、x的头部:A、ab、abc、尾部:c、bc、ABC唯一头部:A、ab符号字符串a本身通过n次连接获得的符号字符串an=AAAA例如a1=a a2=aa符号字符串集的乘积:符号字符串集a和b的乘积定义为: AB=xy|xA和yB。换句话说,AB是字符串xy的集合,由a的字符串x和b的字符串y连接。如果集A=ab,cde B=0,1,则AB=ab0,ab1
5、,cde0,cde1显然是A=A=A,符号字符串集的平方是符号字符串集A的集合,则Ai具体称为符号字符串集A的平方, A0=.a (k个),集合的闭包集合的闭包*定义如下:*=0 1 2 3例:字母=0,1 *,正闭包=123称为正闭包。集合*=0=*=* *,其中除外的所有长字符串,字母表中的一种语言是符合特定规则的某些符号字符串的集合,是*的子集。例如:=a、b *=、a、b、aa、ab、ba、bb、AAA、aab、1。集ab、aabb、aaabbb、anbn集a、aa、aaa或w|w*和w=an,n1是字母表的语言。一种语言。摘要,1符号和2符号字符串3符号字符串3符号字符串的运算4符号
6、字符串集合5集合的闭包6字母的闭包,2.3语法和语言的格式定义,1语法的定义2语法格式的约定3推导和约4文章,文章,语言的定义5语法的等价性,1语法的定义“我是大学生”是汉语的一个句子。用:3360=表示的汉语句子的构成规则:文章=主语谓语主语=代词=我,他的名词=王明大学生工人英语谓语=动词直接宾语动词=动词直接宾语=代词名词,文章“我是大学生”的衍生过程如下。从句子开始,文章主语谓词谓词谓词谓词谓词谓词谓词内的谓语内的动词直接宾语我是直接宾语。我是名词。我是大学生。关键的思维方式。从语法的开始符号开始,反复使用生产式,代替(扩展)非终止式。直到整个字符串不包含非终止符。这时,获得牙齿语法的
7、文章(节目)牙齿过程称为诱导。语法的定义由四个茄子组件组成。终止符号集(不可替换的符号,单词符号)未终止的符号集(终止符号或未终止的符号,语法单位)起始符号(从牙齿符号开始替换)用右字符串替换左字符串),语法的格式定义,生成表达式(规则)生成表达式是顺序对(,),通常是说明:v=VT和P不是空的,穷集VNVT=S是非终止符,必须至少在一个生成式的左侧出现非终止符,以表示一种语言的语法成分。 例如,构成程序的语法成分。牙齿符号本身不会出现在程序中,终结符是构成程序的具体符号。2 .语法形式定义上的约定,语法习惯上只作为生成式写。第一个生成表达式的左侧是起始符号,GS是作为起始符号括在尖括号中的非
8、终止符。否则就是终结者。或者,大写字母表示非终止符的字符,小写字母表示终止符G可以写为GS,S是起始符号,希腊字母可以写为由终止符号和未终止符号组成的符号字符串,左侧的同一生产式A,A可以写为A|。其中“|”的意思是“或”,分别称为后线式。例如:VT,P,S),其中VN=S,vt=0,1,P=S0S1,S01以S开头。例如,语法g=(VN,vt,p,s);S=示例:语法GS: sa | sa | SD aa | b | | zd0 | 1 | | 9,3。衍生和契约,V w直接诱导是将生成式的左边替换为生产式的右边的过程,将生成式的右边替换为生产式的左边的过程。例如,语法G: S0s1, S0
9、1具有直接诱导:s0s 1(s0s 1)0s 100S 11(s0s 1)00s 11000S 111(s0s 1)00s 11000S 111S=ba=ba S=ba=baa=n语法G4文章aaabb衍生:s=a b s a b=a a a a a a b a=a a a a b a=a a a b b b b=a a a a b b b b b,a=a b=a b a=ab、 A语法G5文章AAAABBB的衍生:S=A S B S B=A A S B B S B S B=A A A A A B B B B B B B S B=A A A A B B B B B S B=A A A A A
10、B B B B B B B B S B,直接衍生序列和广义衍生,直接提取序列:A A A A B B B B B B S B .如果un=w,(n0),则v w,v导出w,或者w塌陷到v(至少导出一步),则直接提取序列的长度为n。广义导数:或* v w或v=w的情况下,在v * w,v广义导数w,w广义正则中,v(可以包含零步导数),*,三个茄子导数的比较,直接导数()的长度是1直接导数序列()的长度n1,例如, 在语法ge中,从e推导到I i*i的方法是:(1)e t e t e t e t * f t * f t t * f t * I f t * I I t * I I I f * ii
11、 I I I * I(2)e t t t f t I t I t * f I f * I E I * I T I * I F I * I F I * I I I I * I(4)、规格衍生,通常仅考虑最左侧或最右侧的衍生,以便计算机自动衍生。最左(右)派生:在派生序列的每个阶段中替换的始终是当前文章模式中最左(右)的非终结点。例如,在上面的页面中,(2),(3)分别是最左侧、最右侧的派生项。格式上从符号字符串到符号字符串的衍生序列* xUy xuy *始终具有xVT* (yVT*)时,称为最左侧(右侧)的衍生定义。最左(右)衍生的文章图案称为左(右)文章图案。最右侧的诱导称为规范诱导。右侧的文
12、章图案称为标准文章图案。例如,示例1:语法GS : SAB A0 | 1B B0 | S1提供文章101001的最左边和最右边推导。最左侧的导数:sab 1 b10 b10 s 1 10a B1 101 bb1 1010 B1 101001最右侧的导数:sab as 1 aa 01 a1 b01 a1001 1b 1001 1001 1001 10101001,示例2语法g:ee t | t TTF | f f f f fe=e t=t t=f t=f t=f t=I t=I TF=I ff=I if=I ii最大的例子是:3360=递归规则的存在,它可以通过穷举规则定义无限语言。诸如U:33
13、60=u(或UxUy)的规则是递归的。如果规则外观为U:3360=U(或UUy),则称为左递归。如果规则如U:3360=u(或UxU),则称为右递归。例如:3360=,(左递归规则):3360=!(右递归规则),语法的递归,定义:对于语法,有UVN牙齿,U.在中,语法在U中递归。如果是U U u,语法在U中称为左递归。如果是U U u,语法从U递归到右。示例1: C语言中: (语法递归到右侧)示例2: UVX VUY | Z(非递归)具有U Uxy,因此语法是递归到左侧。注意:说明编程语言的语法都必须是递归的。递归语法,语法ge: e e t | t t t t * f | f f f (e) | I显然G1,G2都是递归定义的。递归定义是指在定义语法组件时直接或间接使用语法组件本身。重复语法(如语法G1),包括重复非终止符,语法G2的E,T是直接递归,F是间接递归。F(E)(T)(F)语法和语言之间没有一对一的对应关系。语法唯一地识别一种语言,但一种语言产生它的语法不止一种。4文章、文章、语言的定义、文章和句子都有语法GS。如果符号字符串源自起始字符,则S=*称为语法G中的文章模式。如果仅由终结器(S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石膏固定患者健康教育
- 物流组织设计
- 人质谈判技巧课件
- 工程施工流程标准化管理
- 健康教育处方制定与应用规范
- 消毒安全教育
- 活动照片生成与管理方案
- 2026年金属非金属矿山爆破考试题库(附答案)
- 可怕的喷嚏:人体反应与防护知识
- 彩礼退赔协议书
- 河北嘉恒隆生物科技有限责任公司建设年产 10000 吨食品用明胶、5000 吨食用蛋白粉、5000 吨宠物饲料和 5000 吨油脂资源综合利用项目环境影响报告表
- 2022室外排水设施设计与施工-钢筋混凝土化粪池22S702
- 人口社会学(第二版) 课件 第八章 婚姻家庭
- 摩托车的排气系统与排放控制
- 饭店送餐合同协议书
- 房颤的中医治疗
- 【医学课件】妊娠合并系统性红斑狼疮
- HDS-存储-AMS配置安装手册-V1.0
- 2023年湖南省长沙市中考物理试题(原卷)
- qdslrdashboard应用软件使用说明
- YY/T 0128-2004医用诊断X射线辐射防护器具装置及用具
评论
0/150
提交评论