📜  门| GATE CS 2018 |简体中文第65章

📅  最后修改于: 2021-06-29 01:39:21             🧑  作者: Mango

词法分析器使用以下模式来识别字母{a,b,c}上的三个标记T 1 ,T 2和T 3

T 1 :a?(b∣c)* a
T 2 :b?(a∣c)* b
T 3 :c?(b∣a)* c

请注意,“ x?”表示符号x出现0或1。还要注意,分析器输出与可能的最长前缀匹配的令牌。

如果字符串bbaacabc由分析程序处理,则它输出的令牌序列是以下哪一项?

(A) T 1 T 2 T 3
(B) T 1 T 1 T 3
(C) T 2 T 1 T 3
(D) T 3 T 3答案: (D)
说明:符号x出现0或1。 T1:(b + c)* a + a(b + c)* a
T2:(a + c)* b + b(a + c)* b
T3:(b + a)* c + c(b + a)* c

给定字符串:bbaacabc
最长的匹配前缀是“ bbaac(可以由T3生成)
其余部分(在前缀之后)“ abc” (可以由T3生成)

因此,答案是T 3 T 3
这个问题的测验