以下问题已在 GATE CS 2011 考试中提出。
1) 现代语言(如Java )的词法分析在必要和充分意义上需要以下哪一种机器模型的力量?
(A) 有限状态自动机
(B) 确定性下推自动机
(C) 非确定性下推自动机
(D) 图灵机
答案 (A)
词法分析是编译的第一步。在词法分析中,程序被划分为标记。词法分析器通常基于有限状态自动机。令牌通常可以表示为不同的正则表达式:
标识符由 [a-zA-Z][a-zA-Z0-9]* 给出
关键字 if 由 if 给出。
整数由 [+-]?[0-9]+ 给出。
2) 以下哪一对有不同的表达能力?
(A) 确定性有限自动机 (DFA) 和非确定性有限自动机 (NFA)
(B) 确定性下推自动机 (DPDA) 和非确定性下推自动机
(C) 确定性单带图灵机和非确定性单带图灵机
(D) 单带图灵机和多带图灵机
答案 (B)
DPDA 不能处理有歧义的语言或语法,但 NDPDA 可以处理有歧义的语言和任何上下文无关语法。
3) 下面给出了字母 ∑= {a,b} 的确定性有限自动化 (DFA)D
以下哪个有限状态机是有效的最小 DFA,它接受与 D 相同的语言?
答案 (A)
选项 (B) 和 (C) 无效,因为它们都接受 ‘b’ 作为字符串,而 give DFA 不接受该字符串。 D 无效,因为它接受给定 DFA 不接受的 bb+a。
请参阅 GATE Corner 了解所有往年论文/解决方案/解释、教学大纲、重要日期、笔记等。