- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原第三章答案
第3章 文法和语言
第1题
文法G=({A,B,S},{a,b,c},P,S)其中P为:
S→Ac|aB
A→ab
B→bc
写出L(G[S])的全部元素。
答案:
L(G[S])={abc}
第2题
文法G[N]为:
N→D|ND
D→0|1|2|3|4|5|6|7|8|9
G[N]的语言是什么?
答案:
G[N]的语言是V+。V={0,1,2,3,4,5,6,7,8,9}
N=ND=NDD.... =NDDDD...D=D......D
或者:允许0开头的非负整数?
第3题
为只包含数字、加号和减号的表达式,例如9-2+5,3-1,7等构造一个文法。
答案:
G[S]: S-S+D|S-D|D D-0|1|2|3|4|5|6|7|8|9
第4题
已知文法G[Z]:
Z→aZb|ab
写出L(G[Z])的全部元素。
答案:
Z=aZb=aaZbb=aaa..Z...bbb= aaa..ab...bbb
L(G[Z])={anbn|n=1}
第5题
写一文法,使其语言是偶正整数的集合。 要求:
(1) 允许0打头;
(2)不允许0打头。
答案:
(1)允许0开头的偶正整数集合的文法 E→NT|D T→NT|D N→D|1|3|5|7|9 D→0|2|4|6|8
(2)不允许0开头的偶正整数集合的文法 E→NT|D T→FT|G N→D|1|3|5|7|9 D→2|4|6|8 F→N|0 G→D|0
第6题
已知文法G:
表达式::=项|表达式+项
项::=因子|项*因子
因子::=(表达式)|i
试给出下述表达式的推导及语法树。
(5)i+(i+i)
(6)i+i*i
第8题
文法G[S]为:
S→Ac|aB
A→ab
B→bc
该文法是否为二义的?为什么?
答案:
对于串abc
(1)S=Ac=abc (2)S=aB=abc
即存在两不同的最右推导。所以,该文法是二义的。
或者:
第10题
文法S→S(S)S|ε
(1) 生成的语言是什么?
(2) 该文法是二义的吗?说明理由。
答案:
(1) 嵌套的括号
(2) 是二义的,因为对于()()可以构造两棵不同的语法树。
第11题
令文法G[E]为:
E→T|E+T|E-T
T→F|T*F|T/F
F→(E)|i
证明E+T*F是它的一个句型,指出这个句型的所有短语、直接短语和句柄。
第14题
给出生成下述语言的上下文无关文法: (1){ anbnambm| n,m=0} (2){ 1n0m 1m0n| n,m=0}
(3){WaWr|W属于{0|a}*,Wr表示W的逆}
答案:
(1) S→AA A→aAb|ε (2) S→1S0|A A→0A1|ε (3)
S→0S0|1S1|ε
第16题 给出生成下述语言的三型文法:
(1){an|n =0 }
(2) { anbm|n,m=1 }
(3){anbmck|n,m,k=0 }
答案:
(1) S→aS|ε
(2) S→aA A→aA|B B→bB|b
(3) A→aA|B B→bB|C C→cC|ε
第18题
解释下列术语和概念:
(1) 字母表
(2) 串、字和句子
(3) 语言、语法和语义
答案:
字母表:是一个非空有穷集合。
(3)语言:它是由句子组成的集合,是由一组记号所构成的集合。程序设计的语言就是所
有该语言的程序的全体。语言可以看成在一个基本符号集上定义的,按一定规则构成的一切基本符号串组成的集合。
语法:表示构成语言句子的各个记号之间的组合规律。程序的结构或形式。
语义:表示按照各种表示方法所表示的各个记号的特定含义。语言所代表的含义。
附加题
问题1:
给出下述文法所对应的正规式: S→0A|1B A→1S|1 B→0S|0
答案:
R = (01 | 10) ( 01 | 10 )*
问题2:
已知文法G[A],写出它定义的语言描述 G[A]: A → 0B|1C B → 1|1A|0BB C → 0|0A|1CC
答案:
G[A]定义的语言由0、1符号串组成,串中0和1的个数相同.
问题3:
给出语言描述,构造文法. 构造一文法,其定义的语言是由算符+, *, (,)和运算对象a构成的算术表达式的集合.
答案一:
G[E] E→E+T|T T→T* F|F F→(E)|a
答案二:
G[E] E→E+E|E* E|(E)|a
问题4:
已知文法G[S]:
S→dAB
A→aA|a
B→ε|bB
相应的正规式是什么?G[S]能否改写成为等价的正规文法?
答案:
正规式是daa*b*;
相应的正规
文档评论(0)