2023年编译原理期中试题 解答

发布 2022-01-09 12:14:28 阅读 3612

1.(10分) 对下列错误信息,请指出可能是编译的哪个阶段(词法分析、语法分析、语义分析、**生成)报告的。

1) else 没有匹配的if

2) 数组下标越界。

3) 使用的函数没有定义。

4) 在数**现非数字字符。

5)函数调用时实参与形参类型不一致。

答案:(每小题2分)

1) 语法分析。

3) 语义分析。

4) 词法分析。

5) 语义分析。

2.(15分) 构造一个dfa,它接收σ=上所有满足如下条件的字符串:每个1 都有0 直接跟在右边。并给出该语言的正规式。

答案:()按题意相应的正规表达式是(0*10)*0*,或0*(0 | 10)*0* ,构造相应的dfa。

3.(10分) 为下面的语言设计文法:

2) *w的长度为奇数}

答案:(每小题 10分)

1)考虑在先产生同样数目的a,b,然后再生成多余的a。以下是一种解法:

s → asb | as |

2) a → ab | bb

b → aa | ba |

4.(10分) 填空。

1) 对于一个有n个非终结符,m个终结符的文法,如果可以为该文法构造一个ll(1)分析表,那么,该分析表应当有 n 行 m+1 列;如果可以为该文法构造一个slr分析表,那么,该action分析表应当有列。

2) 如果有一条产生式a → b,那么,follow(a)和follow(b)之间的关系是 follow(a)follow(b

3) 若文法是ll(1)的,则其中非终结符a的任意两条不同产生式a → 和a → 必须满足条件。

5.(15分) 给定文法:

e → e + t | e - t |t

t → t * f | t / f |f

f → e) |id

证明 e + t*(id)是文法的一个句型,指出该句型的所有短语、直接短语和句柄。

答:,短语:id,(id), t*(id), e+ t*(id)。

直接短语:id。

句柄是id。

6.(20分)已知上下文无关文法:

s → l=r | r

l → r | id

r → l

1) 请构造非终结符的first和follow集合。(5分)

2) 构造该文法的ll(1)分析表。该文法是ll(1)文法吗?(15分)

解:(1) 根据l → r | id,可得到first(l)=;

根据r → l,可得到first(r)= first(l)=;

根据s → l=r | r,可得到first(s)= first(l) first(r)=;

s是开始符号,所以有$follow(s);

又根据s → l=r,可得到=follow(l);

又根据s → l=r | r,可得到follow(s)follow(l);

又根据l → r,可得到follow(l)follow(r);

又根据r → l,可得到follow(r)follow(l);

所以有follow(s)=,follow= follow=。

(2) 构造ll(1)分析表如下:

由于分析的表目中存在冲突,该文法不是ll(1)文法。

7. (20分)考虑以下文法:

s → aa → ba |

b → ab| b

证明该文法是lr(1)的。

1)证明它是lr(1)文法;

2)构造它的lr(1)分析表;

7.(20分)阅读下面的lex程序,并回答:

1)该程序完成了什么功能?

2)修改该程序,使之能够计算输入的标识符个数。(直接改在试题上)

lex程序如下:

digit0-9]

integerdigit}+

fltdigit}+\

letter [a-za-z]

idletter}(|

integer} num_int++

fltnum_float++

nnum_line++

id} num_id++;

main()

yylex()

printf(“%d integers, %d floating point numbers, %d lines, %d identifiers.”,num_int, num_float, num_line, num_id) ;

解答:该程序完成的功能:计算整数、浮点数的个数,统计行数,并分别输出。

修改见程序。

2019下学期期中试题解答

高等数学期中考试试题 2011年4.20 学号姓名成绩。一 填空题 每空1分,共19分 1.设空间两直线相交于一点,则。2.过点且垂直于平面和的平面为。5 设,则 6.设具有二阶连续偏导数,则,7.曲面在点处的切平面方程为。8.函数在直线,轴和轴所围成的闭区域上的最大值为。4 最小值为 64.9.积...

2019矩阵论试题解答

考试方式 闭卷 太原理工大学矩阵分析试卷 a 适用专业 2011级硕士研究生考试日期 2012.1.9 时间 120 分钟共 8页。一 本题共10小题,每小题3分,满分30分。1 5题为填空题 1 已知为维实内积空间中的一个标准正交基,向量在该基下的坐标为,则。解答 2 矩阵的正奇异值是 解答 特征...

2019矩阵论试题解答

考试方式 闭卷 太原理工大学矩阵分析试卷 a 适用专业 2011级硕士研究生考试日期 2012.1.9 时间 120 分钟共 8页。一 本题共10小题,每小题3分,满分30分。1 5题为填空题 1 已知为维实内积空间中的一个标准正交基,向量在该基下的坐标为,则。解答 2 矩阵的正奇异值是 解答 特征...