《编译原理》A卷

合集下载

编译原理考试试卷+答案A卷

编译原理考试试卷+答案A卷

编译原理期末试卷1.给出LL(1)分析方法的总控流程图。

(5分)2.按指定类型给出下列语言的文法。

(10分)(1) L1={ ca n b m| n≥0,m>0 } 用正规文法。

S→cA A→aA|aB|a B→bB|b(2) L2={ 0n a 1n b m| n>0,m ≥0} 用二型文法。

S→0S1B|0a1 B→bB|c3.文法G[S]为:(10分)S→SdT | T T→T<G | G G→(S) | a试给出句型adT<(S)的短语、简单(直接)短语、句柄和最左素短语。

短语:a, T, (S), T<(S), adT<(S) 直接短语:a, (S) 句柄:a 最左素短语:a 4.将文法G[S] 改写为等价的G'[S],使G'[S]不含左递归和左公共因子。

(5分)S→[A A→B]|AS B→aB|+aS→[A A→B]A’A’→SA’|εB→aB|+a5.判断下面文法是否为LL(1)文法,若是,请构造相应的LL(1)分析表,并写出aabbb 的分析过程。

(10分)S→aD D→STe|ε T→bM M→bH H→M|ε6.简述编译程序概念及构成。

(10分)编译程序是现代计算机系统的基本组成部分.从功能上看,一个编译程序就是一个语言翻译程序,它把一种语言(称作源语言)书写的程序翻译成另一种语言(称作目标语言)的等价的程序.7.设G=(V N,V T,P,<S>)是上下文无关文法,产生式集合P中任意一个产生式应具有什么样的形式?若G是正则文法呢?(10分)2型(上下文无关):规则形式:A→βA ∈VN,β∈ (VT⋃VN)*3型(右线性):A→aB或A→a(右线性)A→Ba或A→a (左线性)a ∈VT⋃{ε}8.为文法G[E]:(10分)V → N | N[E] E → V | V+E N → i构造递归下降识别程序E( ){ V( ); if symbol = ‘+’E( ); }V( ){ N(); if symbol = ‘[’ { E(); if symbol != ‘]’error(); }N( ){ if symbol != ‘i ’ error(); }/* 这样的写法很简化,当文法提取左公因子后,需要计算相关非终结符的Follow 集,才能确定什么时候用空串规则推导。

《编译原理》(A)

《编译原理》(A)

2013届毕业生毕业前补考《编译原理》试卷注意事项:本试卷适用于09级本科、11级专升本计算机科学与技术、软件工程专业学生。

一、单项选择题(在下列每题的四个选项中,只有一个选项是符合试题要求的。

请把答案填入答题框中相应的题号下。

每小题1分,共15分)1.编译的基本任务是()。

A.将源语言程序翻译成目标语言程序B.将源语言程序翻译成等价的目标语言程序C.将高级语言翻译成机器语言D.将高级语言翻译成等价的机器语言2.构造编译程序应掌握()。

A.源程序B.目标语言C.编译方法D.以上三项都是3.一个规范句型的句柄是它的()。

A.最左直接短语B.最左素短语C.任意直接短语D.任意素短语4.给定文法G:A→xAx|y,其描述的语言是()。

A.xyx B.xy n x C.x n yx n D.x n yx5.一个最小化的DFA是()。

A.无多余状态的DFAB.无等价状态的DFAC.既无多余状态又无等价状态的DFAD.任意确定化有穷自动机6.设有语言L={α|α∈{a,b}+,且α不以b开头,但以bb结尾},描述该语言的正规表达式为()。

A.abb B.a(a|b)*bb C.aa*b*bb D.a(a*|b*)bb7.产生正规语言的文法为()。

A.0型B.1型C.2型D.3型8.使用()可以定义一个程序的意义。

A.语义规则B.词法规则C.产生规则D.语法规则9.以下()不是优化技术。

A.删除公共子表达式B.强度削弱C.局部优化D.循环不变运算外提10.中间代码生成时所遵循的是()。

A.语法规则B.词法规则C.语义规则D.等价变换规则11.局部优化是在基本块上进行的优化,所谓基本块是指()。

A.一个入口、一个出口、顺序执行的语句序列B.循环体C.一个入口、一个出口的语句序列D.分程序12.给定文法G:Z→bMbM→(L|aL→Ma)则b和(的优先关系为()。

A.b( B.b( C.b( D.不存在优先关系13.由文法的开始符号经0步或多步推导产生的文法符号序列是()。

编译原理题库A

编译原理题库A

西北民族大学计算机科学与信息工程学院期末考试编译原理试卷(A 卷)专业:计算机科学技术 课程代码: 15002171 学号: 姓 名:一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其代码填入题干后的括号内。

每小题2分,共10分)1、一般程序设计语言的定义都涉及 三个方面。

(1)语法 (2)语义 (3)语用 (4)程序基本符号的确定供选答案:A. (1)(2)(3) B. (1)(2)(4)C. (1)(3)(4) D. (2)(3)(4)[能力层次:记忆] [难易度:B]2、编译过程中,语法分析器的任务是 。

(1)分析单词是如何构成的(2)分析单词串是如何构成语句和说明的 (3)分析语句和说明是如何构成程序的 (4)分析程序的结构 可选项有:A. (2)和(3)B. (4)C. (2)(3)(4)D. (1)(2)(3)(4) [能力层次:理解] [难易度:A]3、在下述的编译方法中,自顶向下的分析方法有 。

①简单优先分析 ②算符优先分析 ③递归下降分析 ④预测分析技术 ⑤LR (K )分析 ⑥ SLR (k )分析 ⑦ LL (k )分析 ⑧LALR (K )分析A.③④⑦B. ③④⑧C.①②⑧D.③④⑤⑥⑦E.①②⑤⑥⑦F. ①②⑤⑥⑧ [能力层次:理解] [难易度:A ]4、高级语言编译程序常用的语法分析方法中,优先分析法属于 分析方法。

A. 自左至右B. 自顶向下C. 自底向上D. 自右向左[能力层次:记忆] [难易度:A]5、赋值语句X:=-(a+b)/(c-d)-(a+b*c)逆波兰表示是。

A. Xab+cd-/-bc*a+-:=B. Xab+/cd--bc*a+--:=C. Xab+-cd-/abc*+-:=D. Xab+cd-/abc*+--:=[能力层次:简单运用] [难易度:C]二、判断题(认为对的,在题后的括号内打“√”,认为错的打“×”。

每小题1分,共20分)1、扫描器扫描源程序中的符号,产生具有最小语义信息的单词()[能力层次:理解] [难易度:C]2、所有编译程序直接将源程序翻译成机器语言()[能力层次:理解] [难易度:B]3、上下文无关文法可用来描述程序设计语言中的单词。

电子科技大学编译原理--A2答案--网络教育

电子科技大学编译原理--A2答案--网络教育

《计算机编译原理》试卷A2参考答案一、单项选择题(每小题1分,共25分)1、构造编译程序应掌握___D___。

A、源程序B、目标语言C、编译方法D、以上三项都是2、变量应当___C___。

A、持有左值B、持有右值C、既持有左值又持有右值D、既不持有左值也不持有右值3、编译程序绝大多数时间花在___D___上。

A、出错处理B、词法分析C、目标代码生成D、管理表格4、___D___不可能是目标代码。

A、汇编指令代码B、可重定位指令代码C、绝对指令代码D、中间代码5、使用___A___可以定义一个程序的意义。

A、语义规则B、词法规则C、产生规则D、词法规则6、词法分析器的输入是___B___。

A、单词符号串B、源程序C、语法单位D、目标程序7、中间代码生成时所遵循的是___C___。

A、语法规则B、词法规则C、语义规则D、等价变换规则8、编译程序是对___D___。

A、汇编程序的翻译B、高级语言程序的解释执行C、机器语言的执行D、高级语言的翻译9、文法G:S→xSx|y所识别的语言是___C___。

A、xyxB、(xyx)*C、x n yx n(n≥0)D、x*yx*10、文法G描述的语言L(G)是指___A___。

A、L(G)={α|S+ ⇒α ,α∈V T*}B、L(G)={α|S*⇒α,α∈V T*}C、L(G)={α|S*⇒α,α∈(V T∪V N*)}D、L(G)={α|S+ ⇒α,α∈(V T∪V N*)}11、有限状态自动机能识别___C___。

A、上下文无关文法B、上下文有关文法C、正规文法D、短语文法12、设G为算符优先文法,G的任意终结符对a、b有以下关系成立___C___。

A、若f(a)>g(b),则a>bB、若f(a)<g(b),则a<bC、A~B都不一定成立D、A~B一定成立13、如果文法G是无二义的,则它的任何句子α___A___。

A、最左推导和最右推导对应的语法树必定相同B、最左推导和最右推导对应的语法树可能不同C、最左推导和最右推导必定相同D、可能存在两个不同的最左推导,但它们对应的语法树相同14、由文法的开始符经0步或多步推导产生的文法符号序列是___C___。

编译原理试卷A卷

编译原理试卷A卷
assignment → id = expr
expr → expr + expr | expr - expr
| expr * expr | expr / expr | ( expr ) | term
term → id | const
(1)把该文法改写成LL(1)文法。
(2)求出各非终结符的FIRST集与FOLLOW集;
(20)D:= D+1
(21)halt
(1)划分基本块,构造程序流图。
(2)对含有S3:=T-C的基本块进行优化,给出优化后的四元式。(12分)
八、根据C语言中变量必须先定义后使用的特点,说明为什么上下文无关文法无法描述整个程序设计语言,并说明编译是如何解决的。(8分)
二、 有限自动机如下图所示:
(1)写出上述有限自动机所识别的正规式;
(2)写出与上述有限自动机识别相同串集的上下文无关文法。(10)
三、 请给出识别能够被4整除的二进制串的最小确定有限自动机和正规文法。(10分)
四、已知文法:
program → stmts
stmts → assignment | assignment ; stmts
一、 简答题:(20)
1、请简要说明编译的主要过程及每个过程的主要工作。
2、对于文法G[S]: P→ P-bT | bT |-bT
T→ /bT | /b
(1)写出句型(bT-b / b / b)的最右推导并画出语法树。
(2)写出上述句型的短语、直接短语、句柄、素短语和最左素短语。
3、对于某种程序设计语言,其过程不允许嵌套定义但允许递归调用,在每个过程内部既可以引用局部变量,也可以引用主程序中的全局变量,请说明如何组织运行时的存储空间。

编译原理考A【考试试卷答案】

编译原理考A【考试试卷答案】

编译原理考A 【考试试卷答案】编译原理 课程试卷A专业: 考试日期: 时间: 总分:100分 闭卷一大题:简答题(每小题6分,共30分)1.什么是文法,按Chomsky 文法分类方法,把文法分成了哪几类?2.编译程序可以分为哪几个阶段,每个阶段的任务是什么?3. 在编译程序中,符号表的功能是什么?4. 什么是代码优化?代码优化的主要技术有哪些?5. 自底向上语法分析方法的基本思想是什么?二大题:若表达式文法G[E]为:E→ E+T|E-T |T T→ T*F | T/F | F F→ (E)|i1. 请构造句型E+T*F 对应的语法树。

(4分)2. 请写出该句型的所有的短语、直接短语、句柄和素短语。

(6分)三大题:已知如图1所示NFA M ,请将M 转换成与其等价的DFA 。

(10分)图1四大题:已知文法G[S]:S→ a | b | (T) T → ST ˊT ˊ→ ,ST ˊ| ε1. 计算该文法的FIRST 、FOLLOW 、SELECT 集合。

(10分)2. 上述文法是LL(1)文法吗?若是,则构造LL(1)分析表。

(10分)五大题:已知文法G[S]:A→ aAb | aAd | ε1. 构造该文法的识别LR(0)活前缀的DFA 。

(10分)2. 说明该文法不是LR(0)文法,是SLR(1)文法,并构造SLR(1)分析表。

(10分)六大题:根据以下的基本块:B:=3 D:=A+C E:=A*C F:=D+E G:=B*F H:=A+C I:=A*C J:=H+I K:=B*5 L:=K+J M:=L1.构造基本块对应的DAG 图。

(5分)2.若G ,M ,L 在基本块后要引用,写出优化后的代码(5分)。

院系: 专业班级: 姓名: 学号:装 订 线。

编译原理测验考试复习题

编译原理测验考试复习题

编译原理测验考试复习题河南城建学院2010学年第⼀学期期末考试《编译原理》试题(A卷)⼀、填空题:(每空1分,共10分)1、符号表项的组织常采⽤线性法、⼆分法和(散列法)。

2、整个编译过程可以划分成五个阶段:(词法分析)、语法分析阶段、(语义分析及中间代码⽣成)、(代码优化)和⽬标代码⽣成阶段。

3、对于⽂法G,仅含终结符号的句型称为(句⼦)。

4、逆波兰式ab+c+d*e-所表达式为((a+b+c)*d-e)。

5、语⾔翻译常⽤的两种形式是(编译)和(解释)。

6、词法分析器输出的是单词符号,语法分析器输出的是(语法单元)。

⼆、选择题:(每空2分,共10分)1、3型⽂法是(D)是语法分析使⽤的⽂法。

A.短语⽂法 B.上下⽂有关⽂法 C.上下⽂⽆关⽂法 D.正规⽂法2、语法分析是依据语⾔的(A)规则进⾏的,中间代码产⽣是依据语⾔的()规则进⾏的。

A.语法,推导 B.语义,产⽣式C.语法,语义 D.推导,产⽣式3、错误“变量类型声明不⼀致”将在( C )阶段发现。

A.词法分析 B.语法分析 C.语义分析 D.⽬标代码⽣成4、下列( D )不是数据空间的使⽤⽅法和管理⽅法A.静态存储分配 B.栈式动态存储分配 C.堆式动态存储分配 D.段页式存储分配三、计算题:(每题6分,共24分)1、对给定正规表达式b*(d∣ad) (b∣ab)+构造其NFA M。

解:先⽤R+=RR*改造题设的正规表达式为b*(d∣ad) (b∣ab) (b∣ab)*,然后构造其NFA M,如图:2、试给出下列语句的四元式序列:if (a<0∧b>5) X[1,1]==1; else X[3,2]=0; 其中,X是10×20的数组(每维下界为1)且按⾏存放;⼀个数组元素占⽤两个字节,机器按字节编址。

解:100 (j<, a, 0, 102) 101 (j,_, _,110) 102 (j>,b,5,104) 103 (j, _,_,110) 104 (*,1,40,T1) 105 (*,1,2,T2) 106 (+,T1,T2,T3) 107 (?,X,42,T4) 108 ([ ]=,1, _,T4[T3]) 109 (j, _,_,115)110 (*,3,40,T1)111 (*,2,2,T2)112 (+,T1,T2,T3) 113 (?,X,42,T4)114 ([ ]=,0, _,T4[T3]) 1153、已知⽂法G[E]为: E→T∣E+T T→F∣T*F F→(E)∣i试确定T+T*F+i的最左素短语。

苏州大学 编译原理 课程试卷(A卷)共4页

苏州大学   编译原理   课程试卷(A卷)共4页

编译原理课程练习题共5页一.选择题:1.词法分析的作用是()A.识别出单词B.识别出保留字C.分析源程序的语法是否合法D.识别出标识符2.()不是自下而上(自底向上)的分析方法A.LR(0)分析法B.SLR分析法C.算符优先分析法D.LL(1)分析法3.乔姆斯基的3型文法对应的自动机是()A.图灵机B.线性界限自动机C.下推自动机D.有穷自动机4.下面说法()错误的A.句型是从识别(开始)符号推导出来的符号串B.由终结符号组成的句型是句子C.句子是句型的特例D.句型中必须含有非终结符号5.()描述的是语言{ab n|n≥0}A.ab*B.a|bC.a*|b*D.(a*b*)*6.()描述的是语言{a m b n|m,n≥0}E.ab* B. a|bC. a|b*D. a*b*7.下列四种方式中,()能完成对高级语言源程序的翻译A.汇编B.反汇编C.编译D.预处理8.下面关于符号表的说法正确的是()A.一个编译程序只能使用一个符号表B.有序表的建表速度相对较快C.编译程序可以没有符号表D.符号表的主重要作用之一就是收集单词的属性9.对于下面文法()是LL(1)文法A.G1:E→E+ E | E* E |(E) | iB.G2:S→cSc| aSa |bC.G3:S→a |(T) T→T,S | SD.G4:N→ND | D D→0 | 1 | 1010.对于下面文法()是LL(1)文法E.G1:E→E+ E | iF.G2:S→aSa |bG.G3:S→Sb | aH.G4:A→aA |ab11.代码优化的主要目的是( )A.提高目标程序运行时的时间和空间效率B.提高目标程序的易读性C.提高目标程序的重用性D.获得最短的目标代码12.( ) 所需的空间是采用静态存储分配的A.局部变量B.用户申请的临时单元C.函数或过程的形式参数D.全局变量13.不属于编译的阶段是()A. 中间语言B. 语义分析C. 语法分析D. 中间代码优化属于编译的工作阶段是()E.语法分析F.语言工具的选择G.中间语言设计H.目标机指令系统分析14.()是自顶向下的分析方法A.LR(1)分析法B.SLR(1)分析法LR(1)分析法D.递归子程序分析法15.大部分与语法分析有关文法属于、()A.0型文法B.1型文法C.2型文法D.3型文法16.与词法分析有关文法近似于()A.0型文法B.1型文法C.2型文法D.3型文法17.下面关于语言和文法的描述()是错误的A.文法是有限的但描述的语言可以是无限的D.若语言是无限(穷)的,则文法的规则必须是无限(穷)的C.若两文法描述的语言相同则这两文法等价D.语言是句子的集合18.设有文法G[S]:S→aSb|d 下列()是该文法句子A. ababd C. adbbB. adb D. aadb19.下列四种程序中()是翻译程序A. C#语言程序B.编译程序C.目标程序D.源程序20.设计符号表时,最后考虑的因素是()A.登记项的格式B.符号表的查找算法C.编写符号表的语言D.符号表的组织21.下面关于符号表的说法正确的是()A.一个编译程序只能使用一个符号表B.无序表的查找速度相对较快C.编译程序可以没有符号表D.符号表的主重要作用之一就是收集单词的属性22.符号表的主要作用之一是()E.统计单词个数F.统计源源程序长度G.收集有关单词属性H.统计出错次数23.下面对于LL(1)分析法不正确的描述是()A.LL(1)分析法最多只需超前扫描1个符号B.LL(1)分析法是基于归约的分析法C.LL(1)分析法是自顶向下的的分析法D.LL(1)分析法又叫预测分析法24.代码优化主要对 ( )进行的A.源代码B.目标代码C.中间代码D.二进制代码25.下面说法不正确的是()A.句子是句型的特例B.文法的二义性与语言的二义性是同一个概念C.一个语言所包含的句子是有穷的则称该语言为有穷语言D.存在递归规则的文法称为递归文法二.填空:1.源程序翻译采用编译方式与解释方式的主要区别是。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程名称: 编译原理(A卷 闭卷) 适用班级: 计算机与通信学院09级 考试时间: 100 分钟 题号 一 二 三 四 五 六 七 八 九 十 总分 统分人 签名 题分 25 20 25 30 100 得分 考生注意事项:1、本试卷共 3 页,试卷如有缺页或破损,请立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。 (答案请写在答卷的密封线内和正面,否则不记分) 一、是非题(请在括号内,正确的划√,错误的划×)(每个 2 分,共 20 分) 1.编译程序是对高级语言程序的解释执行。× 2.一个有限状态自动机中,有且仅有一个唯一的终态。× 3.一个算符优先文法可能不存在算符优先函数与之对应。 √ 4.语法分析时必须先消除文法中的左递归 。 × 5.LR 分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。 √ 6.逆波兰表示法表示表达式时无须使用括号。 √ 7.静态数组的存储空间可以在编译时确定。 × 8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。 × 9.两个正规集相等的必要条件是他们对应的正规式等价。 × 10.一个语义子程序描述了一个文法所对应的翻译工作。 × 二、选择题请在前括号内选择最确切的一项作为答案划一个勾,多划按错论每个 4 分,共 40 分 1.词法分析器的输出结果是_____。 A. 单词的种别编码 B. 单词在符号表中的位置 C. 单词的种别编码和自身值 D. 单词自身值 2. 正规式 M 1 和 M 2 等价是指_____。 A. M1 和 M2 的状态数相等 B. M1 和 M2 的有向边条数相等 C. M1 和 M2 所识别的语言集相等 D. M1 和 M2 状态数和有向边条数相等 3. 文法 G:S→xSxy 所识别的语言是_____。 A. xyx B. xyx C. xnyxnn≥0 D. xyx 4.如果文法 G 是无二义的,则它的任何句子 α_____。 A. 最左推导和最右推导对应的语法树必定相同 B. 最左推导和最右推导对应的语法树可能不同 C. 最左推导和最右推导必定相同 D. 可能存在两个不同的最左推导,但它们对应的语法树相同 5.构造编译程序应掌握______。 A. 源程序 B. 目标语言 C. 编译方法 D. 以上三项都是 6.四元式之间的联系是通过_____实现的。 A. 指示器 B. 临时变量 C. 符号表 D. 程序变量 7.表达式┐A∨B∧C∨D的逆波兰表示为_____。 A. ┐AB∨∧CD∨ B. A┐B∨CD∨∧ C. AB∨┐CD∨∧ D. A┐B∨∧CD∨ 8. 优化可生成_____的目标代码。 A. 运行时间较短 B. 占用存储空间较小 C. 运行时间短但占用内存空间大 D. 运行时间短且占用存储空间小 9.下列______优化方法不是针对循环优化进行的。 A. 强度削弱 B. 删除归纳变量 C. 删除多余运算 D. 代码外提 10.编译程序使用_____区别标识符的作用域。 A. 说明标识符的过程或函数名 B. 说明标识符的过程或函数的静态层次 C. 说明标识符的过程或函数的动态层次 D. 标识符的行号 三、填空题每空 1 分,共 10 分 1.计算机执行用高级语言编写的程序主要有两种途径:___解释__和__编译___。 2.扫描器是__词法分析器___,它接受输入的__源程序___,对源程序进行___词法分析__并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。 3.自上而下分析法采用___移进__、归约、错误处理、___接受__等四种操作。 4.一个 LR 分析器包括两部分:一个总控程序和___一张分析表__。 5.后缀式 abc-/所代表的表达式是___a/b-c__。 6.局部优化是在__基本块___范围内进行的一种优化。 湖南工业大学考试试卷纸 系(院) 计算机与通信学院 课程名称 软件工程 班级 姓名 学号

----------------------------------------------------------------------------密封线-------------------------------------------------------------------

---------

第 1 页 共 4 页 四、简答题(20 分) 1. 简要说明语义分析的基本功能。 答:语义分析的基本功能包括: 确定类型、类型检查、语义处理和某些静态语义检 查。 2. 考虑文法 GS:S → T aS aT → TS S消除文法的左递归及提取公共左因子。 解:消除文法 GS的左递归:S→T aS aT→ST′T′→ST′ ε提取公共左因子:S→T aS′S′→S εT→ST′T′→ST′ ε 3. 试为表达式 wabcd/e-108 写出相应的逆波兰表示。 解: w a b c d e 10 - / 8 4. 按照三种基本控制结构文法将下面的语句翻译成四元式序列:while AltC ∧ BltDif A ≥ 1 CC1else while A ≤ DAA2。 解:该语句的四元式序列如下其中 E1、E2 和 E3 分别对应 A<C∧B<D、A≥1 和 A≤D,并且关系运算符优先级高:100 jltAC102101 j__113102 jltBD104103 j__113104 jA1106105 j__108106 C 1 C107 j__112108 j≤AD110109 j__112110 A 2 A111 j__108112 j__1001135. 已知文法 GS 为 S → aSbSbb ,试证明文法 GS 为二义文法。证明: 由文法 GS:S→aSbSbb,对句子 aabbbb 对应的两棵语法树为:因此,文法 GS为二义文法。 五.计算题(10 分)

已知文法A-gtaAdaAb ε判断该文法是否是 SLR1 文法,若是构造相应分析表,并对输入串 ab 给出分析过程。解:增加一个非终结符 S/后,产生原文法的增广文法有:S-gtAA-gtaAdaAbε下 面 构 造 它 的 LR0 项 目 集 规 范 族 为 :从 上 表 可 看 出 状 态 I0 和 I2 存 在 移 进 - 归 约 冲 突 , 该 文 法 不 是 LR0 文 法 。 对 于 I0 来 说 有 :FOLLOWA∩abd∩aΦ,所以在 I0 状态下面临输入符号为 a 时移进,为 bd时归约,为其他时报错。对于 I2 来说有也有与 I0 完全相同的结论。这就是说,以上的移进-归约冲突是可以解决的,因此该文法是 SLR1文法。其 SLR1分析表为:对输入串 ab给出分析过程为:

第 2页 共 4 页 四、分析应用题(共30分) 1.某旅馆的电话服务如下: 可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到 300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。 要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。 (7分) 2.(本题11分)某学校成绩管理系统中学生成绩评定模块对应的成绩评定规则:若期未考试成绩大于等于85分,平时成绩为优的,成绩定为优,而平时成绩为差的,成绩定为良;若期未考试成绩大于等于75分,平时成绩为优的,成绩定为良,而平时成绩为差的,成绩定为及格;若期未考试成绩大于等于60分, 平时成绩为优的,成绩定为及格,而平时成绩为差的,成绩定为不及格;若期未考试成绩小于60分,成绩定为不及格。请回答以下问题: (1)请绘制成绩评定对应的程序流程图及流图。(4分) (2)计算成绩评定模块的MaCabe环形复杂度。(2分) (3)试依据(1)和(2)设计测试用例满足基本路径覆盖。(5分)

湖南工业大学考试试卷纸

系(院) 计算机与通信学院 课程名称 软件工程 班级 姓名

学号

----------------------------------------------------------------------------密封线---------------------------------------------------------

-

------------------

第 3 页 共 4 页

相关文档
最新文档