编译原理课后习题(修订版)第二章高级语言及其语法描述3、何谓“标识符”,何谓“名字”,两者的区别是什么
解:标识符是高级语言中定义的字符串,一般是以英文字母(包括大小写字母)或下划线开头的,由数字、字母和下划线组成的一定长度的字符串,它只是一个标志,没有其他含义
名字是用标识符表示的,但名字不仅仅是一个字符串,它还具有属性和值
4、令+、*和↑代表加、乘和乘幂,按如下的非标准优先级和结合性质的约定,计算1+1*2↑*1↑2的值:(1)、优先顺序(从高至低)为+、*和↑,同级优先采用左结合
(2)、优先顺序为↑、+、*,同级优先采用右结合
解:(1)、1+1*2↑*1↑2=2*2↑*1↑2=4↑*1↑2=4↑↑2=(2)、1+1*2↑*1↑2=6、令文法G6为N→D∣ND,D→0∣1∣2∣3∣4∣5∣6∣7∣8∣9(1)、G6的语言L(G6)是什么
(2)、给出句子0127、34和568的最左推导和最右推导
分析:根据产生式N→D∣ND可以看出,N最终可推导出1个或多个(可以是无穷多个)D,根据产生式D→0∣1∣2∣3∣4∣5∣6∣7∣8∣9可以看出,每个D可以推导出0至9中的某一个数字
因此,N最终推导出的是由0到9这10个数字组成的字符串
解:(1)、L(G6)是由0到9这10个数字组成的字符串
(2)、句子0127、34和568的最左推导:N=>ND=>NDD=>NDDD=>DDDD=>0DDD=>01DD=>012D=>0127N=>ND=>DD=>3D=>34N=>ND=>NDD=>DDD=>5DD=>56D=>568句子0127、34和568的最右推导:N=>ND=>N7=>ND7=>N27=>ND27=>N127=>D127=>0127N=>ND=>N4=>D4=>34N=>ND=>N8=>ND8=>N68=>D68=>5687、写一个文法,使其语言是奇数集,且