一、判断题
×1. NFA M的非确定性表现在它有多个终态。
√2. 有穷自动机接受的语言是正则语言。
√3. 若r1和r2是Σ上的正规式,则r1|r2也是。
×4. 设M是一个NFA,并且L(M)={x,y,z},则M的状态数至少为4个。
×. 令Σ={a,b},则Σ上所有以b为首的字符构成的正规集的正规式为b*(a|b)*。
√6. 对任何一个NFA M,都存在一个DFA M',使得L(M')=L(M)。
√7. 对一个右线性文法G,必存在一个左线性文法G',使得L(G)=L(G'),反之亦然。
√8. 对任意一个右线性文法G,都存在一个NFA M,满足L(G)=L(M)。
√9. 对任意一个右线性文法G,都存在一个DFA M,满足L(G)=L(M)。
√10. 对任何正则表达式r,都存在一个NFA M,满足L(M)=L(r)。
√11. 对任何正则表达式r,都存在一个DFA M,满足L(M)=L(r)。
×12. 一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。
×13. 一个正规式只能对应一个有限状态自动机;
√14. 在词法分析的状态转换图中,有些结点是带星号的,这些结点肯定是终态结点。
×15. 适当设置扫描缓冲区的大小(比如容纳256个字符)可以保证单词符号不会被它的边界所打断。
二、 选择题
1. 程序语言下面的单词符号中,( B)一般不需要超前搜索。 A. 关键字 B. 标识符 C. 常数 D. 算符和界符 2. 在状态转换图的实现中,(B) 一般对应一个循环语句。 A. 不含回路的分叉结点 B. 含回路的状态结点 C. 终态结点 D. 都不是 3. 从左线性文法构造有限自动机时,通常自动机状态个数比文法非终结符号数多( D)个。 A. 4 B. 2 C. 0 D. 1 4. 正规表达式(ε|a|b)2表示的集合是( D)。 A. {ε,ab,ba,aa,bb} B. {ab,ba,aa,bb} C. {a,b,ab,aa,ba,bb} D. {ε,a,b,aa,bb,ab,ba} 5. 有限状态自动机可用五元组(VT,Q,δ,q0,Qf)来描述,设有一有限状态自动机M的定义如下: VT={0,1},Q={q0,q1,q2},Qf= {q2},δ的定义为: δ(q0,0)=q1,δ(q1,0)=q2,δ(q2,1)=q2,δ(q2,0)=q2 M所能接受的语言可以用正则表达式表示为(B )。 A. (0|1)* B. 00(0|1)* C. (0|1)*00 D. 0(0|1)*0 6. 有限状态自动机可用五元组(VT,Q,δ,q0,Qf)来描述,设有一有限状态自动机M的定义如下: VT={0,1},Q={q0,q1,q2},Qf={q2},δ的定义为: δ(q0,0)=q1,δ(q1,0)=q2,δ(q2,1)=q2,δ(q2,0)=q2 M所能接受的语言为(D )。 A. 由0和1所组成的符号串的集合 B. 以0为头符号和尾符号、由0和1所组成的符号串的集合 C. 以两个0结束的,由0和1所组成的符号串的集合 D. 以两个0开始的,由0和1所组成的符号串的集合 7. 从接受语言的能力上来说,非确定型有穷自动机和(B )是等价的。 A. ⅰ.正规式;ⅱ.上下文无关文法;ⅲ.确定性有穷自动机; B. ⅰ.左线性正规文法;ⅱ.右线性正规文法;ⅲ.确定性有穷自动机; C. ⅰ.正规式;ⅱ.上下文无关文法;ⅲ.正规文法; D. ⅰ.正规式;ⅱ.确定性有穷自动机;ⅲ.下推自动机; 8. 关于NFA的叙述中,下面(B )是不正确的。 A. 有一个有穷字母表 B. 有多个初始状态 C. 有多个终止状态 D. 有多个有限状态 9. 词法分析的理论基础是(A )。 A. 有穷自动机理论 B. 图灵机理论 C. 图论 D. 无穷自动机理论 10. 设有两个状态S和T,如果从S出发能读出某个字w而停于终态,那么从T出发也能读出同样的字而停于终态;反之,果从T出发能读出某个字w而停于终态,那么从S出发也能读出同样的字而停于终态。则我们称状态S和状态T是(B )。 A. 可区分的; B. 等价的; C. 多余的; D. 无用的。 11. 词法分析器的输出结果是(D )。 A、单词自身值 B、单词在符号表中的位置 C、单词的种别编码 D、单词的种别编码和自身值 12. 编译过程中扫描器的任务包括( D)。 ①组织源程序的输入 ②按词法规则分割出单词,识别出其属性,并转换成属性字的形式输出 ③删除注解 ④删除空格及无用字符 ⑤行计数、列计数 ⑥发现并定位词法错误 ⑦建立符号表 A. ②③④⑦ B. ②③④⑥⑦ C. ①②③④⑥⑦ D. ①②③④⑤⑥⑦ 13.下述正则表达式中(D )与(a*+b)*(c+d)等价(即有相同符号串集)。(x+y亦可写作x|y) ①a*(c+d)+b(c+d) ②a*(c+d)*+b(c+d)* ③a*(c+d)+b(c+d) ④(a+b)*c+(a+b)*d ⑤(a*+b)*c+(a*+b)*d A. ①③ B. ③④⑤ C. ③ D. ④⑤ 14. 正则式的“*”读作(D )。 A. 并且 B. 或者 C. 连接 D. 闭包 15. 在状态转换图中,结点代表( C),用圆圈表示。 A. 输入缓冲区 B. 向前搜索 C. 状态 D. 字符串 16. 与(a|b)*(a|b)等价的正规式是(C )。 A. a*| b* B. (ab)*(a|b)* C. (a|b)(a|b)* D. (a|b)* 17. 无符号常数的识别和拼数工作通常都在(A ) 阶段完成。 A. 词法分析 B. 语法分析 C. 语义分析 D. 代码生成 |
三、填空题
1. 词法分析器对扫描缓冲区进行扫描时一般用两个指示器,一个指向当前正在识别的单词符号的【开始位置】;另一个用于向前搜索以寻找单词符号的【终点】。 2. 一个确定性有限自动机DFA M的化简是指:寻找一个状态数比M少的DFA M’,使得【L(M)=L(M’)】。 3. 词法分析器所的输出常表示成如下形式的二元式:(【单词种别】,【单词符号的属性值】)。 4. 一个状态转换图只包含有限个状态,其中有一个被认为是【初态】,而且实际上至少有一个【终态】。 5. 把状态转换图用程序实现时,对于含有回路的状态结点来说,可以让它对应一个由【while】和【if】语句构成的程序段。 6. 词法分析阶段的任务式从左到右扫描【源程序】,从而逐个识别【单词】。 7. 如果一个种别只含有一个单词符号,那么,对于这个单词符号,【种别编码】就可以完全代表它自身了。 8. 单词符号的属性值是指单词符号的特性或特征,其属性值则是反映特性或特征的值。比如,对于某个标识符,常将存放它的有关信息的【符号表项的指针】作为其属性值。 9. 单词符号的属性值是指单词符号的特性或特征,其属性值则是反映特性或特征的值。比如,对于常数,常将存放它的【常熟表项的指针】作为其属性值。 10. 如果一个种别含有多个单词符号,那么,对于它的每个单词符号,除了给出种别编码以外,还应给出有关单词符号的【属性信息】(【属性值】)。 11. 如果【两个正规式】所表示的正规集相同,则认为这两个正规式等价。 12. 对于Σ中的任何符号串α,如果存在一条从初态结点到某一终态结点的通路,且这条通路上【所有弧】的标记符号连接起来形成的【符号串】等于α,则称α被该自动机所接受(识别)。 13. 一个Lex源程序主要包括两部分,一部分是【正规定义式】,另一部分是【识别规则】。 14. 一个DFA可用一个矩阵表示,该矩阵的行表示【状态】,列表示【输入字符】,矩阵元素表示【转换函数】(或δ(s, a))的值,这个矩阵叫状态转换矩阵。 15. 对于词法分析程序来说,当程序到达“错误处理”时,意味着现行状态i和当前所面临的输入串不匹配。如果后面还有状态图,出现在这个地方的代码应该为:将【搜索器】回退一个位置,并令下一个【状态图】开始工作。 |