2.理解文法和语文

1.理解符号串与集合运算。

L={A,B, … ,Z,a,b, … ,z}

D={0,1, … ,9}

说明下表示的含义:

LUD={A,B,...,Z,a,b,...,z,0,1,...,9};           集合L与集合D的并集。

LD={A0,...,A9,B0,...,B9,...,a0,...,a9,b0,...b9,...};   在集合L中任取一个元素与集合D中的任意一个元素组合。

L4={AAAA,AAAB,...,ABCZ,Aabb,...,zzzz,...}; 在集合L中任选四个字母组成的所有符号串的集合。

L*={ε,AA,BB,CC,AB,Aa,AAA,...}; 由L集合中的字母组成的所有符号串的集合。

D+={AA,BB,...,AAA,...AAAA,...};由D集合中一个或若干个数字组成的所有符号串的集合。

L(LUD)*:以字母开头,后跟字母,数字组成的所有符号串的集合。

2.文法G(Z):Z->aZb|ab定义的是什么样的语言?

Z->aZb|ab

=> Z->aZb,Z->ab

=>Z->aabb
=>Z->aaa......bbb
所以改语言为I(G[Z])={a^nb^n|n>=1}.

3.写出教材22页例2.2中标识符的文法四元组形式(VN,NT,P,S)。

I-> I | IL | ID

L->a | b | c |...| x | y | z

D->0 |1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

4.写出下列表达式的最左推导、最右推导。

G(E):

E=> E + T | T

T=>T * F | F

F=>(E)| i

  • i*i+i
  • i+i*i
  • i+(i+i)

注意观察最左和最右推导过程的不同。

  • i*i+i
  • 最左推导:        E=> E + T => T + T =>  T * F  + T =>  F * F  + T =>  i * F  + T =>  i * i  + T =>  i * i  + F => i * i  + i
  • 最右推导:        E=> E + T => E + F =>  E  + i =>   T + i =>  T * F  + i =>  T * i  + i =>  F * i  + i => i * i  + i

  i+i*i

    最左推导:        E=> E + T => T + T =>  F  + T =>  i + T =>  i  + T * F=>  i  + F * F =>  i + i * F => i + i * i

      最右推导:        E=> E + T => E + T * F =>  E  + T * i =>  E + F * i =>  E + i * i =>  T + i * i =>  F + i * i => i + i * i

 i+(i+i)

     最左推导:        E=> E + T => T + T =>  F  + T =>  i + T =>  i + F =>  i + (E) =>  i + ( E + T) => i  +( T + T ) => i + (F + T) => i + ( i +T ) => i + ( i + F) => i + ( i + i )

     最右推导:        E=> E + T => E + F =>  E  + ( E ) =>  E + ( E + T ) =>  E + ( E + F ) =>  E + (E + i ) =>  E+ ( T + i) => E  +( F + i ) => E + (i + i) => T + ( i +i ) => F + ( i + i) => i + ( i + i )

原文地址:https://www.cnblogs.com/a131452/p/11505365.html

时间: 2024-07-31 20:31:10

2.理解文法和语文的相关文章

理解文法和语文

1.理解符号串与集合运算. L={A,B, … ,Z,a,b, … ,z} D={0,1, … ,9} 说明下表示的含义: LUD         :全部字母和数字的集合 LD        :由一个字母后跟一个数字组成的所有符号串的集合 L4         :由4个字母组成的所有符号串的集合 L*            :由字母组成的所有符号串(包括∑)的集合 D+           :由一个或若干个数字组成的所有符号串的集合 L(LUD)*  :以字母开头,后跟字母.数字组成的所有符号串

编译原理之理解文法和语言

简介 一个程序设计语言是一个记号系统,如同自然语言一样,它的完整定义应包括语法和语义两个方面.所谓一个语言的语法是指一组规则,用它可以形成和产生一个合适的程序.目前广泛使用的手段是上下文无关文法,即用上下文无关文法作为程序设计语言语法的描述工具.语法只是定义什么样的符号序列是合法的,与这些符号的含义毫无关系,比如对于一个Pascal程序来说,一个上下文无关文法可以定义符号串A:=B+C是一个合乎语法的赋值语句,而A:=B+就不是.但是,如果B是实型的,而C是布尔型的,或者B.C中任何一个变量没有

文法和语文总结与梳理

1. 梳理第二章的内容,写一篇理解与总结. 理解: 第二章讲了文法和语言,文法是有规则的,按照给出的文法规则,编译出相应的语言. 文法描述的语言是该文法一切句子的集合. 文法有四种类型:0型语言,上下文有关语言,上下文无关语言和正规语言. 且文法也具有二义性,就是一种文法,可以用两种以上的语法树来表示,则称这个文法有二义性. 推导方式有最左和最右推导,最右推导则是规范推导.根据文法推导出来的句子,可以用语法树更直观的表达出来. 还有一个句型分析,分为短语,直接短语,句柄. 总结:学完了第二章,自

4.文法和语文总结与梳理

文法:文法是对语言结构定义与描述,即从形式上描述和规定语言结构,也称为语法. 字母表:元素的非空有穷集合,字母表的元素称为符号,所以字符表也称为符号集. 符号串:定义在某一字母表上 由该字母表中的符号组成的有限符号序列 同义词:句子,字 文法和语言的形式定义: 规则也称重写规则,产生式或生成式 文法类型:0型文法,上下文有关的,上下文无关的 语法树:语法分析树或分析树 语言:在某一确定字母表上的特定符号串的集合. 原文地址:https://www.cnblogs.com/fzybk/p/1157

聊聊阅读:从路飞和鸣人哪个厉害说起

无意中看到了黄国珍在TEDxTaiPei上的一个演讲,“掌握阅读技巧是了解这个世界秘密的关键(Redefining the importance of literacy)”. 里面说了一个很有意思的小故事.话说一次吃饭的时候,隔壁桌两个国中生讨论,海贼王里的路飞和火影里的鸣人究竟谁更厉害? 争论的过程是这样的:“我说路飞厉害!鸣人厉害!路飞厉害!鸣人厉害……”. 这样复读机式的争论持续了10分钟,然后家里的大人出马了:“这个有什么好争的,没有意义.你们声音太大了,安静点老实吃饭!” 在整个演讲里

CS224d lecture 12札记

欢迎转载,转载注明出处: http://www.cnblogs.com/NeighborhoodGuo/p/4711678.html CS224d的第十一课是他们的课上考试,所以后面的视频就直接跳到lecture 12了.lecture 12是一位外宾过来讲得,据说是Facebook的工程师,讲了现在最前沿的AI research,AI很多东西在全世界范围内都没有解决方案或者说对某一问题有统一的意见,所以这堂课不是介绍一个成熟的model,可以理解这一讲是为大家打开一扇门,让大家了解AI中的这部

MySQL索引的三星评估(three-star system)

在<高性能MySQL>中文第三版提到了索引的评估:三星评估(three-star system). 在<High Performance MySQL (3rd Edition)>英文第三版的原文是: Lahdenmaki and Leach's book also introduces a three-star system for grading how suitable an index is for a query.The index earns one star if it

Python的初步了解

从今天开始呢, 我要坚持每一周都写一篇博客,算是对自己一周的学习总结和知识的回顾.这样可以加深对于学习的认识和理解,从小语文什么的就不怎么好,但是我不是写小说和诗词什么的,所以有的时候措词不怎么好,还请大家多多包容和谅解,3Q!!!  我也是偶然才接触到Python这个语言,虽然我是一个学计算机的出身,但是真的是2016年年底的时时候这么对Python有了兴趣.我才在我的好奇下开始对Python进行了初步的了解,我看了Python的初步介绍才知道我和Python还是有一些缘分的.  Python

自己的理解——编译原理中的四种文法

转载请注明来源http://www.cnblogs.com/qjkobe/p/5332612.html,谢谢. 编译原理学文法类型的时候,会出现乔姆斯基给出的四种文法类型,然而,这些概念太过于抽象了,对于初学者实在很难理解,所以,在这里,我给出一些我自己的理解,希望能对大家有所帮助. 在这之前,你必须对终结符和非终结符有所了解,简单来说,非终结符就是这个东西还能→别的东西(→的标准叫法是定义为),但是终结符就不能了,比如说,分子→原子,原子→夸克.夸克就不能再分了,所以不能由其他粒子定义.(随便