全部短语、直接短语和句柄?句型baSb的语法树如图五2所示。S
A
B
b
B
S
b
a
图五2句型baSb的的语法树
3.设有非确定的有自限动机NFAMA,B,C,0,1,δ,A,C,其中:δA,0CδA,1A,BδB,1CδC,1C。请画出状态转换距阵和状态转换图。
f参考答案
一、单项选择题共10小题,每小题2分,共20分
1.语言是A.句子的集合B.产生式的集合C.符号串的集合D.句型的集合2.编译程序前三个阶段完成的工作是A.词法分析、语法分析和代码优化B.代码生成、代码优化和词法分析C.词法分析、语法分析、语义分析和中间代码生成D.词法分析、语法分析和代码优化3.一个句型中称为句柄的是该句型的最左A.非终结符号B.短语C.句子D.直接短语4.下推自动机识别的语言是A.0型语言B.1型语言C.2型语言D.3型语言5.扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即A.字符B.单词C.句子D.句型6.对应Chomsky四种文法的四种语言之间的关系是A.L0L1L2L3B.L3L2L1L0C.L3L2L1L0D.L0L1L2L37.词法分析的任务是A.识别单词B.分析句子的含义C.识别句子D.生成目标代码8.常用的中间代码形式不含A.三元式B.四元式C.逆波兰式D.语法树9.代码优化的目的是A.节省时间B.节省空间C.节省时间和空间D.把编译程序进行等价交换10.代码生成阶段的主要任务是A.把高级语言翻译成汇编语言B.把高级语言翻译成机器语言C.把中间代码变换成依赖具体机器的目标代码D.把汇编语言翻译成机器语言
f二、填空题(本大题共5小题,每小题2分,共10分)
1.编译程序首先要识别出源程序中每个单词,然后再分析每个句子并翻译其意义。2.编译器常用的语法分析方法有自底向上和自顶向下两种。3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的分析,中间代码生成、代码优化与目标代码的生成则是对源程序的综合。4.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即静态存储分配方案和动态存储分配方案。5.对编译程序而言,输入数据是源程序,输出结果是目标程序。
三、名词解释题共5小题,每小题4分,共20分
1.词法分析词法分析的主要任务是从左向右扫描每行源程序的符号,按照词法规则从构成源程序的字符串中识别出一个个具有独立意义的最小语法单位,并转换成统一的内部表示toke
,送给语法分r