编译原理试题集78677 下载本文

5. 自下而上分析方法的基本思想是:从输入符号串开始,利用文法规则逐步进行归约,直 至归约到文法的_________________________ 。

6. 在算符优先分析中,用_____________来刻画“可归约串”;在规范归约分析中,用____ ___________ 来刻画“可归约串”。

7. 在LR(0)分析中,相容的项目集,必须满足的条件是_______,_______。

8. LR语法分析栈中存放的状态是识别_______的DFA状态。

9. 在LR分析过程中的任何时候,栈里的文法符号从下往上应该构成______________,把输 入串的剩余部分配上之后应成为__________________。

10. 对于LR(0)分析法来说,项目A→β1β2对活前缀αβ1是 有效的,其条件是存在规范推导_________________________。

11. 形式上我们说一个LR(1)项目[A→α?β,a]对于活前缀γ是有效的,如果存在规范推导 _____________________。

12. LR(k)分析方法中项目类型可分为四类_____________、______________ 、____________ ___ 和_______________。

13. 所谓算符优先分析法就是仿照算术四则运算的运算过程设计的一种语法分析方法。它首 先要规定________________,然后利用这种关系确定__________________,并进行_________ ________。

14. 如图所示的语法树中,a,b不在同一句柄中,____先归约,所以____的优先级高于 。

15. 对于句型η的语法树,若它的一棵子树的根标记为A,且将此子树的末端结点标记从左至

右排列起来所形成的符号串为β,则β是____________________________;此时文法中必有 推导____________________________。

16. LR(0)每个项目中圆点的左部表示在分析过程中,要用该产生式归约时,______________ ___________,右部表示_______________________。

17. 根据项目的定义,可给出文法中所有产生式的项目,而每个项目都为识别_____________ _____的NFA的一个状态。

解答: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.

二.判断题

1. 一个二义性文法可以是SLR文法或LALR文法。( )

2. LL(1)文法不能用LR(1)分析器来分析。( )

3. LR分析器在自左至右扫描输入串时就能发现其中的任何错误,并能准确地指出出错地点 。( )

4. 在归约过程的任一时刻,一个上下文无关文法的任何句型的直接短语一般都不是唯一的 。( )

5. 算符优先分析法不是一种规范规约法。 ( )

6. 存在有左递归规则的文法是LL(1)的。 ( )

7. 任何算符优先文法的句型中不会有两个相邻的非终结符号。 ( )

8. 算符优先文法中任何两个相邻的终结符号之间至少满足三种关系(<?,?>,=?)之 一。 ( )

9. 任何LL(1)文法都是无二义性的。 ( )

10. 每一个SLR(1)文法也都是LR(1)文法。 ( )

11. 存在一种算法,能判定任何上下文无关文法是否是LL(1)的。 ( )

12. 任何一个LL(1)文法都是一个LR(1)文法,反之亦然。 ( )

13. LR(1)分析中括号中的1是指,在选用产生式A→α进行分析,看当前读入符号是否在FIRS T(α)中。 ( )

14. 若某一个句型中出现了某一产生式的右部,则此右部不一定是该句型的句柄。( )

15. 算符优先关系表不一定存在对应的优先函数。 ( )

16. 简单优先文法允许任意两个产生式具有相同右部。 ( )

17. 一个句型的句柄一定是文法某产生式的右部。 ( )

18. 若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄。 ( )

19. 根据项目的定义,可给出文法中所有产生式的项目,而每个项目都为识别活前缀的DFA的

一个状态。 ( ) 解答: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.

19.

三.单项选择题

1. LR语法分析栈中存放的状态是识别________的DFA状态。 a. 前缀;b. 可归前缀;c. 项目;d. 句柄;

2. 算符优先分析法每次都是对________进行归约: (a)句柄 (b)最左素短语 (c)素短语 (d)简单短语

3. 有文法G=({S},{a},{S→SaS,S→ε},S),该文法是________。 a. LL(1)文法;b.二义性文法;c.算符优先文法;d.SLR(1)文法;

4. 在编译程序中,语法分析分为自顶向下分析和自底向上分析两类,_____ 和LL(1)分析法 属于自顶向下分析; a. 深度分析法 b. 宽度优先分析法 c. 算符优先分析法 d. 递归下降子程序分析法

5. 自底向上语法分析采用____ 分析法,常用的是自底向上语法分析有算符优先分析法和LR 分析法。 a. 递归 b. 回溯 c. 枚举 d. 移进-归约

6. 一个LR(k)文法,无论k取多大,____。 a. 都是无二义性的;b. 都是二义性的;c. 一部分是二义性的;d. 无法判定二义性;

7. 在编译程序中,语法分析分为自顶向下分析和自底向上分析两类,____和LR分析法属于 自底向上分析。 a. 深度分析法 b. 宽度优先分析法 c. 算符优先分析法 d. 递归下降子程序分析法

8. 在编译程序中,语法分析分为自顶向下分析和自底向上分析两类,自顶向下分析试图为 输入符号串构造一个____; a. 语法树 b. 有向无环图 c. 最左推导 d. 最右推导

9. 在编译程序中,语法分析分为自顶向下分析和自底向上分析两类,自底向上分析试图为 输入符号串构造一个____ 。 a. 语法树 b. 有向无环图 c. 最左推导 d. 最右推导

10. 采用自顶向下分析方法时,要求文法中不含有____。