编译原理复习2

 

2-1

若A和B是非终结符,则A->a.aBb为(  )项目 。 (3分)

  1. 移进 
  2. 待约
  3. 接受
  4. 规约

 

2-2

若A和B是非终结符,则A->aa.Bb为(  )项目 。 (3分)

  1. 移进
  2. 待约
  3. 规约
  4. 接受

2-3

若A和B是非终结符,则A->aaBb.为(  )项目 。 (3分)

  1. 移进
  2. 待约
  3. 接受
  4. 规约

2-4

LR分析法从左到右扫描输入串,采用移进-归约的方式,当栈顶出现( )时进行归约。 (3分)

  1. 句柄
  2. 非终结符
  3. 直接短语
  4. 最左素短语

2-5

一个句型中称为句柄的是该句型的最左(  )   (3分)

  1. 非终结符号
  2. 短语
  3. 句子
  4. 直接短语

2-6

在自底向上的语法分析方法中,分析的关键是( )。 (3分)

  1. 寻找句柄
  2. 寻找句型
  3. 消除递归
  4. 选择候选式

2-7

LR语法分析栈中存放的状态是识别文法规范句型( )的DFA状态。 (3分)

  1. 句柄
  2. 前缀
  3. 活前缀
  4. 项目

2-8

设有一个LR(0)项目集I={X->α. bB B->α.},则该项目集 ( )。 (3分)

  1. 不含冲突项目
  2. 含有移进-归约冲突
  3. 含有归约-归约冲突
  4. 含有移进-归约和归约-归约冲突

2-9

LR语法分析栈中存放的状态是识别文法规范句型_ 的DFA状态。  (3分)

  1. 句柄
  2. 前缀
  3. 活前缀
  4. 项目

2-10

若状态k含有项目“A→α·,a”,对终结符a,用规则“A →α”归约的语法分析方法是( )。(3分)

  1. LL(1)分析法
  2. LR(0)分析法
  3. LR(1)分析法和 LALR分析法
  4. SLR(1)分析法

2-11

就文法的描述能力来说,有( )。 (2分)

  1. SLR(1) ⊂ LR(0)
  2. LR(1) ⊂ LR(0)
  3. SLR(1) ⊂ LR(1)
  4. 无二义文法 ⊂ LR(1)

2-12

在LR(0)的Action表中,如果某行中存在标记为“rj”的栏,则( )。 (2分)

  1. 该行必定填满“rj”
  2. 该行未必填满“rj”
  3. 其他行可能也有“rj”
  4. goto表中也可能有“rj”

2-13

同心集合并可能会产生新的( )冲突。 (2分)

  1. 二义
  2. 移进/移进
  3. 移进/归约
  4. 归约/归约

2-14

若状态k含有项目“A→α· ”,且仅当输入符号a∈FOLLOW(A)时,才用规则“A →α”归约的语法分析方法是( )。 (3分)

  1. LALR分析法
  2. R(0)分析法
  3. LR(1)分析法
  4. SLR(1)分析法

2-15

一个LR(1)文法合并同心集后若不是LALR(1)文法( ) (3分)

  1. 则可能存在移进/归约冲突
  2. 则可能存在归约/归约冲突
  3. 则可能存在移进/归约冲突和归约/归约冲突
  4. 以上说法都不对

2-16

LR分析器的核心部分是一张分析表,该表由( )组成。 (2分)

  1. ACTION表
  2. GOTO表
  3. 预测分析表
  4. ACTION表和GOTO表

2-17

下列项目中为可归约项目的是()。 (3分)

  1. E′→· E
  2. L→·
  3. L→-· L
  4. F→L*· F

2-18

LR分析表中的动作表(action)是以( )作为列标题的。 (3分)

  1. 终结符
  2. 非终结符
  3. 终结符或非终结符
  4. 终结符和结束符#

2-19

LR分析表中的转移表(goto)是以()作为列标题的。(3分)

  1. 终结符
  2. 非终结符
  3. 终结符或非终结符
  4. 表示状态的整型数

2-20

下列动作中,不是自下而上分析动作的是( )。 (3分)

  1. 移进
  2. 展开
  3. 接受
  4. 报错

2-21

若A为非终结符,则A→α·,a 为( )项目。 (2分)

  1. 归约
  2. 移进
  3. 接受
  4. 待约

2-22

若A和B为非终结符,则A→ .aBe ,#为( )项目。 (3分)

  1. 归约
  2. 移进
  3. 接受
  4. 待约

2-23

若A和B为非终结符,则A→b .Bd ,#为( )项目。(3分)

  1. 归约
  2. 移进
  3. 接受
  4. 待约

2-24

对文法G(T): T →aBd|ε B →Tb|ε ,项目S'→T.,# 是()项目。 (3分)

  1. 归约
  2. 移进
  3. 接受
  4. 待约

2-25

给定文法G[S]为:

          S →BD|D
       B →aD|b
       D →B      

若项目集I={S’ →.S},则CLOSURE(I)=( )。 (4分)

  1. {S’ →.S S →.BD S →.D B →.aD B →.b D →.B}
  2. {S’ →.S S →.BD S →.D B →.aD B →.b }
  3. {S’ →.S S →.BD S →.D}
  4. {S’ →.S S →.BD S →D. B →.aD B →.b D →B.}

单位: 山东理工大学

2-26

给定文法G[S]为:

        S →BD|D
     B →aD|b
     D →B      
		 

若项目集I={S’ →.S,# },则CLOSURE(I)=( )。 (4分)

  1. { S’ →.S, # 
    S →.BD , #
    S →.D , #
    B →.aD ,a/b 
    B →.b ,a/b
    D →.B,#
    B →.aD ,# 
    B →.b ,#
    }
    
  2. { S’ →.S, # 
    S →.BD , #
    S →.D , #
    B →.aD ,a/b 
    B →.b ,a/b
    D →.B,#
    }
    
  3. { S’ →.S, # 
    S →.BD , #
    S →.D , a/b
    B →.aD ,a/b 
    B →.b ,a/b
    D →.B,a/b 
    }
    
  4. { S’ →.S, # 
    S →.BD , #
    S →.D , #
    B →.aD ,# 
    B →.b ,#
    D →.B,#
    }

 

2-27

给定文法G[S]为:

        S →BD|D
     B →aD|b
     D →B      

若项目集I={B →a.D},则CLOSURE(I)=( )。 (4分)

  1. { B →a.D
    D →.B   
    B →.aD  
    B →.b  }
    
  2. {  B →a.D
    S →.BD  
    S →D. 
    D →.B   
    B →.aD  
    B →.b  }
    
  3. {  B →a.D
    S →.BD  
    S →D. 
    D →.B   
    }
    
  4. { B →a.D
    D →.B   
    } 
    

2-28

给定文法G[S]为:

     S →BD|D
   B →aD|b
   D →B      

若项目集I={ S →B.D D →B. },则CLOSURE(I)=( )。 (4分)

  1. { S →B.D  
    D →B.
    D →.B   
    B →.aD  
    B →.b  }
    
  2. { S →B.D  
    D →.B   
    B →.aD  
    B →.b  }
    
  3. {  S →B.D  
    D →B.
    B →.aD  
    B →.b 
    }
    
  4. { S →B.D  
    D →B.
    D →.B   
    B →.aD  
    B →.b
    S →.D    
    }

 

 

2-29

给定文法G[S]为:

        S →BD|D
     B →aD|b
     D →B   

若项目集I={ S →B.D , # D →B.,# }, 则CLOSURE(I)=( )。 (4分)

  1. {  S →B.D , #
    D →B.,# 
    D →.B,#
    B →.aD ,# 
    B →.b ,#
    }
    
  2. {  S →B.D , #
      D →.B,#
     B →.aD ,# 
     B →.b ,#
    }
    
  3. {  S →B.D , #
     D →B.,# 
     D →.B,#
     B →.aD ,a/b 
     B →.b ,a/b
    }
    
  4. {  S →B.D , #
     D →.B,a/b
     B →.aD ,a/b 
     B →.b ,a/b
    } 
    

2-30

给定文法G[S]为:

         S →BD|D
       B →aD|b
       D →B 

若项目集I={ B →a.D ,a/b },则CLOSURE(I)=( )。 (2分)

  1. {  B →a.D ,a/b 
      D →.B,a/b 
      B →.aD ,a/b  
      B →.b ,a/b 
    }
    
  2. {  B →a.D ,a/b 
     D →.B,#
     B →.aD ,a/b  
     B →.b ,a/b 
    }
    
  3. {  B →a.D ,a/b 
     D →.B,a/b 
     B →.aD ,#
     B →.b ,#
    }
    
  4. {  B →aD. ,a/b
     D →.B,a/b 
     B →.aD ,a/b  
     B →.b ,a/b 
    }

 

多选题 

3-1

已知文法G[E′]: (2分)

(0) E′→E
(1) E→E+T
(2) E→T
(3) T→(E)
(4) T→a

(1)构造文法G[E′]的LR(0)项目集规范族如下表所示,请选择合适选项补充完整;

编译原理复习2_第1张图片

(2) 请构造文法的LR(0)分析表如下表所示,请将其补充完整。

编译原理复习2_第2张图片

(3)因为LR(0)分析表(⑰)存在多重入口,所以该文法(⑱)LR(0)文法。

  1. {E′→E·     E→E·+T   } 
  2. {E→T ·} 
  3. { T→(·E)
    E→·E+T
    E→·T
    T→·(E)
    T→·a} 
  4. { T→a·}
  5. { E→E+·T
    T→·(E) 
    T→·a	} 
  6. { T→(E·)
       E→E·+T  } 
  7. { E→E+T·}
  8. { T→(E)·}
  9. { E′→E· }
  10. { E→E·+T }
  11. { {T→(·E)
    E→·E+T
    E→·T}
  12. r2   r2   r2   r2   r2  空  空
  13. s4  空   s3   空  空   6    2
  14. r4   r4   r4   r4  r4  空  空
  15. s4   空  s3   空  空   空   7
  16. 空   s5   空  s8  空   空   空
  17. r1   r1   r1   r1  r1  空  空
  18. r3   r3   r3   r3  r3  空  空
  19. 空   s5  空   空  acc  空  空
  20. 空   空  空   空  acc  空  空
  21. 空   r2   空   r2  r2  空  空
  22. 空   r4   空   r4  r4  空  空
  23. 不存在
  24. 存在
  25. 不是

 

3-2

已知文法G[M]: (20分)


1) M →VbA
2) V →d
3) V →ε
4) A →a
5) 5) A →Aba
6) A →ε 

文法的LR分析表如下表所示:

编译原理复习2_第3张图片

现在,对串dbba#的分析过程如下表,将其补充完整。

编译原理复习2_第4张图片

  1. 03           #d            bba#            r2,用V →d归约
  2. 02           #V            bba#            s4,移进,4入状态栈,b入符号栈
  3. 024          #Vb            ba#            r6,用A →ε归约
  4. 0246         #VbA           ba#            s7,移进,7入状态栈,b入符号栈
  5. 02467        #VbAb           a#            s8,移进,8入状态栈,a入符号栈
  6. 024678       #VbAba           #            r5, 用A →Aba 归约
  7. 0246         #VbA             #            r1, 用M →VbA 归约
  8. 02           #V            bba#            r6,用A →ε归约
  9. 024          #Vb            ba#            s4,移进,4入状态栈,b入符号栈
  10. 0246         #VbA           ba#            r6,用A →ε归约
  11. 0246         #VbA             #            r5, 用A →Aba 归约```L. 
  12. 024678       #VbAba           #            r1, 用M →VbA 归约

 

单位: 山东理工大学

3-3

已知文法G[E′]: (20分)

(0) E′→E
(1) E→E+T
(2) E→T
(3) T→(E)
(4) T→a

(1)构造文法G[E′]的LR(0)项目集规范族如下表所示,请选择合适选项补充完整;

编译原理复习2_第5张图片

(2) 请构造文法的SLR(1)分析表如下表所示,请将其补充完整。

编译原理复习2_第6张图片

(3)因为SLR(1)分析表( )多重入口,所以该文法()SLR(1)文法.

  1. {E′→E·  E→E·+T   }
  2. {E→T ·}
  3. { T→(·E)
    E→·E+T
    E→·T
    T→·(E)
    T→·a}
  4. { T→a·}
  5. { E→E+·T
        T→·(E)
       T→·a	}
  6. { T→(E·)
       E→E·+T  } 
  7. { E→E+T·}
  8. { T→(E)· }
  9. { E′→E· } 
  10. { E→E·+T }
  11. { {T→(·E)
    E→·E+T
    E→·T}
  12. 空         s5       空         空        acc       空        空
  13. 空         r2        空         r2         r2        空       空
  14. s4         空         s3        空         空        6        2
  15. 空         r4         空        r4         r4        空       空
  16. s4         空         s3        空         空        空        7
  17. 空         s5         空        s8        空        空       空
  18. 空         r3         空         r3        r3        空        空
  19. 空         r1         空         r1         r1        空       空
  20. 空         空        空         空        acc       空        空
  21. 空         r4         空        r4         空        空       空
  22. 空         空         空        空         空        6        2
  23. 不是
  24. 不存在
  25. 存在

 

3-4

已知文法G(S): (10分)

S→a|∧|(T)
T→T,S|S 

(1) 对于句型((T,S),a),它的语法树是();

(2) 句型((T,S),a)的短语 是( );

(3) 句型((T,S),a)的直接短语有 是(),句柄是()。

  1. 编译原理复习2_第7张图片
  2. 编译原理复习2_第8张图片
  3. 编译原理复习2_第9张图片
  4. 编译原理复习2_第10张图片
  5. T,S是((T,S),a)相对于T的短语
  6. (T,S) 是((T,S),a)相对于S的短语
  7. a是((T,S),a)相对于 S的短语
  8. (T,S),a是((T,S),a)相对于 T的短语
  9. ((T,S),a) 是((T,S),a)相对于 S的短语
  10. (T,S) 是((T,S),a)相对于T的短语
  11. T是((T,S),a)相对于 S的短语
  12. T,S是直接短语
  13. T是直接短语
  14. a是直接短语
  15. T,S是句柄
  16. T是句柄

 

3-5

已知文法G[S]: (20分)

0) S′→S
1) S→dSoS
2) S →dS
3) S →S;S 
4) S →a

文法的LR分析表如下表所示

编译原理复习2_第11张图片

现在,对串da;aoa#的分析过程如下表,将其补充完整。

编译原理复习2_第12张图片

  1. 02           #d            a;aoa#            s3,移进,3入状态栈,a入符号栈  
  2. 023          #da            ;aoa#            r4, 用S →a 归约
  3. 025          #dS            ;aoa#            s4, 移进,4入状态栈,;入符号栈
  4. 0254         #dS;            aoa#            s3, 移进,3入状态栈,a入符号栈
  5. 02543        #dS;a            oa#            r4, 用S →a 归约
  6. 02546        #dS;S            oa#            r3, 用S →S;S 归约
  7. 025          #dS              oa#            s7, 移进,7入状态栈,o入符号栈
  8. 0257         #dSo              a#            s3, 移进,3入状态栈,a入符号栈
  9. 02573        #dSoa              #            r4, 用S →a 归约
  10. 02578        #dSoS              #            r1, 用S→dSoS归约
  11. 01           #S                 #                  接受
  12. 025          #dS            ;aoa#              s7, 移进,7入状态栈,;入符号栈
  13. 0257         #dS;             aoa#             s3, 移进,3入状态栈,a入符号栈
  14. 02573        #dS;a             oa#             r4, 用S →a 归约
  15. 02578        #dS;S             oa#             r3, 用S →S;S 归约
  16. 025          #dS               oa#             s4, 移进,4入状态栈,o入符号栈
  17. 0254         #dSo               a#             s3, 移进,4入状态栈,a入符号栈
  18. 02543        #dSoa               #             r4, 用S →a 归约
  19. 02546        #dSoS               #             r1, 用S→dSoS归约

 

3-6

已知文法G1为: (10分)

E →E+T | T   
T →T*F | F  
F →(E) | i 

(1) 对于句型T+T∗F+T∗i ,它的语法树是();

(2) 句型T+T∗F+T∗i的短语是( );

(3)句型T+T∗F+T∗i的直接短语有(),句柄是()。

  1. 编译原理复习2_第13张图片
  2. 编译原理复习2_第14张图片
  3. 编译原理复习2_第15张图片
  4. 编译原理复习2_第16张图片
  5. T是句型T+T∗F+T∗i相对于E的短语
  6. T∗F是句型T+T∗F+T∗i相对于T的短语
  7. T+T∗F是句型T+T∗F+T∗i相对于E的短语
  8. i是句型T+T∗F+T∗i相对于F的短语
  9. T∗i是句型T+T∗F+T∗i相对于T的短语
  10. T+T∗F+T∗i是句型T+T∗F+T∗i相对于E的短语
  11. T∗F+T∗i是句型T+T∗F+T∗i相对于T的短语
  12. T+T是句型T+T∗F+T∗i相对于E的短语
  13. T是直接短语
  14. T∗F是直接短语
  15. i是直接短语
  16. T∗i是直接短语
  17. T是句柄
  18. T∗F是句柄
  19. i是句柄

 

3-7

已知文法G[S]: (10分)

S→aAcB | Bd
A→AaB | c
B→bScA | b

(1) 对于句型aAaBcbbdcc ,它的语法树是( );

(2) 句型aAaBcbbdcc的短语是( );

(3)句型aAaBcbbdcc 的直接短语是( ),句柄是( )。

  1. 编译原理复习2_第17张图片
  2. 编译原理复习2_第18张图片
  3. 编译原理复习2_第19张图片
  4. 编译原理复习2_第20张图片
  5. AaB是句型aAaBcbbdcc相对于A的短语
  6. b是句型aAaBcbbdcc相对于B的短语
  7. bd是句型aAaBcbbdcc相对于S的短语
  8. c是句型aAaBcbbdcc相对于A的短语
  9. bbdcc是句型aAaBcbbdcc相对于B的短语
  10. aAaBcbbdcc是句型aAaBcbbdcc相对于S的短语
  11. Bd是句型aAaBcbbdcc相对于S的短语
  12. bScA是句型aAaBcbbdcc相对于B的短语
  13. AaB是直接短语
  14. b是直接短语
  15. c是直接短语
  16. Bd是直接短语
  17. bScA是直接短语
  18. aAcB是句型aAaBcbbdcc相对于S的短语
  19. AaB是句柄
  20. b是句柄
  21. c是句柄

你可能感兴趣的:(编译原理考试复习)